From e8deafd4fd595b5ff8ad267618e7fd75d37d91d1 Mon Sep 17 00:00:00 2001 From: Chris Alderson Date: Wed, 27 Dec 2017 21:34:00 +0100 Subject: [PATCH] feat(initial-release): Initial relase for npm registery --- .babelrc | 49 + .codeclimate.yml | 19 + .editorconfig | 15 + .esdoc.json | 49 + .eslintrc.js | 3 + .flowconfig | 22 + .github/ISSUE_TEMPLATE.md | 17 + .github/PULL_REQUEST_TEMPLATE.md | 7 + .gitignore | 42 + .nycrc | 10 + .travis.yml | 51 + CODE_OF_CONDUCT.md | 74 + CONTRIBUTING.md | 154 + LICENSE.txt | 22 + README.md | 119 + appveyor.yml | 39 + docs/ast/source/.external-ecmascript.js.json | 2802 +++ docs/ast/source/Context.js.json | 2920 +++ docs/ast/source/Cron.js.json | 5217 +++++ docs/ast/source/PopApiScraper.js.json | 19236 ++++++++++++++++ .../source/http/AbstractHttpService.js.json | 15103 ++++++++++++ docs/ast/source/http/HttpService.js.json | 11562 ++++++++++ docs/ast/source/http/IHttpService.js.json | 9138 ++++++++ docs/ast/source/http/index.js.json | 647 + docs/ast/source/index.js.json | 933 + .../source/providers/AbstractProvider.js.json | 5695 +++++ docs/ast/source/providers/IProvider.js.json | 2436 ++ docs/ast/source/providers/index.js.json | 470 + docs/badge.svg | 17 + docs/class/src/Context.js~Context.html | 406 + docs/class/src/Cron.js~Cron.html | 457 + .../src/PopApiScraper.js~PopApiScraper.html | 1207 + ...actHttpService.js~AbstractHttpService.html | 1417 ++ .../src/http/HttpService.js~HttpService.html | 855 + .../http/IHttpService.js~IHttpService.html | 1077 + .../AbstractProvider.js~AbstractProvider.html | 640 + .../src/providers/IProvider.js~IProvider.html | 352 + docs/coverage.json | 47 + docs/css/github.css | 83 + docs/css/identifiers.css | 37 + docs/css/manual.css | 134 + docs/css/prettify-tomorrow.css | 132 + docs/css/search.css | 84 + docs/css/source.css | 55 + docs/css/style.css | 608 + docs/css/test.css | 58 + docs/file/src/Context.js.html | 100 + docs/file/src/Cron.js.html | 115 + docs/file/src/PopApiScraper.js.html | 230 + .../file/src/http/AbstractHttpService.js.html | 222 + docs/file/src/http/HttpService.js.html | 142 + docs/file/src/http/IHttpService.js.html | 180 + docs/file/src/http/index.js.html | 66 + docs/file/src/index.js.html | 68 + .../src/providers/AbstractProvider.js.html | 142 + docs/file/src/providers/IProvider.js.html | 94 + docs/file/src/providers/index.js.html | 65 + docs/identifiers.html | 362 + docs/image/badge.svg | 17 + docs/image/brand_logo.png | Bin 0 -> 44570 bytes docs/image/esdoc-logo-mini-black.png | Bin 0 -> 5651 bytes docs/image/esdoc-logo-mini.png | Bin 0 -> 6504 bytes docs/image/github.png | Bin 0 -> 4268 bytes docs/image/manual-badge.svg | 17 + docs/image/search.png | Bin 0 -> 12704 bytes docs/index.html | 158 + docs/index.json | 3542 +++ docs/lint.json | 1 + docs/manual/CHANGELOG.html | 98 + docs/manual/CODE_OF_CONDUCT.html | 155 + docs/manual/CONTRIBUTING.html | 228 + docs/manual/index.html | 497 + docs/manual/middleware.html | 148 + docs/manual/usage.html | 174 + docs/script/inherited-summary.js | 28 + docs/script/inner-link.js | 32 + docs/script/manual.js | 12 + docs/script/patch-for-local.js | 8 + docs/script/prettify/Apache-License-2.0.txt | 202 + docs/script/prettify/prettify.js | 46 + docs/script/pretty-print.js | 25 + docs/script/search.js | 117 + docs/script/search_index.js | 974 + docs/script/test-summary.js | 54 + docs/source.html | 164 + docs/test-file/test/Context.spec.js.html | 104 + docs/test-file/test/Cron.spec.js.html | 138 + .../test-file/test/PopApiScraper.spec.js.html | 218 + .../http/AbstractHttpService.spec.js.html | 174 + .../test/http/HttpService.spec.js.html | 156 + .../test/http/IHttpService.spec.js.html | 119 + .../providers/AbstractProvider.spec.js.html | 86 + .../test/providers/IProvider.spec.js.html | 97 + docs/test.html | 332 + examples/ExampleProvider.js | 44 + examples/exampleSetup.js | 43 + flow-typed/pop-api-scraper_vx.x.x.js | 0 logo.png | Bin 0 -> 44570 bytes manual/middleware.md | 60 + manual/usage.md | 84 + package-lock.json | 10244 ++++++++ package.json | 87 + rollup.config.js | 36 + src/Context.js | 38 + src/Cron.js | 53 + src/PopApiScraper.js | 168 + src/http/AbstractHttpService.js | 160 + src/http/HttpService.js | 80 + src/http/IHttpService.js | 118 + src/http/index.js | 4 + src/index.js | 6 + src/providers/AbstractProvider.js | 80 + src/providers/IProvider.js | 32 + src/providers/index.js | 3 + test/Context.spec.js | 42 + test/Cron.spec.js | 76 + test/PopApiScraper.spec.js | 156 + test/http/AbstractHttpService.spec.js | 112 + test/http/HttpService.spec.js | 94 + test/http/IHttpService.spec.js | 57 + test/providers/AbstractProvider.spec.js | 24 + test/providers/IProvider.spec.js | 35 + 122 files changed, 106360 insertions(+) create mode 100644 .babelrc create mode 100644 .codeclimate.yml create mode 100644 .editorconfig create mode 100644 .esdoc.json create mode 100644 .eslintrc.js create mode 100644 .flowconfig create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .gitignore create mode 100644 .nycrc create mode 100644 .travis.yml create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 appveyor.yml create mode 100644 docs/ast/source/.external-ecmascript.js.json create mode 100644 docs/ast/source/Context.js.json create mode 100644 docs/ast/source/Cron.js.json create mode 100644 docs/ast/source/PopApiScraper.js.json create mode 100644 docs/ast/source/http/AbstractHttpService.js.json create mode 100644 docs/ast/source/http/HttpService.js.json create mode 100644 docs/ast/source/http/IHttpService.js.json create mode 100644 docs/ast/source/http/index.js.json create mode 100644 docs/ast/source/index.js.json create mode 100644 docs/ast/source/providers/AbstractProvider.js.json create mode 100644 docs/ast/source/providers/IProvider.js.json create mode 100644 docs/ast/source/providers/index.js.json create mode 100644 docs/badge.svg create mode 100644 docs/class/src/Context.js~Context.html create mode 100644 docs/class/src/Cron.js~Cron.html create mode 100644 docs/class/src/PopApiScraper.js~PopApiScraper.html create mode 100644 docs/class/src/http/AbstractHttpService.js~AbstractHttpService.html create mode 100644 docs/class/src/http/HttpService.js~HttpService.html create mode 100644 docs/class/src/http/IHttpService.js~IHttpService.html create mode 100644 docs/class/src/providers/AbstractProvider.js~AbstractProvider.html create mode 100644 docs/class/src/providers/IProvider.js~IProvider.html create mode 100644 docs/coverage.json create mode 100644 docs/css/github.css create mode 100644 docs/css/identifiers.css create mode 100644 docs/css/manual.css create mode 100644 docs/css/prettify-tomorrow.css create mode 100644 docs/css/search.css create mode 100644 docs/css/source.css create mode 100644 docs/css/style.css create mode 100644 docs/css/test.css create mode 100644 docs/file/src/Context.js.html create mode 100644 docs/file/src/Cron.js.html create mode 100644 docs/file/src/PopApiScraper.js.html create mode 100644 docs/file/src/http/AbstractHttpService.js.html create mode 100644 docs/file/src/http/HttpService.js.html create mode 100644 docs/file/src/http/IHttpService.js.html create mode 100644 docs/file/src/http/index.js.html create mode 100644 docs/file/src/index.js.html create mode 100644 docs/file/src/providers/AbstractProvider.js.html create mode 100644 docs/file/src/providers/IProvider.js.html create mode 100644 docs/file/src/providers/index.js.html create mode 100644 docs/identifiers.html create mode 100644 docs/image/badge.svg create mode 100644 docs/image/brand_logo.png create mode 100644 docs/image/esdoc-logo-mini-black.png create mode 100644 docs/image/esdoc-logo-mini.png create mode 100644 docs/image/github.png create mode 100644 docs/image/manual-badge.svg create mode 100644 docs/image/search.png create mode 100644 docs/index.html create mode 100644 docs/index.json create mode 100644 docs/lint.json create mode 100644 docs/manual/CHANGELOG.html create mode 100644 docs/manual/CODE_OF_CONDUCT.html create mode 100644 docs/manual/CONTRIBUTING.html create mode 100644 docs/manual/index.html create mode 100644 docs/manual/middleware.html create mode 100644 docs/manual/usage.html create mode 100644 docs/script/inherited-summary.js create mode 100644 docs/script/inner-link.js create mode 100644 docs/script/manual.js create mode 100644 docs/script/patch-for-local.js create mode 100644 docs/script/prettify/Apache-License-2.0.txt create mode 100755 docs/script/prettify/prettify.js create mode 100644 docs/script/pretty-print.js create mode 100644 docs/script/search.js create mode 100644 docs/script/search_index.js create mode 100644 docs/script/test-summary.js create mode 100644 docs/source.html create mode 100644 docs/test-file/test/Context.spec.js.html create mode 100644 docs/test-file/test/Cron.spec.js.html create mode 100644 docs/test-file/test/PopApiScraper.spec.js.html create mode 100644 docs/test-file/test/http/AbstractHttpService.spec.js.html create mode 100644 docs/test-file/test/http/HttpService.spec.js.html create mode 100644 docs/test-file/test/http/IHttpService.spec.js.html create mode 100644 docs/test-file/test/providers/AbstractProvider.spec.js.html create mode 100644 docs/test-file/test/providers/IProvider.spec.js.html create mode 100644 docs/test.html create mode 100644 examples/ExampleProvider.js create mode 100644 examples/exampleSetup.js create mode 100644 flow-typed/pop-api-scraper_vx.x.x.js create mode 100644 logo.png create mode 100644 manual/middleware.md create mode 100644 manual/usage.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 rollup.config.js create mode 100644 src/Context.js create mode 100644 src/Cron.js create mode 100644 src/PopApiScraper.js create mode 100644 src/http/AbstractHttpService.js create mode 100644 src/http/HttpService.js create mode 100644 src/http/IHttpService.js create mode 100644 src/http/index.js create mode 100644 src/index.js create mode 100644 src/providers/AbstractProvider.js create mode 100644 src/providers/IProvider.js create mode 100644 src/providers/index.js create mode 100644 test/Context.spec.js create mode 100644 test/Cron.spec.js create mode 100644 test/PopApiScraper.spec.js create mode 100644 test/http/AbstractHttpService.spec.js create mode 100644 test/http/HttpService.spec.js create mode 100644 test/http/IHttpService.spec.js create mode 100644 test/providers/AbstractProvider.spec.js create mode 100644 test/providers/IProvider.spec.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..68030d4 --- /dev/null +++ b/.babelrc @@ -0,0 +1,49 @@ +{ + "plugins": [ + "transform-class-properties", + "transform-export-extensions", + ["transform-object-rest-spread", { + "useBuiltIns": true + }], + "transform-strict-mode" + ], + "presets": ["flow"], + "env": { + "development": { + "presets": [ + ["env", { + "targets": { + "node": "7.10.1" + } + }] + ] + }, + "production": { + "plugins": [ + "external-helpers", + "transform-class-properties" + ], + "presets": [ + ["env", { + "targets": { + "node": "7.10.1" + }, + "modules": false + }] + ] + }, + "test": { + "plugins": [ + "istanbul", + "transform-class-properties" + ], + "presets": [ + ["env", { + "targets": { + "node": "7.10.1" + } + }] + ] + } + } +} diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 0000000..a5a894e --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,19 @@ +engines: + duplication: + enabled: true + config: + languages: + - javascript + eslint: + enabled: true + fixme: + enabled: true +ratings: + paths: + - src/**.js + - test/**.js + - "**.js" +exclude_paths: + - "examples/**/*" + - "node_modules/**/*" + - "test/**/*" diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4f4d652 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +charset = utf-8 + +[*.js] +indent_style = space +indent_size = 2 + +[{package.json,*.yml,*.cjson}] +indent_style = space +indent_size = 2 diff --git a/.esdoc.json b/.esdoc.json new file mode 100644 index 0000000..42209ed --- /dev/null +++ b/.esdoc.json @@ -0,0 +1,49 @@ +{ + "source": "./src", + "destination": "./docs", + "includes": [".js$"], + "excludes": ["(node_modules|docs|coverage)"], + "package": "./package.json", + "plugins": [{ + "name": "esdoc-standard-plugin", + "option": { + "brand": { + "logo": "./logo.png", + "title": "pop-api-scraper", + "description": "The base modules for the popcorn-api scraper", + "repository": "https://github.com/popcorn-official/pop-api-scraper", + "site": "https://popcorntime.sh", + "author": "https://twitter.com/popcorntimetv", + "image": "https://avatars2.githubusercontent.com/u/7267937" + }, + "manual": { + "index": "./README.md", + "globalIndex": false, + "coverage": true, + "files": [ + "./manual/usage.md", + "./manual/middleware.md", + "./CHANGELOG.md", + "./CONTRIBUTING.md", + "./CODE_OF_CONDUCT.md" + ] + }, + "test": { + "source": "./test/", + "interfaces": ["describe", "it", "context", "suite", "test"], + "includes": ["(spec|Spec|test|Test)\\.js$"], + "excludes": ["\\.config\\.js$"] + } + } + }, { + "name": "esdoc-ecmascript-proposal-plugin", + "option": { + "all": true + } + }, { + "name": "esdoc-flow-type-plugin", + "option": { + "enable": true + } + }] +} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..e43eb4f --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: 'vixo' +} diff --git a/.flowconfig b/.flowconfig new file mode 100644 index 0000000..4db02b9 --- /dev/null +++ b/.flowconfig @@ -0,0 +1,22 @@ +[ignore] +/build/.* +/coverage/.* +/docs/.* +/flow-typed/.* +/manual/.* +/node_modules/.* + +[include] +./coverage.js +./examples/.* +./src/.* +./test/.* + +[libs] + +[options] +experimental.const_params=true +include_warnings=true +munge_underscores=true +unsafe.enable_getters_and_setters=true +suppress_comment= \\(.\\|\n\\)*\\flow-ignore diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..f8b8ed9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,17 @@ +## Expected Behavior + + +## Actual Behavior + + +## Steps to Reproduce the Problem + + 1. + 1. + 1. + +## Specifications + + - Version: + - Platform: + - Subsystem: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..4030f6f --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,7 @@ +Fixes # + +## Proposed Changes + + - + - + - diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e0eabb --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +### Node template +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git +node_modules + +# Imported flow-typed +flow-typed/npm/* + +# Temporary directory +tmp + +# Files generated by 'npm pack' +*.tgz + +# Transpiled code +build diff --git a/.nycrc b/.nycrc new file mode 100644 index 0000000..22ec163 --- /dev/null +++ b/.nycrc @@ -0,0 +1,10 @@ +{ + "require": [ + "babel-register" + ], + "include": [ + "src" + ], + "sourceMap": false, + "instrument": false +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..093ada6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,51 @@ +sudo: required + +dist: trusty + +language: node_js + +cache: + directories: + - node_modules + - flow-typed + +env: + matrix: + - NODE_ENV=test + +git: + submodules: false + +jobs: + include: + - stage: prepare cache + node_js: '9' + before_script: + - npm i -g flow-typed + - npm i --no-save pop-api + - flow-typed install + script: + - npm run lint + - npm run flow + - stage: test + node_js: '7' + script: npm run test + - stage: test + node_js: '8' + script: npm run test + after_success: npm run coveralls + - stage: test + node_js: '9' + script: npm run test + - stage: build + node_js: '9' + script: npm run build + - stage: docs + node_js: '9' + script: npm run docs + +notifications: + email: + recipients: + - chrisalderson@protonmail.com + on_failure: always diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9979f85 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + + - [Our Pledge](#our-pledge) + - [Our Standards](#our-standards) + - [Our Responsibilities](#our-responsibilities) + - [Scope](#scope) + - [Enforcement](#enforcement) + - [Attribution](#attribution) + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, +body size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual +identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + - Using welcoming and inclusive language + - Being respectful of differing viewpoints and experiences + - Gracefully accepting constructive criticism + - Focusing on what is best for the community + - Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + - The use of sexualized language or imagery and unwelcome sexual attention or advances + - Trolling, insulting/derogatory comments, and personal or political attacks + - Public or private harassment + - Publishing others' private information, such as a physical or electronic address, without explicit permission + - Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an +appointed representative at an online or offline event. Representation of a +project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at `hello@popcorntime.sh`. The +project team will review and investigate all complaints, and will respond in a +way that it deems appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an +incident. Further details of specific enforcement policies may be posted +separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at http://contributor-covenant.org/version/1/4 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2fca8aa --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,154 @@ +# Contributing + +So you're interested in giving us a hand? That's awesome! We've put together +some brief guidelines that should help you get started quickly and easily. + +There are lots and lots of ways to get involved, this document covers: + - [Raising Issues](#raising-issues) + - [Report A Bug](#report-a-bug) + - [Feature Requests](#feature-requests) + - [Pull Requests](#pull-requests) + - [Commit Messages](#commit-messages) + - [Styleguides](#styleguides) + - [JavaScript Styleguide](#javascript-styleguide) + - [Tests Styleguide](#tests-styleguide) + - [Documentation Styleguide](#documentation-styleguide) + - [Setting up for development](#setting-up-for-development) + - [npm scripts](#npm-scripts) + - [Git hooks](#git-hooks) + +## Raising Issues + +If you're about to raise an issue because you think that you've found a problem +with the application, or you'd like to make a request for a new feature in the +codebase, or any other reason… please read this first. + +The GitHub issue tracker is the preferred channel for +[bug reports](#report-a-bug), [feature requests](#feature-requests), and +[pull requests](#pull-requests) but respect the following restrictions: + +* Please **do not** use the issue tracker for personal support requests. +* Please **do not** derail or troll issues. Keep the discussion on topic and +respect the opinions of others. + +### Report A Bug + +A bug is a _demonstrable problem_ that is caused by the code in the repository. +Good bug reports are extremely helpful - thank you! + +Guidelines for bug reports: +1. **Use the GitHub issue search** — check if the issue has already been +reported. +2. **Check if the issue has been fixed** — try to reproduce it using the +latest `master` or look for [closed issues](https://github.com/popcorn-official/pop-api-scraper/issues?q=is%3Aissue+is%3Aclosed). +3. **Include a screencast if relevant** - Is your issue about a design or front +end feature or bug? The most helpful thing in the world is if we can *see* what +you're talking about. Just drop the picture after writing your issue, it'll be +uploaded and shown to the developers. +3. Use the Issue tab on GitHub to start [creating a bug report](https://github.com/popcorn-official/pop-api-scraper/issues/new). +A good bug report shouldn't leave others needing to chase you up for more +information. Be sure to include all the possible required details and the steps +to take to reproduce the issue. + +### Feature Requests + +Feature requests are welcome. Before you submit one be sure to: +1. **Use the [GitHub Issues search](https://github.com/popcorn-official/pop-api-scraper/issues)** +and check the feature hasn't already been requested. +2. Take a moment to think about whether your idea fits with the scope and aims +of the project, or if it might better fit being an app/plugin. +3. Remember, it's up to *you* to make a strong case to convince the project's +leaders of the merits of this feature. Please provide as much detail and +context as possible, this means explaining the use case and why it is likely to +be common. +4. Clearly indicate whether this is a feature request for the application +itself, or for packages like Providers, Metadatas, or other. + +### Pull Requests + +Pull requests are awesome. If you're looking to raise a PR for something which +doesn't have an open issue, please think carefully about +[raising an issue](#report-a-bug) which your PR can close, especially if you're +fixing a bug. This makes it more likely that there will be enough information +available for your PR to be properly tested and merged. To make sure your PR is +accepted as quickly as possible, you should be sure to have read all the +guidelines on: + +* [Commit Messages](#commit-messages) +* [Stylesguides](#styleguides) + +## Commit Messages + +This project uses the [Conventional Commits](https://conventionalcommits.org/) +convention. If you are not familiar with this convention please read about it +first before creating a commit message or a PR. + +## Styleguides + +### JavaScript Styleguide + +All JavaScript must adhere to [JavaScript Standard Style](http://standardjs.com/). + +* Inline `export`s with expressions whenever possible + ```js + // Use this: + export default class ClassName { + + } + + // Instead of: + class ClassName { + + } + export default ClassName + ``` + +### Tests Styleguide + +- Include thoughtfully-worded, well-structured [Mocha](https://mochajs.org/) tests in the `./test` folder. +- Treat `describe` as a noun or situation. +- Treat `it` as a statement about state or how an operation changes state. + +### Documentation Styleguide + + * Use [Markdown](https://daringfireball.net/projects/markdown). + * Reference methods and classes in markdown with the custom `{}` notation: + * Reference classes with `{ClassName}` + * Reference instance methods with `{ClassName.methodName}` + * Reference class methods with `{ClassName#methodName}` + +## Setting up for development + +To setup your local machine to start working on the project you can follow these +steps: + +1. Install [NodeJS](https://nodejs.org/) (at least Node v7.10.1 or greater) +2. Clone the repository with: `git clone https://github.com/popcorn-official/pop-api-scraper.git` +3. Install dependencies `npm i` +4. Install the flow-typed libraries with `npm run flow-typed` + +### npm scripts + +The following [`npm-scripts`](https://docs.npmjs.com/misc/scripts) are available in order to help you with the +development of the project. + +``` + $ npm run build # Transform the code with 'babel' + $ npm run docs # Generate the documentation with 'esdoc' + $ npm run debug # Run the applicaiton in debug mode + $ npm run dev # Run the application in development mode + $ npm run flow # Check flow typings + $ npm run lint # Check javascript style + $ npm run test # Run unit tests +``` + +### Git hooks + +The following `git` hooks are available to ensure the changes you are about to +make follow the [styleguides](#styleguides) and make sure your changes pass the +tests. + +``` +pre-commit # npm run lint && npm run flow +pre-push # npm run test +``` diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..7573856 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2017 - pop-api-scraper - Released under the +[MIT license](LICENSE.txt). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..029cfe7 --- /dev/null +++ b/README.md @@ -0,0 +1,119 @@ +# pop-api-scraper + +[![Build Status](https://travis-ci.org/popcorn-official/pop-api-scraper.svg?branch=master)](https://travis-ci.org/popcorn-official/pop-api-scraper) +[![Windows Build](https://img.shields.io/appveyor/ci/ChrisAlderson/pop-api-scraper/master.svg?label=windows)](https://ci.appveyor.com/project/ChrisAlderson/pop-api-scraper) +[![Coverage Status](https://coveralls.io/repos/github/popcorn-official/pop-api-scraper/badge.svg?branch=master)](https://coveralls.io/github/popcorn-official/pop-api-scraper?branch=master) +[![Dependency Status](https://david-dm.org/popcorn-official/pop-api-scraper.svg)](https://david-dm.org/popcorn-official/pop-api-scraper) +[![devDependencies Status](https://david-dm.org/popcorn-official/pop-api-scraper/dev-status.svg)](https://david-dm.org/popcorn-official/pop-api-scraper?type=dev) + +## Features + +The pop-api-scraper project aims to provide the core modules for the +[`popcorn-api`](https://github.com/popcorn-official/popcorn-api) scraper, but +can also be used for other purposes by using middleware. + - Strategy pattern with providers + - Cronjobs + - Scraper wrapper class + - HttpService with [`got`](https://github.com/sindresorhus/got) + +## Installation + +``` + $ npm install --save pop-api-scraper pop-api +``` + +## Documentation + + - [General documentation](https://popcorn-official.github.io/pop-api-scraper/manual/index.html) + - [Api docs](https://popcorn-official.github.io/pop-api-scraper/identifiers.html) + - [Usage](https://popcorn-official.github.io/pop-api-scraper/manual/usage.html) + - [Middleware](https://popcorn-official.github.io/pop-api-scraper/manual/middleware.html) + +## Usage + +For the basic setup you need to create a `Provider` (strategy) the +`PopApiScraper` instance can use. The `PopApiScraper` implements the strategy +pattern, where the providers are the strategies. + +The example below makes a HTTP GET request to a web service or website. from +there on you are free to implement how and what data you want to get from it. + +```js +// ./ExampleProvider.js +import { AbstractProvider, HttpService } from 'pop-api-scraper' + +// Extend from the internal AbstractProvider. +export default class ExampleProvider extends AbstractProvider { + + constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) { + super(PopApiScraper, {name, configs, maxWebRequests}) + } + + // Override the `scrapeConfig` method to get the content from one + // configuration. + scrapeConfig(config) { + // A HTTP service to send HTTP requests. + this.httpService = new HttpService({ + baseUrl: config.baseUrl + }) + + // HTTP GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar + return this.httpService.get('/posts', config.httpOptions) + .then(res => res.data) + } + +} +``` + +Bundle it all up together with +[`pop-api`](https://github.com/popcorn-official/pop-api): + +```js +// ./index.js +import os from 'os' +import { PopApi } from 'pop-api' +import { join } from 'path' +import { Cron, PopApiScraper } from 'pop-api-scraper' + +import ExampleProvider from './ExampleProvider' + +(async () => { + try { + // Let the PopApiScraper use the ExampleProvider o scrape data. + PopApiScraper.use(ExampleProvider, { + name: 'example-provider', + configs: [{ + baseUrl: 'https://jsonplaceholder.typicode.com', + httpOptions: { + query: { + foo: 'bar' + } + } + }], + maxWebRequests: 2 + }) + + // Register the PopApiScraper middleware to the pop-api instance. + PopApi.use(PopApiScraper, { + statusPath: join(...[os.tmpdir(), 'status.json']), + updatedPath: join(...[os.tmpdir(), 'updated.json']) + }) + // Optionally you can use the Cron middleware to scrape for content on a + // regulat basis. + PopApi.use(Cron, { + cronTime: '0 0 */6 * * *', + start: false + }) + + // PopApi now has a `scraper` instance. + const res = await PopApi.scraper.scrape() + console.info(res[0]) + } catch (err) { + console.error(err) + } +})() +``` + +## License + +MIT License diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..080d27d --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,39 @@ +version: "{build}" + +environment: + matrix: + - nodejs_version: 7 + - nodejs_version: 8 + - nodejs_version: 9 + +matrix: + fast_finish: true + +cache: + - node_modules + - flow-typed + +platform: x64 + +install: + - ps: Install-Product node $env:nodejs_version $env:platform + - npm i + - npm i --no-save pop-api + - npm run flow-typed + +build_script: + - npm run build + +test_script: + - npm run lint + - npm run flow -- check + - npm run test + +after_test: + - npm run docs + +artifacts: + - path: build + - path: coverage\lcov-report + name: coverage + - path: docs diff --git a/docs/ast/source/.external-ecmascript.js.json b/docs/ast/source/.external-ecmascript.js.json new file mode 100644 index 0000000..21893b9 --- /dev/null +++ b/docs/ast/source/.external-ecmascript.js.json @@ -0,0 +1,2802 @@ +{ + "type": "File", + "start": 0, + "end": 6058, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 193, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 6058, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 193, + "column": 0 + } + }, + "sourceType": "module", + "body": [], + "directives": [], + "leadingComments": null, + "innerComments": [ + { + "type": "CommentLine", + "value": " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects", + "start": 0, + "end": 83, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 83 + } + } + }, + { + "type": "CommentLine", + "value": " Value properties", + "start": 85, + "end": 104, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 19 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n ", + "start": 105, + "end": 226, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 6, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n ", + "start": 228, + "end": 339, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 10, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n ", + "start": 341, + "end": 464, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 14, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\n ", + "start": 466, + "end": 579, + "loc": { + "start": { + "line": 16, + "column": 0 + }, + "end": { + "line": 18, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Fundamental objects", + "start": 581, + "end": 603, + "loc": { + "start": { + "line": 20, + "column": 0 + }, + "end": { + "line": 20, + "column": 22 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", + "start": 604, + "end": 721, + "loc": { + "start": { + "line": 21, + "column": 0 + }, + "end": { + "line": 23, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", + "start": 722, + "end": 839, + "loc": { + "start": { + "line": 24, + "column": 0 + }, + "end": { + "line": 26, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", + "start": 841, + "end": 962, + "loc": { + "start": { + "line": 28, + "column": 0 + }, + "end": { + "line": 30, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", + "start": 963, + "end": 1084, + "loc": { + "start": { + "line": 31, + "column": 0 + }, + "end": { + "line": 33, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", + "start": 1086, + "end": 1205, + "loc": { + "start": { + "line": 35, + "column": 0 + }, + "end": { + "line": 37, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", + "start": 1206, + "end": 1325, + "loc": { + "start": { + "line": 38, + "column": 0 + }, + "end": { + "line": 40, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\n ", + "start": 1327, + "end": 1444, + "loc": { + "start": { + "line": 42, + "column": 0 + }, + "end": { + "line": 44, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n ", + "start": 1446, + "end": 1561, + "loc": { + "start": { + "line": 46, + "column": 0 + }, + "end": { + "line": 48, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n ", + "start": 1563, + "end": 1686, + "loc": { + "start": { + "line": 50, + "column": 0 + }, + "end": { + "line": 52, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\n ", + "start": 1688, + "end": 1819, + "loc": { + "start": { + "line": 54, + "column": 0 + }, + "end": { + "line": 56, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n ", + "start": 1821, + "end": 1946, + "loc": { + "start": { + "line": 58, + "column": 0 + }, + "end": { + "line": 60, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n ", + "start": 1948, + "end": 2081, + "loc": { + "start": { + "line": 62, + "column": 0 + }, + "end": { + "line": 64, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n ", + "start": 2083, + "end": 2210, + "loc": { + "start": { + "line": 66, + "column": 0 + }, + "end": { + "line": 68, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n ", + "start": 2212, + "end": 2335, + "loc": { + "start": { + "line": 70, + "column": 0 + }, + "end": { + "line": 72, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n ", + "start": 2337, + "end": 2458, + "loc": { + "start": { + "line": 74, + "column": 0 + }, + "end": { + "line": 76, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Numbers and dates", + "start": 2460, + "end": 2480, + "loc": { + "start": { + "line": 78, + "column": 0 + }, + "end": { + "line": 78, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", + "start": 2481, + "end": 2598, + "loc": { + "start": { + "line": 79, + "column": 0 + }, + "end": { + "line": 81, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", + "start": 2599, + "end": 2716, + "loc": { + "start": { + "line": 82, + "column": 0 + }, + "end": { + "line": 84, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n ", + "start": 2718, + "end": 2831, + "loc": { + "start": { + "line": 86, + "column": 0 + }, + "end": { + "line": 88, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Text processing", + "start": 2833, + "end": 2851, + "loc": { + "start": { + "line": 90, + "column": 0 + }, + "end": { + "line": 90, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", + "start": 2852, + "end": 2969, + "loc": { + "start": { + "line": 91, + "column": 0 + }, + "end": { + "line": 93, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", + "start": 2970, + "end": 3087, + "loc": { + "start": { + "line": 94, + "column": 0 + }, + "end": { + "line": 96, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n ", + "start": 3089, + "end": 3206, + "loc": { + "start": { + "line": 98, + "column": 0 + }, + "end": { + "line": 100, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Indexed collections", + "start": 3208, + "end": 3230, + "loc": { + "start": { + "line": 102, + "column": 0 + }, + "end": { + "line": 102, + "column": 22 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n ", + "start": 3231, + "end": 3346, + "loc": { + "start": { + "line": 103, + "column": 0 + }, + "end": { + "line": 105, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\n ", + "start": 3348, + "end": 3471, + "loc": { + "start": { + "line": 107, + "column": 0 + }, + "end": { + "line": 109, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\n ", + "start": 3472, + "end": 3597, + "loc": { + "start": { + "line": 110, + "column": 0 + }, + "end": { + "line": 112, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\n ", + "start": 3599, + "end": 3738, + "loc": { + "start": { + "line": 114, + "column": 0 + }, + "end": { + "line": 116, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\n ", + "start": 3740, + "end": 3865, + "loc": { + "start": { + "line": 118, + "column": 0 + }, + "end": { + "line": 120, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\n ", + "start": 3867, + "end": 3994, + "loc": { + "start": { + "line": 122, + "column": 0 + }, + "end": { + "line": 124, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\n ", + "start": 3996, + "end": 4121, + "loc": { + "start": { + "line": 126, + "column": 0 + }, + "end": { + "line": 128, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\n ", + "start": 4123, + "end": 4250, + "loc": { + "start": { + "line": 130, + "column": 0 + }, + "end": { + "line": 132, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\n ", + "start": 4252, + "end": 4381, + "loc": { + "start": { + "line": 134, + "column": 0 + }, + "end": { + "line": 136, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\n ", + "start": 4383, + "end": 4512, + "loc": { + "start": { + "line": 138, + "column": 0 + }, + "end": { + "line": 140, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Keyed collections", + "start": 4514, + "end": 4534, + "loc": { + "start": { + "line": 142, + "column": 0 + }, + "end": { + "line": 142, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n ", + "start": 4535, + "end": 4646, + "loc": { + "start": { + "line": 143, + "column": 0 + }, + "end": { + "line": 145, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n ", + "start": 4648, + "end": 4759, + "loc": { + "start": { + "line": 147, + "column": 0 + }, + "end": { + "line": 149, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n ", + "start": 4761, + "end": 4880, + "loc": { + "start": { + "line": 151, + "column": 0 + }, + "end": { + "line": 153, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\n ", + "start": 4882, + "end": 5001, + "loc": { + "start": { + "line": 155, + "column": 0 + }, + "end": { + "line": 157, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Structured data", + "start": 5003, + "end": 5021, + "loc": { + "start": { + "line": 159, + "column": 0 + }, + "end": { + "line": 159, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n ", + "start": 5022, + "end": 5149, + "loc": { + "start": { + "line": 160, + "column": 0 + }, + "end": { + "line": 162, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n ", + "start": 5151, + "end": 5272, + "loc": { + "start": { + "line": 164, + "column": 0 + }, + "end": { + "line": 166, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\n ", + "start": 5274, + "end": 5387, + "loc": { + "start": { + "line": 168, + "column": 0 + }, + "end": { + "line": 170, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Control abstraction objects", + "start": 5389, + "end": 5419, + "loc": { + "start": { + "line": 172, + "column": 0 + }, + "end": { + "line": 172, + "column": 30 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n ", + "start": 5420, + "end": 5539, + "loc": { + "start": { + "line": 173, + "column": 0 + }, + "end": { + "line": 175, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n ", + "start": 5541, + "end": 5664, + "loc": { + "start": { + "line": 177, + "column": 0 + }, + "end": { + "line": 179, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\n ", + "start": 5666, + "end": 5805, + "loc": { + "start": { + "line": 181, + "column": 0 + }, + "end": { + "line": 183, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Reflection", + "start": 5807, + "end": 5820, + "loc": { + "start": { + "line": 185, + "column": 0 + }, + "end": { + "line": 185, + "column": 13 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n ", + "start": 5821, + "end": 5940, + "loc": { + "start": { + "line": 186, + "column": 0 + }, + "end": { + "line": 188, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\n ", + "start": 5942, + "end": 6057, + "loc": { + "start": { + "line": 190, + "column": 0 + }, + "end": { + "line": 192, + "column": 3 + } + } + } + ] + }, + "comments": [ + { + "type": "CommentLine", + "value": " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects", + "start": 0, + "end": 83, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 83 + } + } + }, + { + "type": "CommentLine", + "value": " Value properties", + "start": 85, + "end": 104, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 19 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n ", + "start": 105, + "end": 226, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 6, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n ", + "start": 228, + "end": 339, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 10, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n ", + "start": 341, + "end": 464, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 14, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\n ", + "start": 466, + "end": 579, + "loc": { + "start": { + "line": 16, + "column": 0 + }, + "end": { + "line": 18, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Fundamental objects", + "start": 581, + "end": 603, + "loc": { + "start": { + "line": 20, + "column": 0 + }, + "end": { + "line": 20, + "column": 22 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", + "start": 604, + "end": 721, + "loc": { + "start": { + "line": 21, + "column": 0 + }, + "end": { + "line": 23, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", + "start": 722, + "end": 839, + "loc": { + "start": { + "line": 24, + "column": 0 + }, + "end": { + "line": 26, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", + "start": 841, + "end": 962, + "loc": { + "start": { + "line": 28, + "column": 0 + }, + "end": { + "line": 30, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", + "start": 963, + "end": 1084, + "loc": { + "start": { + "line": 31, + "column": 0 + }, + "end": { + "line": 33, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", + "start": 1086, + "end": 1205, + "loc": { + "start": { + "line": 35, + "column": 0 + }, + "end": { + "line": 37, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", + "start": 1206, + "end": 1325, + "loc": { + "start": { + "line": 38, + "column": 0 + }, + "end": { + "line": 40, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\n ", + "start": 1327, + "end": 1444, + "loc": { + "start": { + "line": 42, + "column": 0 + }, + "end": { + "line": 44, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n ", + "start": 1446, + "end": 1561, + "loc": { + "start": { + "line": 46, + "column": 0 + }, + "end": { + "line": 48, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n ", + "start": 1563, + "end": 1686, + "loc": { + "start": { + "line": 50, + "column": 0 + }, + "end": { + "line": 52, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\n ", + "start": 1688, + "end": 1819, + "loc": { + "start": { + "line": 54, + "column": 0 + }, + "end": { + "line": 56, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n ", + "start": 1821, + "end": 1946, + "loc": { + "start": { + "line": 58, + "column": 0 + }, + "end": { + "line": 60, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n ", + "start": 1948, + "end": 2081, + "loc": { + "start": { + "line": 62, + "column": 0 + }, + "end": { + "line": 64, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n ", + "start": 2083, + "end": 2210, + "loc": { + "start": { + "line": 66, + "column": 0 + }, + "end": { + "line": 68, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n ", + "start": 2212, + "end": 2335, + "loc": { + "start": { + "line": 70, + "column": 0 + }, + "end": { + "line": 72, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n ", + "start": 2337, + "end": 2458, + "loc": { + "start": { + "line": 74, + "column": 0 + }, + "end": { + "line": 76, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Numbers and dates", + "start": 2460, + "end": 2480, + "loc": { + "start": { + "line": 78, + "column": 0 + }, + "end": { + "line": 78, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", + "start": 2481, + "end": 2598, + "loc": { + "start": { + "line": 79, + "column": 0 + }, + "end": { + "line": 81, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", + "start": 2599, + "end": 2716, + "loc": { + "start": { + "line": 82, + "column": 0 + }, + "end": { + "line": 84, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n ", + "start": 2718, + "end": 2831, + "loc": { + "start": { + "line": 86, + "column": 0 + }, + "end": { + "line": 88, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Text processing", + "start": 2833, + "end": 2851, + "loc": { + "start": { + "line": 90, + "column": 0 + }, + "end": { + "line": 90, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", + "start": 2852, + "end": 2969, + "loc": { + "start": { + "line": 91, + "column": 0 + }, + "end": { + "line": 93, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", + "start": 2970, + "end": 3087, + "loc": { + "start": { + "line": 94, + "column": 0 + }, + "end": { + "line": 96, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n ", + "start": 3089, + "end": 3206, + "loc": { + "start": { + "line": 98, + "column": 0 + }, + "end": { + "line": 100, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Indexed collections", + "start": 3208, + "end": 3230, + "loc": { + "start": { + "line": 102, + "column": 0 + }, + "end": { + "line": 102, + "column": 22 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n ", + "start": 3231, + "end": 3346, + "loc": { + "start": { + "line": 103, + "column": 0 + }, + "end": { + "line": 105, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\n ", + "start": 3348, + "end": 3471, + "loc": { + "start": { + "line": 107, + "column": 0 + }, + "end": { + "line": 109, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\n ", + "start": 3472, + "end": 3597, + "loc": { + "start": { + "line": 110, + "column": 0 + }, + "end": { + "line": 112, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\n ", + "start": 3599, + "end": 3738, + "loc": { + "start": { + "line": 114, + "column": 0 + }, + "end": { + "line": 116, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\n ", + "start": 3740, + "end": 3865, + "loc": { + "start": { + "line": 118, + "column": 0 + }, + "end": { + "line": 120, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\n ", + "start": 3867, + "end": 3994, + "loc": { + "start": { + "line": 122, + "column": 0 + }, + "end": { + "line": 124, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\n ", + "start": 3996, + "end": 4121, + "loc": { + "start": { + "line": 126, + "column": 0 + }, + "end": { + "line": 128, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\n ", + "start": 4123, + "end": 4250, + "loc": { + "start": { + "line": 130, + "column": 0 + }, + "end": { + "line": 132, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\n ", + "start": 4252, + "end": 4381, + "loc": { + "start": { + "line": 134, + "column": 0 + }, + "end": { + "line": 136, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\n ", + "start": 4383, + "end": 4512, + "loc": { + "start": { + "line": 138, + "column": 0 + }, + "end": { + "line": 140, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Keyed collections", + "start": 4514, + "end": 4534, + "loc": { + "start": { + "line": 142, + "column": 0 + }, + "end": { + "line": 142, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n ", + "start": 4535, + "end": 4646, + "loc": { + "start": { + "line": 143, + "column": 0 + }, + "end": { + "line": 145, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n ", + "start": 4648, + "end": 4759, + "loc": { + "start": { + "line": 147, + "column": 0 + }, + "end": { + "line": 149, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n ", + "start": 4761, + "end": 4880, + "loc": { + "start": { + "line": 151, + "column": 0 + }, + "end": { + "line": 153, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\n ", + "start": 4882, + "end": 5001, + "loc": { + "start": { + "line": 155, + "column": 0 + }, + "end": { + "line": 157, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Structured data", + "start": 5003, + "end": 5021, + "loc": { + "start": { + "line": 159, + "column": 0 + }, + "end": { + "line": 159, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n ", + "start": 5022, + "end": 5149, + "loc": { + "start": { + "line": 160, + "column": 0 + }, + "end": { + "line": 162, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n ", + "start": 5151, + "end": 5272, + "loc": { + "start": { + "line": 164, + "column": 0 + }, + "end": { + "line": 166, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\n ", + "start": 5274, + "end": 5387, + "loc": { + "start": { + "line": 168, + "column": 0 + }, + "end": { + "line": 170, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Control abstraction objects", + "start": 5389, + "end": 5419, + "loc": { + "start": { + "line": 172, + "column": 0 + }, + "end": { + "line": 172, + "column": 30 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n ", + "start": 5420, + "end": 5539, + "loc": { + "start": { + "line": 173, + "column": 0 + }, + "end": { + "line": 175, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n ", + "start": 5541, + "end": 5664, + "loc": { + "start": { + "line": 177, + "column": 0 + }, + "end": { + "line": 179, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\n ", + "start": 5666, + "end": 5805, + "loc": { + "start": { + "line": 181, + "column": 0 + }, + "end": { + "line": 183, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Reflection", + "start": 5807, + "end": 5820, + "loc": { + "start": { + "line": 185, + "column": 0 + }, + "end": { + "line": 185, + "column": 13 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n ", + "start": 5821, + "end": 5940, + "loc": { + "start": { + "line": 186, + "column": 0 + }, + "end": { + "line": 188, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\n ", + "start": 5942, + "end": 6057, + "loc": { + "start": { + "line": 190, + "column": 0 + }, + "end": { + "line": 192, + "column": 3 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects", + "start": 0, + "end": 83, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 83 + } + } + }, + { + "type": "CommentLine", + "value": " Value properties", + "start": 85, + "end": 104, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 19 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Infinity} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n ", + "start": 105, + "end": 226, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 6, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {NaN} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n ", + "start": 228, + "end": 339, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 10, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {undefined} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n ", + "start": 341, + "end": 464, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 14, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {null} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null\n ", + "start": 466, + "end": 579, + "loc": { + "start": { + "line": 16, + "column": 0 + }, + "end": { + "line": 18, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Fundamental objects", + "start": 581, + "end": 603, + "loc": { + "start": { + "line": 20, + "column": 0 + }, + "end": { + "line": 20, + "column": 22 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", + "start": 604, + "end": 721, + "loc": { + "start": { + "line": 21, + "column": 0 + }, + "end": { + "line": 23, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {object} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n ", + "start": 722, + "end": 839, + "loc": { + "start": { + "line": 24, + "column": 0 + }, + "end": { + "line": 26, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", + "start": 841, + "end": 962, + "loc": { + "start": { + "line": 28, + "column": 0 + }, + "end": { + "line": 30, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {function} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n ", + "start": 963, + "end": 1084, + "loc": { + "start": { + "line": 31, + "column": 0 + }, + "end": { + "line": 33, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", + "start": 1086, + "end": 1205, + "loc": { + "start": { + "line": 35, + "column": 0 + }, + "end": { + "line": 37, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {boolean} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n ", + "start": 1206, + "end": 1325, + "loc": { + "start": { + "line": 38, + "column": 0 + }, + "end": { + "line": 40, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Symbol} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol\n ", + "start": 1327, + "end": 1444, + "loc": { + "start": { + "line": 42, + "column": 0 + }, + "end": { + "line": 44, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Error} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n ", + "start": 1446, + "end": 1561, + "loc": { + "start": { + "line": 46, + "column": 0 + }, + "end": { + "line": 48, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {EvalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n ", + "start": 1563, + "end": 1686, + "loc": { + "start": { + "line": 50, + "column": 0 + }, + "end": { + "line": 52, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {InternalError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError\n ", + "start": 1688, + "end": 1819, + "loc": { + "start": { + "line": 54, + "column": 0 + }, + "end": { + "line": 56, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {RangeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n ", + "start": 1821, + "end": 1946, + "loc": { + "start": { + "line": 58, + "column": 0 + }, + "end": { + "line": 60, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {ReferenceError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n ", + "start": 1948, + "end": 2081, + "loc": { + "start": { + "line": 62, + "column": 0 + }, + "end": { + "line": 64, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {SyntaxError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n ", + "start": 2083, + "end": 2210, + "loc": { + "start": { + "line": 66, + "column": 0 + }, + "end": { + "line": 68, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {TypeError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n ", + "start": 2212, + "end": 2335, + "loc": { + "start": { + "line": 70, + "column": 0 + }, + "end": { + "line": 72, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {URIError} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n ", + "start": 2337, + "end": 2458, + "loc": { + "start": { + "line": 74, + "column": 0 + }, + "end": { + "line": 76, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Numbers and dates", + "start": 2460, + "end": 2480, + "loc": { + "start": { + "line": 78, + "column": 0 + }, + "end": { + "line": 78, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", + "start": 2481, + "end": 2598, + "loc": { + "start": { + "line": 79, + "column": 0 + }, + "end": { + "line": 81, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {number} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n ", + "start": 2599, + "end": 2716, + "loc": { + "start": { + "line": 82, + "column": 0 + }, + "end": { + "line": 84, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Date} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n ", + "start": 2718, + "end": 2831, + "loc": { + "start": { + "line": 86, + "column": 0 + }, + "end": { + "line": 88, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Text processing", + "start": 2833, + "end": 2851, + "loc": { + "start": { + "line": 90, + "column": 0 + }, + "end": { + "line": 90, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {String} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", + "start": 2852, + "end": 2969, + "loc": { + "start": { + "line": 91, + "column": 0 + }, + "end": { + "line": 93, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {string} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n ", + "start": 2970, + "end": 3087, + "loc": { + "start": { + "line": 94, + "column": 0 + }, + "end": { + "line": 96, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {RegExp} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n ", + "start": 3089, + "end": 3206, + "loc": { + "start": { + "line": 98, + "column": 0 + }, + "end": { + "line": 100, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Indexed collections", + "start": 3208, + "end": 3230, + "loc": { + "start": { + "line": 102, + "column": 0 + }, + "end": { + "line": 102, + "column": 22 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n ", + "start": 3231, + "end": 3346, + "loc": { + "start": { + "line": 103, + "column": 0 + }, + "end": { + "line": 105, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\n ", + "start": 3348, + "end": 3471, + "loc": { + "start": { + "line": 107, + "column": 0 + }, + "end": { + "line": 109, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint8Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\n ", + "start": 3472, + "end": 3597, + "loc": { + "start": { + "line": 110, + "column": 0 + }, + "end": { + "line": 112, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint8ClampedArray} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\n ", + "start": 3599, + "end": 3738, + "loc": { + "start": { + "line": 114, + "column": 0 + }, + "end": { + "line": 116, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\n ", + "start": 3740, + "end": 3865, + "loc": { + "start": { + "line": 118, + "column": 0 + }, + "end": { + "line": 120, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint16Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\n ", + "start": 3867, + "end": 3994, + "loc": { + "start": { + "line": 122, + "column": 0 + }, + "end": { + "line": 124, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Int32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\n ", + "start": 3996, + "end": 4121, + "loc": { + "start": { + "line": 126, + "column": 0 + }, + "end": { + "line": 128, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Uint32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\n ", + "start": 4123, + "end": 4250, + "loc": { + "start": { + "line": 130, + "column": 0 + }, + "end": { + "line": 132, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Float32Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\n ", + "start": 4252, + "end": 4381, + "loc": { + "start": { + "line": 134, + "column": 0 + }, + "end": { + "line": 136, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Float64Array} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\n ", + "start": 4383, + "end": 4512, + "loc": { + "start": { + "line": 138, + "column": 0 + }, + "end": { + "line": 140, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Keyed collections", + "start": 4514, + "end": 4534, + "loc": { + "start": { + "line": 142, + "column": 0 + }, + "end": { + "line": 142, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Map} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n ", + "start": 4535, + "end": 4646, + "loc": { + "start": { + "line": 143, + "column": 0 + }, + "end": { + "line": 145, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Set} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n ", + "start": 4648, + "end": 4759, + "loc": { + "start": { + "line": 147, + "column": 0 + }, + "end": { + "line": 149, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {WeakMap} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n ", + "start": 4761, + "end": 4880, + "loc": { + "start": { + "line": 151, + "column": 0 + }, + "end": { + "line": 153, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {WeakSet} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet\n ", + "start": 4882, + "end": 5001, + "loc": { + "start": { + "line": 155, + "column": 0 + }, + "end": { + "line": 157, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Structured data", + "start": 5003, + "end": 5021, + "loc": { + "start": { + "line": 159, + "column": 0 + }, + "end": { + "line": 159, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {ArrayBuffer} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n ", + "start": 5022, + "end": 5149, + "loc": { + "start": { + "line": 160, + "column": 0 + }, + "end": { + "line": 162, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {DataView} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n ", + "start": 5151, + "end": 5272, + "loc": { + "start": { + "line": 164, + "column": 0 + }, + "end": { + "line": 166, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {JSON} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON\n ", + "start": 5274, + "end": 5387, + "loc": { + "start": { + "line": 168, + "column": 0 + }, + "end": { + "line": 170, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Control abstraction objects", + "start": 5389, + "end": 5419, + "loc": { + "start": { + "line": 172, + "column": 0 + }, + "end": { + "line": 172, + "column": 30 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Promise} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n ", + "start": 5420, + "end": 5539, + "loc": { + "start": { + "line": 173, + "column": 0 + }, + "end": { + "line": 175, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Generator} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n ", + "start": 5541, + "end": 5664, + "loc": { + "start": { + "line": 177, + "column": 0 + }, + "end": { + "line": 179, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {GeneratorFunction} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction\n ", + "start": 5666, + "end": 5805, + "loc": { + "start": { + "line": 181, + "column": 0 + }, + "end": { + "line": 183, + "column": 3 + } + } + }, + { + "type": "CommentLine", + "value": " Reflection", + "start": 5807, + "end": 5820, + "loc": { + "start": { + "line": 185, + "column": 0 + }, + "end": { + "line": 185, + "column": 13 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Reflect} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n ", + "start": 5821, + "end": 5940, + "loc": { + "start": { + "line": 186, + "column": 0 + }, + "end": { + "line": 188, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * @external {Proxy} https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\n ", + "start": 5942, + "end": 6057, + "loc": { + "start": { + "line": 190, + "column": 0 + }, + "end": { + "line": 192, + "column": 3 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 6058, + "end": 6058, + "loc": { + "start": { + "line": 193, + "column": 0 + }, + "end": { + "line": 193, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/Context.js.json b/docs/ast/source/Context.js.json new file mode 100644 index 0000000..a2080ba --- /dev/null +++ b/docs/ast/source/Context.js.json @@ -0,0 +1,2920 @@ +{ + "type": "File", + "start": 0, + "end": 827, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 39, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 827, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 39, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ImportDeclaration", + "start": 42, + "end": 81, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 39 + } + }, + "specifiers": [ + { + "type": "ImportSpecifier", + "start": 51, + "end": 60, + "loc": { + "start": { + "line": 3, + "column": 9 + }, + "end": { + "line": 3, + "column": 18 + } + }, + "imported": { + "type": "Identifier", + "start": 51, + "end": 60, + "loc": { + "start": { + "line": 3, + "column": 9 + }, + "end": { + "line": 3, + "column": 18 + }, + "identifierName": "IProvider" + }, + "name": "IProvider", + "leadingComments": null + }, + "importKind": null, + "local": { + "type": "Identifier", + "start": 51, + "end": 60, + "loc": { + "start": { + "line": 3, + "column": 9 + }, + "end": { + "line": 3, + "column": 18 + }, + "identifierName": "IProvider" + }, + "name": "IProvider" + }, + "leadingComments": null + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 68, + "end": 81, + "loc": { + "start": { + "line": 3, + "column": 26 + }, + "end": { + "line": 3, + "column": 39 + } + }, + "extra": { + "rawValue": "./providers", + "raw": "'./providers'" + }, + "value": "./providers", + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Base context for the strategy pattern.\n * @type {Context}\n ", + "start": 83, + "end": 151, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + } + ] + }, + { + "type": "ExportDefaultDeclaration", + "start": 152, + "end": 826, + "loc": { + "start": { + "line": 9, + "column": 0 + }, + "end": { + "line": 38, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 167, + "end": 826, + "loc": { + "start": { + "line": 9, + "column": 15 + }, + "end": { + "line": 38, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 173, + "end": 180, + "loc": { + "start": { + "line": 9, + "column": 21 + }, + "end": { + "line": 9, + "column": 28 + }, + "identifierName": "Context" + }, + "name": "Context", + "leadingComments": null + }, + "superClass": null, + "body": { + "type": "ClassBody", + "start": 181, + "end": 826, + "loc": { + "start": { + "line": 9, + "column": 29 + }, + "end": { + "line": 38, + "column": 1 + } + }, + "body": [ + { + "type": "ClassProperty", + "start": 266, + "end": 285, + "loc": { + "start": { + "line": 15, + "column": 2 + }, + "end": { + "line": 15, + "column": 21 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 266, + "end": 274, + "loc": { + "start": { + "line": 15, + "column": 2 + }, + "end": { + "line": 15, + "column": 10 + }, + "identifierName": "provider" + }, + "name": "provider", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 274, + "end": 285, + "loc": { + "start": { + "line": 15, + "column": 10 + }, + "end": { + "line": 15, + "column": 21 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 276, + "end": 285, + "loc": { + "start": { + "line": 15, + "column": 12 + }, + "end": { + "line": 15, + "column": 21 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 276, + "end": 285, + "loc": { + "start": { + "line": 15, + "column": 12 + }, + "end": { + "line": 15, + "column": 21 + }, + "identifierName": "IProvider" + }, + "name": "IProvider", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The provider of the context to execute. \n * @type \n * {IProvider} \n * @type \n * {IProvider} \n", + "start": 186, + "end": 263, + "loc": { + "start": { + "line": 11, + "column": 2 + }, + "end": { + "line": 14, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new Context object.\n * @param {?IProvider} [provider=new IProvider()] - The provider of the\n * context to execute.\n ", + "start": 289, + "end": 431, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 434, + "end": 613, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 28, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 434, + "end": 445, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 22, + "column": 13 + }, + "identifierName": "constructor" + }, + "name": "constructor", + "leadingComments": null + }, + "kind": "constructor", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "AssignmentPattern", + "start": 446, + "end": 483, + "loc": { + "start": { + "line": 22, + "column": 14 + }, + "end": { + "line": 22, + "column": 51 + } + }, + "left": { + "type": "Identifier", + "start": 446, + "end": 465, + "loc": { + "start": { + "line": 22, + "column": 14 + }, + "end": { + "line": 22, + "column": 33 + }, + "identifierName": "provider" + }, + "name": "provider", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 454, + "end": 465, + "loc": { + "start": { + "line": 22, + "column": 22 + }, + "end": { + "line": 22, + "column": 33 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 456, + "end": 465, + "loc": { + "start": { + "line": 22, + "column": 24 + }, + "end": { + "line": 22, + "column": 33 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 456, + "end": 465, + "loc": { + "start": { + "line": 22, + "column": 24 + }, + "end": { + "line": 22, + "column": 33 + }, + "identifierName": "IProvider" + }, + "name": "IProvider" + } + } + } + }, + "right": { + "type": "NewExpression", + "start": 468, + "end": 483, + "loc": { + "start": { + "line": 22, + "column": 36 + }, + "end": { + "line": 22, + "column": 51 + } + }, + "callee": { + "type": "Identifier", + "start": 472, + "end": 481, + "loc": { + "start": { + "line": 22, + "column": 40 + }, + "end": { + "line": 22, + "column": 49 + }, + "identifierName": "IProvider" + }, + "name": "IProvider" + }, + "arguments": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 484, + "end": 490, + "loc": { + "start": { + "line": 22, + "column": 52 + }, + "end": { + "line": 22, + "column": 58 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 486, + "end": 490, + "loc": { + "start": { + "line": 22, + "column": 54 + }, + "end": { + "line": 22, + "column": 58 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 491, + "end": 613, + "loc": { + "start": { + "line": 22, + "column": 59 + }, + "end": { + "line": 28, + "column": 3 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 585, + "end": 609, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 28 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 585, + "end": 609, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 28 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 585, + "end": 598, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 17 + } + }, + "object": { + "type": "ThisExpression", + "start": 585, + "end": 589, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 590, + "end": 598, + "loc": { + "start": { + "line": 27, + "column": 9 + }, + "end": { + "line": 27, + "column": 17 + }, + "identifierName": "provider" + }, + "name": "provider" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 601, + "end": 609, + "loc": { + "start": { + "line": 27, + "column": 20 + }, + "end": { + "line": 27, + "column": 28 + }, + "identifierName": "provider" + }, + "name": "provider" + }, + "leadingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The provider of the context to execute.\n * @type {IProvider}\n ", + "start": 497, + "end": 580, + "loc": { + "start": { + "line": 23, + "column": 4 + }, + "end": { + "line": 26, + "column": 7 + } + } + } + ] + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new Context object.\n * @param {?IProvider} [provider=new IProvider()] - The provider of the\n * context to execute.\n ", + "start": 289, + "end": 431, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Execute the set provider.\n * @returns {Promise, Error>} - A list of scraped content.\n ", + "start": 617, + "end": 732, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 735, + "end": 823, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 36, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 735, + "end": 742, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 34, + "column": 9 + }, + "identifierName": "execute" + }, + "name": "execute", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [], + "returnType": { + "type": "TypeAnnotation", + "start": 744, + "end": 776, + "loc": { + "start": { + "line": 34, + "column": 11 + }, + "end": { + "line": 34, + "column": 43 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 746, + "end": 776, + "loc": { + "start": { + "line": 34, + "column": 13 + }, + "end": { + "line": 34, + "column": 43 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 753, + "end": 776, + "loc": { + "start": { + "line": 34, + "column": 20 + }, + "end": { + "line": 34, + "column": 43 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 754, + "end": 775, + "loc": { + "start": { + "line": 34, + "column": 21 + }, + "end": { + "line": 34, + "column": 42 + } + }, + "types": [ + { + "type": "GenericTypeAnnotation", + "start": 754, + "end": 767, + "loc": { + "start": { + "line": 34, + "column": 21 + }, + "end": { + "line": 34, + "column": 34 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 759, + "end": 767, + "loc": { + "start": { + "line": 34, + "column": 26 + }, + "end": { + "line": 34, + "column": 34 + } + }, + "params": [ + { + "type": "GenericTypeAnnotation", + "start": 760, + "end": 766, + "loc": { + "start": { + "line": 34, + "column": 27 + }, + "end": { + "line": 34, + "column": 33 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 760, + "end": 766, + "loc": { + "start": { + "line": 34, + "column": 27 + }, + "end": { + "line": 34, + "column": 33 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + ] + }, + "id": { + "type": "Identifier", + "start": 754, + "end": 759, + "loc": { + "start": { + "line": 34, + "column": 21 + }, + "end": { + "line": 34, + "column": 26 + }, + "identifierName": "Array" + }, + "name": "Array" + } + }, + { + "type": "GenericTypeAnnotation", + "start": 770, + "end": 775, + "loc": { + "start": { + "line": 34, + "column": 37 + }, + "end": { + "line": 34, + "column": 42 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 770, + "end": 775, + "loc": { + "start": { + "line": 34, + "column": 37 + }, + "end": { + "line": 34, + "column": 42 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 746, + "end": 753, + "loc": { + "start": { + "line": 34, + "column": 13 + }, + "end": { + "line": 34, + "column": 20 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 777, + "end": 823, + "loc": { + "start": { + "line": 34, + "column": 44 + }, + "end": { + "line": 36, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 783, + "end": 819, + "loc": { + "start": { + "line": 35, + "column": 4 + }, + "end": { + "line": 35, + "column": 40 + } + }, + "argument": { + "type": "CallExpression", + "start": 790, + "end": 819, + "loc": { + "start": { + "line": 35, + "column": 11 + }, + "end": { + "line": 35, + "column": 40 + } + }, + "callee": { + "type": "MemberExpression", + "start": 790, + "end": 817, + "loc": { + "start": { + "line": 35, + "column": 11 + }, + "end": { + "line": 35, + "column": 38 + } + }, + "object": { + "type": "MemberExpression", + "start": 790, + "end": 803, + "loc": { + "start": { + "line": 35, + "column": 11 + }, + "end": { + "line": 35, + "column": 24 + } + }, + "object": { + "type": "ThisExpression", + "start": 790, + "end": 794, + "loc": { + "start": { + "line": 35, + "column": 11 + }, + "end": { + "line": 35, + "column": 15 + } + } + }, + "property": { + "type": "Identifier", + "start": 795, + "end": 803, + "loc": { + "start": { + "line": 35, + "column": 16 + }, + "end": { + "line": 35, + "column": 24 + }, + "identifierName": "provider" + }, + "name": "provider" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 804, + "end": 817, + "loc": { + "start": { + "line": 35, + "column": 25 + }, + "end": { + "line": 35, + "column": 38 + }, + "identifierName": "scrapeConfigs" + }, + "name": "scrapeConfigs" + }, + "computed": false + }, + "arguments": [] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Execute the set provider. \n * @returns \n * {Promise, Error>} - A list of scraped content. \n", + "start": 617, + "end": 732, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Base context for the strategy pattern.\n * @type {Context}\n ", + "start": 83, + "end": 151, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Base context for the strategy pattern.\n * @type {Context}\n ", + "start": 83, + "end": 151, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Base context for the strategy pattern.\n * @type {Context}\n ", + "start": 83, + "end": 151, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The provider of the context to execute.\n * @type {IProvider}\n ", + "start": 186, + "end": 263, + "loc": { + "start": { + "line": 11, + "column": 2 + }, + "end": { + "line": 14, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new Context object.\n * @param {?IProvider} [provider=new IProvider()] - The provider of the\n * context to execute.\n ", + "start": 289, + "end": 431, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The provider of the context to execute.\n * @type {IProvider}\n ", + "start": 497, + "end": 580, + "loc": { + "start": { + "line": 23, + "column": 4 + }, + "end": { + "line": 26, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Execute the set provider.\n * @returns {Promise, Error>} - A list of scraped content.\n ", + "start": 617, + "end": 732, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 42, + "end": 48, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 49, + "end": 50, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 51, + "end": 60, + "loc": { + "start": { + "line": 3, + "column": 9 + }, + "end": { + "line": 3, + "column": 18 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 61, + "end": 62, + "loc": { + "start": { + "line": 3, + "column": 19 + }, + "end": { + "line": 3, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 63, + "end": 67, + "loc": { + "start": { + "line": 3, + "column": 21 + }, + "end": { + "line": 3, + "column": 25 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./providers", + "start": 68, + "end": 81, + "loc": { + "start": { + "line": 3, + "column": 26 + }, + "end": { + "line": 3, + "column": 39 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Base context for the strategy pattern.\n * @type {Context}\n ", + "start": 83, + "end": 151, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "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": 152, + "end": 158, + "loc": { + "start": { + "line": 9, + "column": 0 + }, + "end": { + "line": 9, + "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": 159, + "end": 166, + "loc": { + "start": { + "line": 9, + "column": 7 + }, + "end": { + "line": 9, + "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": 167, + "end": 172, + "loc": { + "start": { + "line": 9, + "column": 15 + }, + "end": { + "line": 9, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Context", + "start": 173, + "end": 180, + "loc": { + "start": { + "line": 9, + "column": 21 + }, + "end": { + "line": 9, + "column": 28 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 181, + "end": 182, + "loc": { + "start": { + "line": 9, + "column": 29 + }, + "end": { + "line": 9, + "column": 30 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The provider of the context to execute.\n * @type {IProvider}\n ", + "start": 186, + "end": 263, + "loc": { + "start": { + "line": 11, + "column": 2 + }, + "end": { + "line": 14, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 266, + "end": 274, + "loc": { + "start": { + "line": 15, + "column": 2 + }, + "end": { + "line": 15, + "column": 10 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 274, + "end": 275, + "loc": { + "start": { + "line": 15, + "column": 10 + }, + "end": { + "line": 15, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 276, + "end": 285, + "loc": { + "start": { + "line": 15, + "column": 12 + }, + "end": { + "line": 15, + "column": 21 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new Context object.\n * @param {?IProvider} [provider=new IProvider()] - The provider of the\n * context to execute.\n ", + "start": 289, + "end": 431, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 434, + "end": 445, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 22, + "column": 13 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 445, + "end": 446, + "loc": { + "start": { + "line": 22, + "column": 13 + }, + "end": { + "line": 22, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 446, + "end": 454, + "loc": { + "start": { + "line": 22, + "column": 14 + }, + "end": { + "line": 22, + "column": 22 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 454, + "end": 455, + "loc": { + "start": { + "line": 22, + "column": 22 + }, + "end": { + "line": 22, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 456, + "end": 465, + "loc": { + "start": { + "line": 22, + "column": 24 + }, + "end": { + "line": 22, + "column": 33 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 466, + "end": 467, + "loc": { + "start": { + "line": 22, + "column": 34 + }, + "end": { + "line": 22, + "column": 35 + } + } + }, + { + "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": 468, + "end": 471, + "loc": { + "start": { + "line": 22, + "column": 36 + }, + "end": { + "line": 22, + "column": 39 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 472, + "end": 481, + "loc": { + "start": { + "line": 22, + "column": 40 + }, + "end": { + "line": 22, + "column": 49 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 481, + "end": 482, + "loc": { + "start": { + "line": 22, + "column": 49 + }, + "end": { + "line": 22, + "column": 50 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 482, + "end": 483, + "loc": { + "start": { + "line": 22, + "column": 50 + }, + "end": { + "line": 22, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 483, + "end": 484, + "loc": { + "start": { + "line": 22, + "column": 51 + }, + "end": { + "line": 22, + "column": 52 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 484, + "end": 485, + "loc": { + "start": { + "line": 22, + "column": 52 + }, + "end": { + "line": 22, + "column": 53 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "void", + "start": 486, + "end": 490, + "loc": { + "start": { + "line": 22, + "column": 54 + }, + "end": { + "line": 22, + "column": 58 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 491, + "end": 492, + "loc": { + "start": { + "line": 22, + "column": 59 + }, + "end": { + "line": 22, + "column": 60 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The provider of the context to execute.\n * @type {IProvider}\n ", + "start": 497, + "end": 580, + "loc": { + "start": { + "line": 23, + "column": 4 + }, + "end": { + "line": 26, + "column": 7 + } + } + }, + { + "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": 585, + "end": 589, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 589, + "end": 590, + "loc": { + "start": { + "line": 27, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 590, + "end": 598, + "loc": { + "start": { + "line": 27, + "column": 9 + }, + "end": { + "line": 27, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 599, + "end": 600, + "loc": { + "start": { + "line": 27, + "column": 18 + }, + "end": { + "line": 27, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 601, + "end": 609, + "loc": { + "start": { + "line": 27, + "column": 20 + }, + "end": { + "line": 27, + "column": 28 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 612, + "end": 613, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Execute the set provider.\n * @returns {Promise, Error>} - A list of scraped content.\n ", + "start": 617, + "end": 732, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "execute", + "start": 735, + "end": 742, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 34, + "column": 9 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 742, + "end": 743, + "loc": { + "start": { + "line": 34, + "column": 9 + }, + "end": { + "line": 34, + "column": 10 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 743, + "end": 744, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 11 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 744, + "end": 745, + "loc": { + "start": { + "line": 34, + "column": 11 + }, + "end": { + "line": 34, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 746, + "end": 753, + "loc": { + "start": { + "line": 34, + "column": 13 + }, + "end": { + "line": 34, + "column": 20 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 753, + "end": 754, + "loc": { + "start": { + "line": 34, + "column": 20 + }, + "end": { + "line": 34, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Array", + "start": 754, + "end": 759, + "loc": { + "start": { + "line": 34, + "column": 21 + }, + "end": { + "line": 34, + "column": 26 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 759, + "end": 760, + "loc": { + "start": { + "line": 34, + "column": 26 + }, + "end": { + "line": 34, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 760, + "end": 766, + "loc": { + "start": { + "line": 34, + "column": 27 + }, + "end": { + "line": 34, + "column": 33 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 766, + "end": 767, + "loc": { + "start": { + "line": 34, + "column": 33 + }, + "end": { + "line": 34, + "column": 34 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 768, + "end": 769, + "loc": { + "start": { + "line": 34, + "column": 35 + }, + "end": { + "line": 34, + "column": 36 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 770, + "end": 775, + "loc": { + "start": { + "line": 34, + "column": 37 + }, + "end": { + "line": 34, + "column": 42 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 775, + "end": 776, + "loc": { + "start": { + "line": 34, + "column": 42 + }, + "end": { + "line": 34, + "column": 43 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 777, + "end": 778, + "loc": { + "start": { + "line": 34, + "column": 44 + }, + "end": { + "line": 34, + "column": 45 + } + } + }, + { + "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": 783, + "end": 789, + "loc": { + "start": { + "line": 35, + "column": 4 + }, + "end": { + "line": 35, + "column": 10 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 790, + "end": 794, + "loc": { + "start": { + "line": 35, + "column": 11 + }, + "end": { + "line": 35, + "column": 15 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 794, + "end": 795, + "loc": { + "start": { + "line": 35, + "column": 15 + }, + "end": { + "line": 35, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 795, + "end": 803, + "loc": { + "start": { + "line": 35, + "column": 16 + }, + "end": { + "line": 35, + "column": 24 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 803, + "end": 804, + "loc": { + "start": { + "line": 35, + "column": 24 + }, + "end": { + "line": 35, + "column": 25 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrapeConfigs", + "start": 804, + "end": 817, + "loc": { + "start": { + "line": 35, + "column": 25 + }, + "end": { + "line": 35, + "column": 38 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 817, + "end": 818, + "loc": { + "start": { + "line": 35, + "column": 38 + }, + "end": { + "line": 35, + "column": 39 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 818, + "end": 819, + "loc": { + "start": { + "line": 35, + "column": 39 + }, + "end": { + "line": 35, + "column": 40 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 822, + "end": 823, + "loc": { + "start": { + "line": 36, + "column": 2 + }, + "end": { + "line": 36, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 825, + "end": 826, + "loc": { + "start": { + "line": 38, + "column": 0 + }, + "end": { + "line": 38, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 827, + "end": 827, + "loc": { + "start": { + "line": 39, + "column": 0 + }, + "end": { + "line": 39, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/Cron.js.json b/docs/ast/source/Cron.js.json new file mode 100644 index 0000000..ce07678 --- /dev/null +++ b/docs/ast/source/Cron.js.json @@ -0,0 +1,5217 @@ +{ + "type": "File", + "start": 0, + "end": 1396, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 54, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 1396, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 54, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ImportDeclaration", + "start": 42, + "end": 70, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 28 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 49, + "end": 53, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + } + }, + "local": { + "type": "Identifier", + "start": 49, + "end": 53, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + }, + "identifierName": "cron" + }, + "name": "cron", + "leadingComments": null + }, + "leadingComments": null + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 59, + "end": 70, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 28 + } + }, + "extra": { + "rawValue": "node-cron", + "raw": "'node-cron'" + }, + "value": "node-cron", + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Cron class for executing the scraper periodically.\n * @type {Cron}\n ", + "start": 72, + "end": 149, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + } + ] + }, + { + "type": "ExportDefaultDeclaration", + "start": 150, + "end": 1395, + "loc": { + "start": { + "line": 9, + "column": 0 + }, + "end": { + "line": 53, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 165, + "end": 1395, + "loc": { + "start": { + "line": 9, + "column": 15 + }, + "end": { + "line": 53, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 171, + "end": 175, + "loc": { + "start": { + "line": 9, + "column": 21 + }, + "end": { + "line": 9, + "column": 25 + }, + "identifierName": "Cron" + }, + "name": "Cron", + "leadingComments": null + }, + "superClass": null, + "body": { + "type": "ClassBody", + "start": 176, + "end": 1395, + "loc": { + "start": { + "line": 9, + "column": 26 + }, + "end": { + "line": 53, + "column": 1 + } + }, + "body": [ + { + "type": "ClassProperty", + "start": 282, + "end": 298, + "loc": { + "start": { + "line": 15, + "column": 2 + }, + "end": { + "line": 15, + "column": 18 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 282, + "end": 290, + "loc": { + "start": { + "line": 15, + "column": 2 + }, + "end": { + "line": 15, + "column": 10 + }, + "identifierName": "cronTime" + }, + "name": "cronTime", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 290, + "end": 298, + "loc": { + "start": { + "line": 15, + "column": 10 + }, + "end": { + "line": 15, + "column": 18 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 292, + "end": 298, + "loc": { + "start": { + "line": 15, + "column": 12 + }, + "end": { + "line": 15, + "column": 18 + } + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`. \n * @type \n * {string} \n * @type \n * {string} \n", + "start": 181, + "end": 279, + "loc": { + "start": { + "line": 11, + "column": 2 + }, + "end": { + "line": 14, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new Cron object.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {!Object} [options={}] - The options for the Cron middleware.\n * @param {!string} [options.cronTime=0 0 *\\/6 * * *] - The cron tab to\n * execute the scraper.\n * @param {?boolean} [options.start=false] - Start the cronjob on creation.\n ", + "start": 302, + "end": 646, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 24, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 649, + "end": 1072, + "loc": { + "start": { + "line": 25, + "column": 2 + }, + "end": { + "line": 41, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 649, + "end": 660, + "loc": { + "start": { + "line": 25, + "column": 2 + }, + "end": { + "line": 25, + "column": 13 + }, + "identifierName": "constructor" + }, + "name": "constructor", + "leadingComments": null + }, + "kind": "constructor", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 661, + "end": 672, + "loc": { + "start": { + "line": 25, + "column": 14 + }, + "end": { + "line": 25, + "column": 25 + }, + "identifierName": "PopApi" + }, + "name": "PopApi", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 667, + "end": 672, + "loc": { + "start": { + "line": 25, + "column": 20 + }, + "end": { + "line": 25, + "column": 25 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 669, + "end": 672, + "loc": { + "start": { + "line": 25, + "column": 22 + }, + "end": { + "line": 25, + "column": 25 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 674, + "end": 742, + "loc": { + "start": { + "line": 25, + "column": 27 + }, + "end": { + "line": 28, + "column": 16 + } + }, + "left": { + "type": "ObjectPattern", + "start": 674, + "end": 737, + "loc": { + "start": { + "line": 25, + "column": 27 + }, + "end": { + "line": 28, + "column": 11 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 680, + "end": 706, + "loc": { + "start": { + "line": 26, + "column": 4 + }, + "end": { + "line": 26, + "column": 30 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 680, + "end": 688, + "loc": { + "start": { + "line": 26, + "column": 4 + }, + "end": { + "line": 26, + "column": 12 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "value": { + "type": "AssignmentPattern", + "start": 680, + "end": 706, + "loc": { + "start": { + "line": 26, + "column": 4 + }, + "end": { + "line": 26, + "column": 30 + } + }, + "left": { + "type": "Identifier", + "start": 680, + "end": 688, + "loc": { + "start": { + "line": 26, + "column": 4 + }, + "end": { + "line": 26, + "column": 12 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "right": { + "type": "StringLiteral", + "start": 691, + "end": 706, + "loc": { + "start": { + "line": 26, + "column": 15 + }, + "end": { + "line": 26, + "column": 30 + } + }, + "extra": { + "rawValue": "0 0 */6 * * *", + "raw": "'0 0 */6 * * *'" + }, + "value": "0 0 */6 * * *" + } + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 712, + "end": 725, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 17 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 712, + "end": 717, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 9 + }, + "identifierName": "start" + }, + "name": "start" + }, + "value": { + "type": "AssignmentPattern", + "start": 712, + "end": 725, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 17 + } + }, + "left": { + "type": "Identifier", + "start": 712, + "end": 717, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 9 + }, + "identifierName": "start" + }, + "name": "start" + }, + "right": { + "type": "BooleanLiteral", + "start": 720, + "end": 725, + "loc": { + "start": { + "line": 27, + "column": 12 + }, + "end": { + "line": 27, + "column": 17 + } + }, + "value": false + } + }, + "extra": { + "shorthand": true + } + } + ], + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 729, + "end": 737, + "loc": { + "start": { + "line": 28, + "column": 3 + }, + "end": { + "line": 28, + "column": 11 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 731, + "end": 737, + "loc": { + "start": { + "line": 28, + "column": 5 + }, + "end": { + "line": 28, + "column": 11 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 731, + "end": 737, + "loc": { + "start": { + "line": 28, + "column": 5 + }, + "end": { + "line": 28, + "column": 11 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 740, + "end": 742, + "loc": { + "start": { + "line": 28, + "column": 14 + }, + "end": { + "line": 28, + "column": 16 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 743, + "end": 749, + "loc": { + "start": { + "line": 28, + "column": 17 + }, + "end": { + "line": 28, + "column": 23 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 745, + "end": 749, + "loc": { + "start": { + "line": 28, + "column": 19 + }, + "end": { + "line": 28, + "column": 23 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 750, + "end": 1072, + "loc": { + "start": { + "line": 28, + "column": 24 + }, + "end": { + "line": 41, + "column": 3 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 756, + "end": 789, + "loc": { + "start": { + "line": 29, + "column": 4 + }, + "end": { + "line": 29, + "column": 37 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 762, + "end": 789, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 37 + } + }, + "id": { + "type": "ObjectPattern", + "start": 762, + "end": 770, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 18 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 764, + "end": 768, + "loc": { + "start": { + "line": 29, + "column": 12 + }, + "end": { + "line": 29, + "column": 16 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 764, + "end": 768, + "loc": { + "start": { + "line": 29, + "column": 12 + }, + "end": { + "line": 29, + "column": 16 + }, + "identifierName": "name" + }, + "name": "name" + }, + "value": { + "type": "Identifier", + "start": 764, + "end": 768, + "loc": { + "start": { + "line": 29, + "column": 12 + }, + "end": { + "line": 29, + "column": 16 + }, + "identifierName": "name" + }, + "name": "name" + }, + "extra": { + "shorthand": true + } + } + ] + }, + "init": { + "type": "MemberExpression", + "start": 773, + "end": 789, + "loc": { + "start": { + "line": 29, + "column": 21 + }, + "end": { + "line": 29, + "column": 37 + } + }, + "object": { + "type": "ThisExpression", + "start": 773, + "end": 777, + "loc": { + "start": { + "line": 29, + "column": 21 + }, + "end": { + "line": 29, + "column": 25 + } + } + }, + "property": { + "type": "Identifier", + "start": 778, + "end": 789, + "loc": { + "start": { + "line": 29, + "column": 26 + }, + "end": { + "line": 29, + "column": 37 + }, + "identifierName": "constructor" + }, + "name": "constructor" + }, + "computed": false + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 794, + "end": 883, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 33, + "column": 6 + } + }, + "expression": { + "type": "CallExpression", + "start": 794, + "end": 883, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 33, + "column": 6 + } + }, + "callee": { + "type": "MemberExpression", + "start": 794, + "end": 806, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 30, + "column": 16 + } + }, + "object": { + "type": "Identifier", + "start": 794, + "end": 800, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 30, + "column": 10 + }, + "identifierName": "PopApi" + }, + "name": "PopApi" + }, + "property": { + "type": "Identifier", + "start": 801, + "end": 806, + "loc": { + "start": { + "line": 30, + "column": 11 + }, + "end": { + "line": 30, + "column": 16 + }, + "identifierName": "debug" + }, + "name": "debug" + }, + "computed": false + }, + "arguments": [ + { + "type": "TemplateLiteral", + "start": 807, + "end": 845, + "loc": { + "start": { + "line": 30, + "column": 17 + }, + "end": { + "line": 30, + "column": 55 + } + }, + "expressions": [ + { + "type": "Identifier", + "start": 822, + "end": 826, + "loc": { + "start": { + "line": 30, + "column": 32 + }, + "end": { + "line": 30, + "column": 36 + }, + "identifierName": "name" + }, + "name": "name" + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 808, + "end": 820, + "loc": { + "start": { + "line": 30, + "column": 18 + }, + "end": { + "line": 30, + "column": 30 + } + }, + "value": { + "raw": "Registering ", + "cooked": "Registering " + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 827, + "end": 844, + "loc": { + "start": { + "line": 30, + "column": 37 + }, + "end": { + "line": 30, + "column": 54 + } + }, + "value": { + "raw": " with options: %o", + "cooked": " with options: %o" + }, + "tail": true + } + ] + }, + { + "type": "ObjectExpression", + "start": 847, + "end": 882, + "loc": { + "start": { + "line": 30, + "column": 57 + }, + "end": { + "line": 33, + "column": 5 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 855, + "end": 863, + "loc": { + "start": { + "line": 31, + "column": 6 + }, + "end": { + "line": 31, + "column": 14 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 855, + "end": 863, + "loc": { + "start": { + "line": 31, + "column": 6 + }, + "end": { + "line": 31, + "column": 14 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "value": { + "type": "Identifier", + "start": 855, + "end": 863, + "loc": { + "start": { + "line": 31, + "column": 6 + }, + "end": { + "line": 31, + "column": 14 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 871, + "end": 876, + "loc": { + "start": { + "line": 32, + "column": 6 + }, + "end": { + "line": 32, + "column": 11 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 871, + "end": 876, + "loc": { + "start": { + "line": 32, + "column": 6 + }, + "end": { + "line": 32, + "column": 11 + }, + "identifierName": "start" + }, + "name": "start" + }, + "value": { + "type": "Identifier", + "start": 871, + "end": 876, + "loc": { + "start": { + "line": 32, + "column": 6 + }, + "end": { + "line": 32, + "column": 11 + }, + "identifierName": "start" + }, + "name": "start" + }, + "extra": { + "shorthand": true + } + } + ] + } + ], + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n ", + "start": 889, + "end": 993, + "loc": { + "start": { + "line": 35, + "column": 4 + }, + "end": { + "line": 38, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 998, + "end": 1022, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 28 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 998, + "end": 1022, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 28 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 998, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 17 + } + }, + "object": { + "type": "ThisExpression", + "start": 998, + "end": 1002, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1003, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 9 + }, + "end": { + "line": 39, + "column": 17 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1014, + "end": 1022, + "loc": { + "start": { + "line": 39, + "column": 20 + }, + "end": { + "line": 39, + "column": 28 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "leadingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n ", + "start": 889, + "end": 993, + "loc": { + "start": { + "line": 35, + "column": 4 + }, + "end": { + "line": 38, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1027, + "end": 1068, + "loc": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 40, + "column": 45 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1027, + "end": 1068, + "loc": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 40, + "column": 45 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1027, + "end": 1038, + "loc": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 40, + "column": 15 + } + }, + "object": { + "type": "Identifier", + "start": 1027, + "end": 1033, + "loc": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 40, + "column": 10 + }, + "identifierName": "PopApi" + }, + "name": "PopApi" + }, + "property": { + "type": "Identifier", + "start": 1034, + "end": 1038, + "loc": { + "start": { + "line": 40, + "column": 11 + }, + "end": { + "line": 40, + "column": 15 + }, + "identifierName": "cron" + }, + "name": "cron" + }, + "computed": false + }, + "right": { + "type": "CallExpression", + "start": 1041, + "end": 1068, + "loc": { + "start": { + "line": 40, + "column": 18 + }, + "end": { + "line": 40, + "column": 45 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1041, + "end": 1053, + "loc": { + "start": { + "line": 40, + "column": 18 + }, + "end": { + "line": 40, + "column": 30 + } + }, + "object": { + "type": "ThisExpression", + "start": 1041, + "end": 1045, + "loc": { + "start": { + "line": 40, + "column": 18 + }, + "end": { + "line": 40, + "column": 22 + } + } + }, + "property": { + "type": "Identifier", + "start": 1046, + "end": 1053, + "loc": { + "start": { + "line": 40, + "column": 23 + }, + "end": { + "line": 40, + "column": 30 + }, + "identifierName": "getCron" + }, + "name": "getCron" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 1054, + "end": 1060, + "loc": { + "start": { + "line": 40, + "column": 31 + }, + "end": { + "line": 40, + "column": 37 + }, + "identifierName": "PopApi" + }, + "name": "PopApi" + }, + { + "type": "Identifier", + "start": 1062, + "end": 1067, + "loc": { + "start": { + "line": 40, + "column": 39 + }, + "end": { + "line": 40, + "column": 44 + }, + "identifierName": "start" + }, + "name": "start" + } + ] + } + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new Cron object.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {!Object} [options={}] - The options for the Cron middleware.\n * @param {!string} [options.cronTime=0 0 *\\/6 * * *] - The cron tab to\n * execute the scraper.\n * @param {?boolean} [options.start=false] - Start the cronjob on creation.\n ", + "start": 302, + "end": 646, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 24, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Get the cron job to run.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {?boolean} [start] - Start the cron job.\n * @returns {Object} - A configured cron job.\n ", + "start": 1076, + "end": 1268, + "loc": { + "start": { + "line": 43, + "column": 2 + }, + "end": { + "line": 48, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1271, + "end": 1392, + "loc": { + "start": { + "line": 49, + "column": 2 + }, + "end": { + "line": 51, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1271, + "end": 1278, + "loc": { + "start": { + "line": 49, + "column": 2 + }, + "end": { + "line": 49, + "column": 9 + }, + "identifierName": "getCron" + }, + "name": "getCron", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1279, + "end": 1290, + "loc": { + "start": { + "line": 49, + "column": 10 + }, + "end": { + "line": 49, + "column": 21 + }, + "identifierName": "PopApi" + }, + "name": "PopApi", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1285, + "end": 1290, + "loc": { + "start": { + "line": 49, + "column": 16 + }, + "end": { + "line": 49, + "column": 21 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 1287, + "end": 1290, + "loc": { + "start": { + "line": 49, + "column": 18 + }, + "end": { + "line": 49, + "column": 21 + } + } + } + } + }, + { + "type": "Identifier", + "start": 1292, + "end": 1307, + "loc": { + "start": { + "line": 49, + "column": 23 + }, + "end": { + "line": 49, + "column": 38 + }, + "identifierName": "start" + }, + "name": "start", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1298, + "end": 1307, + "loc": { + "start": { + "line": 49, + "column": 29 + }, + "end": { + "line": 49, + "column": 38 + } + }, + "typeAnnotation": { + "type": "BooleanTypeAnnotation", + "start": 1300, + "end": 1307, + "loc": { + "start": { + "line": 49, + "column": 31 + }, + "end": { + "line": 49, + "column": 38 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1308, + "end": 1316, + "loc": { + "start": { + "line": 49, + "column": 39 + }, + "end": { + "line": 49, + "column": 47 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1310, + "end": 1316, + "loc": { + "start": { + "line": 49, + "column": 41 + }, + "end": { + "line": 49, + "column": 47 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1310, + "end": 1316, + "loc": { + "start": { + "line": 49, + "column": 41 + }, + "end": { + "line": 49, + "column": 47 + }, + "identifierName": "Object" + }, + "name": "Object" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1317, + "end": 1392, + "loc": { + "start": { + "line": 49, + "column": 48 + }, + "end": { + "line": 51, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 1323, + "end": 1388, + "loc": { + "start": { + "line": 50, + "column": 4 + }, + "end": { + "line": 50, + "column": 69 + } + }, + "argument": { + "type": "CallExpression", + "start": 1330, + "end": 1388, + "loc": { + "start": { + "line": 50, + "column": 11 + }, + "end": { + "line": 50, + "column": 69 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1330, + "end": 1343, + "loc": { + "start": { + "line": 50, + "column": 11 + }, + "end": { + "line": 50, + "column": 24 + } + }, + "object": { + "type": "Identifier", + "start": 1330, + "end": 1334, + "loc": { + "start": { + "line": 50, + "column": 11 + }, + "end": { + "line": 50, + "column": 15 + }, + "identifierName": "cron" + }, + "name": "cron" + }, + "property": { + "type": "Identifier", + "start": 1335, + "end": 1343, + "loc": { + "start": { + "line": 50, + "column": 16 + }, + "end": { + "line": 50, + "column": 24 + }, + "identifierName": "schedule" + }, + "name": "schedule" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 1344, + "end": 1357, + "loc": { + "start": { + "line": 50, + "column": 25 + }, + "end": { + "line": 50, + "column": 38 + } + }, + "object": { + "type": "ThisExpression", + "start": 1344, + "end": 1348, + "loc": { + "start": { + "line": 50, + "column": 25 + }, + "end": { + "line": 50, + "column": 29 + } + } + }, + "property": { + "type": "Identifier", + "start": 1349, + "end": 1357, + "loc": { + "start": { + "line": 50, + "column": 30 + }, + "end": { + "line": 50, + "column": 38 + }, + "identifierName": "cronTime" + }, + "name": "cronTime" + }, + "computed": false + }, + { + "type": "MemberExpression", + "start": 1359, + "end": 1380, + "loc": { + "start": { + "line": 50, + "column": 40 + }, + "end": { + "line": 50, + "column": 61 + } + }, + "object": { + "type": "MemberExpression", + "start": 1359, + "end": 1373, + "loc": { + "start": { + "line": 50, + "column": 40 + }, + "end": { + "line": 50, + "column": 54 + } + }, + "object": { + "type": "Identifier", + "start": 1359, + "end": 1365, + "loc": { + "start": { + "line": 50, + "column": 40 + }, + "end": { + "line": 50, + "column": 46 + }, + "identifierName": "PopApi" + }, + "name": "PopApi" + }, + "property": { + "type": "Identifier", + "start": 1366, + "end": 1373, + "loc": { + "start": { + "line": 50, + "column": 47 + }, + "end": { + "line": 50, + "column": 54 + }, + "identifierName": "scraper" + }, + "name": "scraper" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 1374, + "end": 1380, + "loc": { + "start": { + "line": 50, + "column": 55 + }, + "end": { + "line": 50, + "column": 61 + }, + "identifierName": "scrape" + }, + "name": "scrape" + }, + "computed": false + }, + { + "type": "Identifier", + "start": 1382, + "end": 1387, + "loc": { + "start": { + "line": 50, + "column": 63 + }, + "end": { + "line": 50, + "column": 68 + }, + "identifierName": "start" + }, + "name": "start" + } + ] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Get the cron job to run. \n * @param \n * {!PopApi} PopApi - The PopApi instance. \n * @param \n * {?boolean} [start] - Start the cron job. \n * @returns \n * {Object} - A configured cron job. \n", + "start": 1076, + "end": 1268, + "loc": { + "start": { + "line": 43, + "column": 2 + }, + "end": { + "line": 48, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Cron class for executing the scraper periodically.\n * @type {Cron}\n ", + "start": 72, + "end": 149, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Cron class for executing the scraper periodically.\n * @type {Cron}\n ", + "start": 72, + "end": 149, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Cron class for executing the scraper periodically.\n * @type {Cron}\n ", + "start": 72, + "end": 149, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n ", + "start": 181, + "end": 279, + "loc": { + "start": { + "line": 11, + "column": 2 + }, + "end": { + "line": 14, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new Cron object.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {!Object} [options={}] - The options for the Cron middleware.\n * @param {!string} [options.cronTime=0 0 *\\/6 * * *] - The cron tab to\n * execute the scraper.\n * @param {?boolean} [options.start=false] - Start the cronjob on creation.\n ", + "start": 302, + "end": 646, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 24, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n ", + "start": 889, + "end": 993, + "loc": { + "start": { + "line": 35, + "column": 4 + }, + "end": { + "line": 38, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the cron job to run.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {?boolean} [start] - Start the cron job.\n * @returns {Object} - A configured cron job.\n ", + "start": 1076, + "end": 1268, + "loc": { + "start": { + "line": 43, + "column": 2 + }, + "end": { + "line": 48, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 42, + "end": 48, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cron", + "start": 49, + "end": 53, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 54, + "end": 58, + "loc": { + "start": { + "line": 3, + "column": 12 + }, + "end": { + "line": 3, + "column": 16 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "node-cron", + "start": 59, + "end": 70, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 28 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Cron class for executing the scraper periodically.\n * @type {Cron}\n ", + "start": 72, + "end": 149, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "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": 150, + "end": 156, + "loc": { + "start": { + "line": 9, + "column": 0 + }, + "end": { + "line": 9, + "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": 157, + "end": 164, + "loc": { + "start": { + "line": 9, + "column": 7 + }, + "end": { + "line": 9, + "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": 165, + "end": 170, + "loc": { + "start": { + "line": 9, + "column": 15 + }, + "end": { + "line": 9, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Cron", + "start": 171, + "end": 175, + "loc": { + "start": { + "line": 9, + "column": 21 + }, + "end": { + "line": 9, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 176, + "end": 177, + "loc": { + "start": { + "line": 9, + "column": 26 + }, + "end": { + "line": 9, + "column": 27 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n ", + "start": 181, + "end": 279, + "loc": { + "start": { + "line": 11, + "column": 2 + }, + "end": { + "line": 14, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cronTime", + "start": 282, + "end": 290, + "loc": { + "start": { + "line": 15, + "column": 2 + }, + "end": { + "line": 15, + "column": 10 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 290, + "end": 291, + "loc": { + "start": { + "line": 15, + "column": 10 + }, + "end": { + "line": 15, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 292, + "end": 298, + "loc": { + "start": { + "line": 15, + "column": 12 + }, + "end": { + "line": 15, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new Cron object.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {!Object} [options={}] - The options for the Cron middleware.\n * @param {!string} [options.cronTime=0 0 *\\/6 * * *] - The cron tab to\n * execute the scraper.\n * @param {?boolean} [options.start=false] - Start the cronjob on creation.\n ", + "start": 302, + "end": 646, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 24, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 649, + "end": 660, + "loc": { + "start": { + "line": 25, + "column": 2 + }, + "end": { + "line": 25, + "column": 13 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 660, + "end": 661, + "loc": { + "start": { + "line": 25, + "column": 13 + }, + "end": { + "line": 25, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 661, + "end": 667, + "loc": { + "start": { + "line": 25, + "column": 14 + }, + "end": { + "line": 25, + "column": 20 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 667, + "end": 668, + "loc": { + "start": { + "line": 25, + "column": 20 + }, + "end": { + "line": 25, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 669, + "end": 672, + "loc": { + "start": { + "line": 25, + "column": 22 + }, + "end": { + "line": 25, + "column": 25 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 672, + "end": 673, + "loc": { + "start": { + "line": 25, + "column": 25 + }, + "end": { + "line": 25, + "column": 26 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 674, + "end": 675, + "loc": { + "start": { + "line": 25, + "column": 27 + }, + "end": { + "line": 25, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cronTime", + "start": 680, + "end": 688, + "loc": { + "start": { + "line": 26, + "column": 4 + }, + "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": 689, + "end": 690, + "loc": { + "start": { + "line": 26, + "column": 13 + }, + "end": { + "line": 26, + "column": 14 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "0 0 */6 * * *", + "start": 691, + "end": 706, + "loc": { + "start": { + "line": 26, + "column": 15 + }, + "end": { + "line": 26, + "column": 30 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 706, + "end": 707, + "loc": { + "start": { + "line": 26, + "column": 30 + }, + "end": { + "line": 26, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "start", + "start": 712, + "end": 717, + "loc": { + "start": { + "line": 27, + "column": 4 + }, + "end": { + "line": 27, + "column": 9 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 718, + "end": 719, + "loc": { + "start": { + "line": 27, + "column": 10 + }, + "end": { + "line": 27, + "column": 11 + } + } + }, + { + "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": 720, + "end": 725, + "loc": { + "start": { + "line": 27, + "column": 12 + }, + "end": { + "line": 27, + "column": 17 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 728, + "end": 729, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 729, + "end": 730, + "loc": { + "start": { + "line": 28, + "column": 3 + }, + "end": { + "line": 28, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 731, + "end": 737, + "loc": { + "start": { + "line": 28, + "column": 5 + }, + "end": { + "line": 28, + "column": 11 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 738, + "end": 739, + "loc": { + "start": { + "line": 28, + "column": 12 + }, + "end": { + "line": 28, + "column": 13 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 740, + "end": 741, + "loc": { + "start": { + "line": 28, + "column": 14 + }, + "end": { + "line": 28, + "column": 15 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 741, + "end": 742, + "loc": { + "start": { + "line": 28, + "column": 15 + }, + "end": { + "line": 28, + "column": 16 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 742, + "end": 743, + "loc": { + "start": { + "line": 28, + "column": 16 + }, + "end": { + "line": 28, + "column": 17 + } + } + }, + { + "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": 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": "void", + "start": 745, + "end": 749, + "loc": { + "start": { + "line": 28, + "column": 19 + }, + "end": { + "line": 28, + "column": 23 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 750, + "end": 751, + "loc": { + "start": { + "line": 28, + "column": 24 + }, + "end": { + "line": 28, + "column": 25 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 756, + "end": 761, + "loc": { + "start": { + "line": 29, + "column": 4 + }, + "end": { + "line": 29, + "column": 9 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 762, + "end": 763, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 764, + "end": 768, + "loc": { + "start": { + "line": 29, + "column": 12 + }, + "end": { + "line": 29, + "column": 16 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 769, + "end": 770, + "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": 771, + "end": 772, + "loc": { + "start": { + "line": 29, + "column": 19 + }, + "end": { + "line": 29, + "column": 20 + } + } + }, + { + "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": 773, + "end": 777, + "loc": { + "start": { + "line": 29, + "column": 21 + }, + "end": { + "line": 29, + "column": 25 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 777, + "end": 778, + "loc": { + "start": { + "line": 29, + "column": 25 + }, + "end": { + "line": 29, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 778, + "end": 789, + "loc": { + "start": { + "line": 29, + "column": 26 + }, + "end": { + "line": 29, + "column": 37 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 794, + "end": 800, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 30, + "column": 10 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 800, + "end": 801, + "loc": { + "start": { + "line": 30, + "column": 10 + }, + "end": { + "line": 30, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "debug", + "start": 801, + "end": 806, + "loc": { + "start": { + "line": 30, + "column": 11 + }, + "end": { + "line": 30, + "column": 16 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 806, + "end": 807, + "loc": { + "start": { + "line": 30, + "column": 16 + }, + "end": { + "line": 30, + "column": 17 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 807, + "end": 808, + "loc": { + "start": { + "line": 30, + "column": 17 + }, + "end": { + "line": 30, + "column": 18 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Registering ", + "start": 808, + "end": 820, + "loc": { + "start": { + "line": 30, + "column": 18 + }, + "end": { + "line": 30, + "column": 30 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 820, + "end": 822, + "loc": { + "start": { + "line": 30, + "column": 30 + }, + "end": { + "line": 30, + "column": 32 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 822, + "end": 826, + "loc": { + "start": { + "line": 30, + "column": 32 + }, + "end": { + "line": 30, + "column": 36 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 826, + "end": 827, + "loc": { + "start": { + "line": 30, + "column": 36 + }, + "end": { + "line": 30, + "column": 37 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": " with options: %o", + "start": 827, + "end": 844, + "loc": { + "start": { + "line": 30, + "column": 37 + }, + "end": { + "line": 30, + "column": 54 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 844, + "end": 845, + "loc": { + "start": { + "line": 30, + "column": 54 + }, + "end": { + "line": 30, + "column": 55 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 845, + "end": 846, + "loc": { + "start": { + "line": 30, + "column": 55 + }, + "end": { + "line": 30, + "column": 56 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 847, + "end": 848, + "loc": { + "start": { + "line": 30, + "column": 57 + }, + "end": { + "line": 30, + "column": 58 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cronTime", + "start": 855, + "end": 863, + "loc": { + "start": { + "line": 31, + "column": 6 + }, + "end": { + "line": 31, + "column": 14 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 863, + "end": 864, + "loc": { + "start": { + "line": 31, + "column": 14 + }, + "end": { + "line": 31, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "start", + "start": 871, + "end": 876, + "loc": { + "start": { + "line": 32, + "column": 6 + }, + "end": { + "line": 32, + "column": 11 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 881, + "end": 882, + "loc": { + "start": { + "line": 33, + "column": 4 + }, + "end": { + "line": 33, + "column": 5 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 882, + "end": 883, + "loc": { + "start": { + "line": 33, + "column": 5 + }, + "end": { + "line": 33, + "column": 6 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n ", + "start": 889, + "end": 993, + "loc": { + "start": { + "line": 35, + "column": 4 + }, + "end": { + "line": 38, + "column": 7 + } + } + }, + { + "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": 998, + "end": 1002, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1002, + "end": 1003, + "loc": { + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 39, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cronTime", + "start": 1003, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 9 + }, + "end": { + "line": 39, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1012, + "end": 1013, + "loc": { + "start": { + "line": 39, + "column": 18 + }, + "end": { + "line": 39, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cronTime", + "start": 1014, + "end": 1022, + "loc": { + "start": { + "line": 39, + "column": 20 + }, + "end": { + "line": 39, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 1027, + "end": 1033, + "loc": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 40, + "column": 10 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1033, + "end": 1034, + "loc": { + "start": { + "line": 40, + "column": 10 + }, + "end": { + "line": 40, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cron", + "start": 1034, + "end": 1038, + "loc": { + "start": { + "line": 40, + "column": 11 + }, + "end": { + "line": 40, + "column": 15 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1039, + "end": 1040, + "loc": { + "start": { + "line": 40, + "column": 16 + }, + "end": { + "line": 40, + "column": 17 + } + } + }, + { + "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": 1041, + "end": 1045, + "loc": { + "start": { + "line": 40, + "column": 18 + }, + "end": { + "line": 40, + "column": 22 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1045, + "end": 1046, + "loc": { + "start": { + "line": 40, + "column": 22 + }, + "end": { + "line": 40, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "getCron", + "start": 1046, + "end": 1053, + "loc": { + "start": { + "line": 40, + "column": 23 + }, + "end": { + "line": 40, + "column": 30 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1053, + "end": 1054, + "loc": { + "start": { + "line": 40, + "column": 30 + }, + "end": { + "line": 40, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 1054, + "end": 1060, + "loc": { + "start": { + "line": 40, + "column": 31 + }, + "end": { + "line": 40, + "column": 37 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1060, + "end": 1061, + "loc": { + "start": { + "line": 40, + "column": 37 + }, + "end": { + "line": 40, + "column": 38 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "start", + "start": 1062, + "end": 1067, + "loc": { + "start": { + "line": 40, + "column": 39 + }, + "end": { + "line": 40, + "column": 44 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1067, + "end": 1068, + "loc": { + "start": { + "line": 40, + "column": 44 + }, + "end": { + "line": 40, + "column": 45 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1071, + "end": 1072, + "loc": { + "start": { + "line": 41, + "column": 2 + }, + "end": { + "line": 41, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the cron job to run.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {?boolean} [start] - Start the cron job.\n * @returns {Object} - A configured cron job.\n ", + "start": 1076, + "end": 1268, + "loc": { + "start": { + "line": 43, + "column": 2 + }, + "end": { + "line": 48, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "getCron", + "start": 1271, + "end": 1278, + "loc": { + "start": { + "line": 49, + "column": 2 + }, + "end": { + "line": 49, + "column": 9 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1278, + "end": 1279, + "loc": { + "start": { + "line": 49, + "column": 9 + }, + "end": { + "line": 49, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 1279, + "end": 1285, + "loc": { + "start": { + "line": 49, + "column": 10 + }, + "end": { + "line": 49, + "column": 16 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1285, + "end": 1286, + "loc": { + "start": { + "line": 49, + "column": 16 + }, + "end": { + "line": 49, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 1287, + "end": 1290, + "loc": { + "start": { + "line": 49, + "column": 18 + }, + "end": { + "line": 49, + "column": 21 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1290, + "end": 1291, + "loc": { + "start": { + "line": 49, + "column": 21 + }, + "end": { + "line": 49, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "start", + "start": 1292, + "end": 1297, + "loc": { + "start": { + "line": 49, + "column": 23 + }, + "end": { + "line": 49, + "column": 28 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1297, + "end": 1298, + "loc": { + "start": { + "line": 49, + "column": 28 + }, + "end": { + "line": 49, + "column": 29 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1298, + "end": 1299, + "loc": { + "start": { + "line": 49, + "column": 29 + }, + "end": { + "line": 49, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "boolean", + "start": 1300, + "end": 1307, + "loc": { + "start": { + "line": 49, + "column": 31 + }, + "end": { + "line": 49, + "column": 38 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1307, + "end": 1308, + "loc": { + "start": { + "line": 49, + "column": 38 + }, + "end": { + "line": 49, + "column": 39 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1308, + "end": 1309, + "loc": { + "start": { + "line": 49, + "column": 39 + }, + "end": { + "line": 49, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1310, + "end": 1316, + "loc": { + "start": { + "line": 49, + "column": 41 + }, + "end": { + "line": 49, + "column": 47 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1317, + "end": 1318, + "loc": { + "start": { + "line": 49, + "column": 48 + }, + "end": { + "line": 49, + "column": 49 + } + } + }, + { + "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": 1323, + "end": 1329, + "loc": { + "start": { + "line": 50, + "column": 4 + }, + "end": { + "line": 50, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cron", + "start": 1330, + "end": 1334, + "loc": { + "start": { + "line": 50, + "column": 11 + }, + "end": { + "line": 50, + "column": 15 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1334, + "end": 1335, + "loc": { + "start": { + "line": 50, + "column": 15 + }, + "end": { + "line": 50, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "schedule", + "start": 1335, + "end": 1343, + "loc": { + "start": { + "line": 50, + "column": 16 + }, + "end": { + "line": 50, + "column": 24 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1343, + "end": 1344, + "loc": { + "start": { + "line": 50, + "column": 24 + }, + "end": { + "line": 50, + "column": 25 + } + } + }, + { + "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": 1344, + "end": 1348, + "loc": { + "start": { + "line": 50, + "column": 25 + }, + "end": { + "line": 50, + "column": 29 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1348, + "end": 1349, + "loc": { + "start": { + "line": 50, + "column": 29 + }, + "end": { + "line": 50, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cronTime", + "start": 1349, + "end": 1357, + "loc": { + "start": { + "line": 50, + "column": 30 + }, + "end": { + "line": 50, + "column": 38 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1357, + "end": 1358, + "loc": { + "start": { + "line": 50, + "column": 38 + }, + "end": { + "line": 50, + "column": 39 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 1359, + "end": 1365, + "loc": { + "start": { + "line": 50, + "column": 40 + }, + "end": { + "line": 50, + "column": 46 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1365, + "end": 1366, + "loc": { + "start": { + "line": 50, + "column": 46 + }, + "end": { + "line": 50, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scraper", + "start": 1366, + "end": 1373, + "loc": { + "start": { + "line": 50, + "column": 47 + }, + "end": { + "line": 50, + "column": 54 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1373, + "end": 1374, + "loc": { + "start": { + "line": 50, + "column": 54 + }, + "end": { + "line": 50, + "column": 55 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrape", + "start": 1374, + "end": 1380, + "loc": { + "start": { + "line": 50, + "column": 55 + }, + "end": { + "line": 50, + "column": 61 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1380, + "end": 1381, + "loc": { + "start": { + "line": 50, + "column": 61 + }, + "end": { + "line": 50, + "column": 62 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "start", + "start": 1382, + "end": 1387, + "loc": { + "start": { + "line": 50, + "column": 63 + }, + "end": { + "line": 50, + "column": 68 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1387, + "end": 1388, + "loc": { + "start": { + "line": 50, + "column": 68 + }, + "end": { + "line": 50, + "column": 69 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1391, + "end": 1392, + "loc": { + "start": { + "line": 51, + "column": 2 + }, + "end": { + "line": 51, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1394, + "end": 1395, + "loc": { + "start": { + "line": 53, + "column": 0 + }, + "end": { + "line": 53, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1396, + "end": 1396, + "loc": { + "start": { + "line": 54, + "column": 0 + }, + "end": { + "line": 54, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/PopApiScraper.js.json b/docs/ast/source/PopApiScraper.js.json new file mode 100644 index 0000000..515fec8 --- /dev/null +++ b/docs/ast/source/PopApiScraper.js.json @@ -0,0 +1,19236 @@ +{ + "type": "File", + "start": 0, + "end": 4568, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 169, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 4568, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 169, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ImportDeclaration", + "start": 42, + "end": 67, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 25 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 49, + "end": 51, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 9 + } + }, + "local": { + "type": "Identifier", + "start": 49, + "end": 51, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 9 + }, + "identifierName": "fs" + }, + "name": "fs", + "leadingComments": null + }, + "leadingComments": null + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 57, + "end": 67, + "loc": { + "start": { + "line": 3, + "column": 15 + }, + "end": { + "line": 3, + "column": 25 + } + }, + "extra": { + "rawValue": "fs-extra", + "raw": "'fs-extra'" + }, + "value": "fs-extra" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + } + ] + }, + { + "type": "ImportDeclaration", + "start": 68, + "end": 92, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 24 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 75, + "end": 79, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 11 + } + }, + "local": { + "type": "Identifier", + "start": 75, + "end": 79, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 11 + }, + "identifierName": "pMap" + }, + "name": "pMap" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 85, + "end": 92, + "loc": { + "start": { + "line": 4, + "column": 17 + }, + "end": { + "line": 4, + "column": 24 + } + }, + "extra": { + "rawValue": "p-map", + "raw": "'p-map'" + }, + "value": "p-map" + } + }, + { + "type": "ImportDeclaration", + "start": 94, + "end": 125, + "loc": { + "start": { + "line": 6, + "column": 0 + }, + "end": { + "line": 6, + "column": 31 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 101, + "end": 108, + "loc": { + "start": { + "line": 6, + "column": 7 + }, + "end": { + "line": 6, + "column": 14 + } + }, + "local": { + "type": "Identifier", + "start": 101, + "end": 108, + "loc": { + "start": { + "line": 6, + "column": 7 + }, + "end": { + "line": 6, + "column": 14 + }, + "identifierName": "Context" + }, + "name": "Context" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 114, + "end": 125, + "loc": { + "start": { + "line": 6, + "column": 20 + }, + "end": { + "line": 6, + "column": 31 + } + }, + "extra": { + "rawValue": "./Context", + "raw": "'./Context'" + }, + "value": "./Context", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "* @external {PopApi} https://github.com/ChrisAlderson/pop-api ", + "start": 127, + "end": 193, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 66 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for Initiating the scraping process.\n * @type {PopApiScraper}\n ", + "start": 195, + "end": 273, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 13, + "column": 3 + } + } + } + ] + }, + { + "type": "ExportDefaultDeclaration", + "start": 274, + "end": 4567, + "loc": { + "start": { + "line": 14, + "column": 0 + }, + "end": { + "line": 168, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 289, + "end": 4567, + "loc": { + "start": { + "line": 14, + "column": 15 + }, + "end": { + "line": 168, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 295, + "end": 308, + "loc": { + "start": { + "line": 14, + "column": 21 + }, + "end": { + "line": 14, + "column": 34 + }, + "identifierName": "PopApiScraper" + }, + "name": "PopApiScraper", + "leadingComments": null + }, + "superClass": null, + "body": { + "type": "ClassBody", + "start": 309, + "end": 4567, + "loc": { + "start": { + "line": 14, + "column": 35 + }, + "end": { + "line": 168, + "column": 1 + } + }, + "body": [ + { + "type": "ClassProperty", + "start": 393, + "end": 409, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 20, + "column": 18 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 393, + "end": 400, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 20, + "column": 9 + }, + "identifierName": "context" + }, + "name": "context", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 400, + "end": 409, + "loc": { + "start": { + "line": 20, + "column": 9 + }, + "end": { + "line": 20, + "column": 18 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 402, + "end": 409, + "loc": { + "start": { + "line": 20, + "column": 11 + }, + "end": { + "line": 20, + "column": 18 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 402, + "end": 409, + "loc": { + "start": { + "line": 20, + "column": 11 + }, + "end": { + "line": 20, + "column": 18 + }, + "identifierName": "Context" + }, + "name": "Context", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The context to execute the providers in. \n * @type \n * {Context} \n * @type \n * {Context} \n", + "start": 314, + "end": 390, + "loc": { + "start": { + "line": 16, + "column": 2 + }, + "end": { + "line": 19, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 413, + "end": 508, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 25, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 511, + "end": 529, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 26, + "column": 20 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 511, + "end": 521, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 26, + "column": 12 + }, + "identifierName": "statusPath" + }, + "name": "statusPath", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 521, + "end": 529, + "loc": { + "start": { + "line": 26, + "column": 12 + }, + "end": { + "line": 26, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 523, + "end": 529, + "loc": { + "start": { + "line": 26, + "column": 14 + }, + "end": { + "line": 26, + "column": 20 + } + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The path of the status file. Default is `./tmp/status.json`. \n * @type \n * {string} \n * @type \n * {string} \n", + "start": 413, + "end": 508, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 25, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 533, + "end": 630, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 31, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 633, + "end": 652, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 32, + "column": 21 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 633, + "end": 644, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 32, + "column": 13 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 644, + "end": 652, + "loc": { + "start": { + "line": 32, + "column": 13 + }, + "end": { + "line": 32, + "column": 21 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 646, + "end": 652, + "loc": { + "start": { + "line": 32, + "column": 15 + }, + "end": { + "line": 32, + "column": 21 + } + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The path of the updated file. Default is `./tmp/updated.json`. \n * @type \n * {string} \n * @type \n * {string} \n", + "start": 533, + "end": 630, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 31, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * A map of the installed plugins.\n * @type {Map}\n ", + "start": 656, + "end": 724, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 37, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 727, + "end": 781, + "loc": { + "start": { + "line": 38, + "column": 2 + }, + "end": { + "line": 38, + "column": 56 + } + }, + "static": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 734, + "end": 751, + "loc": { + "start": { + "line": 38, + "column": 9 + }, + "end": { + "line": 38, + "column": 26 + }, + "identifierName": "_installedPlugins" + }, + "name": "_installedPlugins" + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 751, + "end": 769, + "loc": { + "start": { + "line": 38, + "column": 26 + }, + "end": { + "line": 38, + "column": 44 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 753, + "end": 769, + "loc": { + "start": { + "line": 38, + "column": 28 + }, + "end": { + "line": 38, + "column": 44 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 756, + "end": 769, + "loc": { + "start": { + "line": 38, + "column": 31 + }, + "end": { + "line": 38, + "column": 44 + } + }, + "params": [ + { + "type": "StringTypeAnnotation", + "start": 757, + "end": 763, + "loc": { + "start": { + "line": 38, + "column": 32 + }, + "end": { + "line": 38, + "column": 38 + } + } + }, + { + "type": "AnyTypeAnnotation", + "start": 765, + "end": 768, + "loc": { + "start": { + "line": 38, + "column": 40 + }, + "end": { + "line": 38, + "column": 43 + } + } + } + ] + }, + "id": { + "type": "Identifier", + "start": 753, + "end": 756, + "loc": { + "start": { + "line": 38, + "column": 28 + }, + "end": { + "line": 38, + "column": 31 + }, + "identifierName": "Map" + }, + "name": "Map" + } + } + }, + "value": { + "type": "NewExpression", + "start": 772, + "end": 781, + "loc": { + "start": { + "line": 38, + "column": 47 + }, + "end": { + "line": 38, + "column": 56 + } + }, + "callee": { + "type": "Identifier", + "start": 776, + "end": 779, + "loc": { + "start": { + "line": 38, + "column": 51 + }, + "end": { + "line": 38, + "column": 54 + }, + "identifierName": "Map" + }, + "name": "Map" + }, + "arguments": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * A map of the installed plugins. \n * @type \n * {Map} \n * @type \n * {Map} \n", + "start": 656, + "end": 724, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 37, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new BaseScraper object.\n * The base modules for popcorn-api\n * @param {!PopApi} PopApi - The PopApiScraper instance.\n * @param {!Object} options - The options for the BaseScraper middleware.\n * @param {!string} options.statusPath = - The path of the status file.\n * @param {!string} options.updatedPath - The path of the updated file.\n ", + "start": 785, + "end": 1153, + "loc": { + "start": { + "line": 40, + "column": 2 + }, + "end": { + "line": 47, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1156, + "end": 2072, + "loc": { + "start": { + "line": 48, + "column": 2 + }, + "end": { + "line": 82, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1156, + "end": 1167, + "loc": { + "start": { + "line": 48, + "column": 2 + }, + "end": { + "line": 48, + "column": 13 + }, + "identifierName": "constructor" + }, + "name": "constructor", + "leadingComments": null + }, + "kind": "constructor", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1168, + "end": 1179, + "loc": { + "start": { + "line": 48, + "column": 14 + }, + "end": { + "line": 48, + "column": 25 + }, + "identifierName": "PopApi" + }, + "name": "PopApi", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1174, + "end": 1179, + "loc": { + "start": { + "line": 48, + "column": 20 + }, + "end": { + "line": 48, + "column": 25 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 1176, + "end": 1179, + "loc": { + "start": { + "line": 48, + "column": 22 + }, + "end": { + "line": 48, + "column": 25 + } + } + } + } + }, + { + "type": "ObjectPattern", + "start": 1181, + "end": 1226, + "loc": { + "start": { + "line": 48, + "column": 27 + }, + "end": { + "line": 51, + "column": 11 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1187, + "end": 1197, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 49, + "column": 14 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1187, + "end": 1197, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 49, + "column": 14 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "value": { + "type": "Identifier", + "start": 1187, + "end": 1197, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 49, + "column": 14 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 1203, + "end": 1214, + "loc": { + "start": { + "line": 50, + "column": 4 + }, + "end": { + "line": 50, + "column": 15 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1203, + "end": 1214, + "loc": { + "start": { + "line": 50, + "column": 4 + }, + "end": { + "line": 50, + "column": 15 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "value": { + "type": "Identifier", + "start": 1203, + "end": 1214, + "loc": { + "start": { + "line": 50, + "column": 4 + }, + "end": { + "line": 50, + "column": 15 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "extra": { + "shorthand": true + } + } + ], + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1218, + "end": 1226, + "loc": { + "start": { + "line": 51, + "column": 3 + }, + "end": { + "line": 51, + "column": 11 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1220, + "end": 1226, + "loc": { + "start": { + "line": 51, + "column": 5 + }, + "end": { + "line": 51, + "column": 11 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1220, + "end": 1226, + "loc": { + "start": { + "line": 51, + "column": 5 + }, + "end": { + "line": 51, + "column": 11 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1227, + "end": 1233, + "loc": { + "start": { + "line": 51, + "column": 12 + }, + "end": { + "line": 51, + "column": 18 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 1229, + "end": 1233, + "loc": { + "start": { + "line": 51, + "column": 14 + }, + "end": { + "line": 51, + "column": 18 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1234, + "end": 2072, + "loc": { + "start": { + "line": 51, + "column": 19 + }, + "end": { + "line": 82, + "column": 3 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 1240, + "end": 1273, + "loc": { + "start": { + "line": 52, + "column": 4 + }, + "end": { + "line": 52, + "column": 37 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 1246, + "end": 1273, + "loc": { + "start": { + "line": 52, + "column": 10 + }, + "end": { + "line": 52, + "column": 37 + } + }, + "id": { + "type": "ObjectPattern", + "start": 1246, + "end": 1254, + "loc": { + "start": { + "line": 52, + "column": 10 + }, + "end": { + "line": 52, + "column": 18 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1248, + "end": 1252, + "loc": { + "start": { + "line": 52, + "column": 12 + }, + "end": { + "line": 52, + "column": 16 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1248, + "end": 1252, + "loc": { + "start": { + "line": 52, + "column": 12 + }, + "end": { + "line": 52, + "column": 16 + }, + "identifierName": "name" + }, + "name": "name" + }, + "value": { + "type": "Identifier", + "start": 1248, + "end": 1252, + "loc": { + "start": { + "line": 52, + "column": 12 + }, + "end": { + "line": 52, + "column": 16 + }, + "identifierName": "name" + }, + "name": "name" + }, + "extra": { + "shorthand": true + } + } + ] + }, + "init": { + "type": "MemberExpression", + "start": 1257, + "end": 1273, + "loc": { + "start": { + "line": 52, + "column": 21 + }, + "end": { + "line": 52, + "column": 37 + } + }, + "object": { + "type": "ThisExpression", + "start": 1257, + "end": 1261, + "loc": { + "start": { + "line": 52, + "column": 21 + }, + "end": { + "line": 52, + "column": 25 + } + } + }, + "property": { + "type": "Identifier", + "start": 1262, + "end": 1273, + "loc": { + "start": { + "line": 52, + "column": 26 + }, + "end": { + "line": 52, + "column": 37 + }, + "identifierName": "constructor" + }, + "name": "constructor" + }, + "computed": false + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 1278, + "end": 1375, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 56, + "column": 6 + } + }, + "expression": { + "type": "CallExpression", + "start": 1278, + "end": 1375, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 56, + "column": 6 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1278, + "end": 1290, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 16 + } + }, + "object": { + "type": "Identifier", + "start": 1278, + "end": 1284, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 10 + }, + "identifierName": "PopApi" + }, + "name": "PopApi" + }, + "property": { + "type": "Identifier", + "start": 1285, + "end": 1290, + "loc": { + "start": { + "line": 53, + "column": 11 + }, + "end": { + "line": 53, + "column": 16 + }, + "identifierName": "debug" + }, + "name": "debug" + }, + "computed": false + }, + "arguments": [ + { + "type": "TemplateLiteral", + "start": 1291, + "end": 1329, + "loc": { + "start": { + "line": 53, + "column": 17 + }, + "end": { + "line": 53, + "column": 55 + } + }, + "expressions": [ + { + "type": "Identifier", + "start": 1306, + "end": 1310, + "loc": { + "start": { + "line": 53, + "column": 32 + }, + "end": { + "line": 53, + "column": 36 + }, + "identifierName": "name" + }, + "name": "name" + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 1292, + "end": 1304, + "loc": { + "start": { + "line": 53, + "column": 18 + }, + "end": { + "line": 53, + "column": 30 + } + }, + "value": { + "raw": "Registering ", + "cooked": "Registering " + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 1311, + "end": 1328, + "loc": { + "start": { + "line": 53, + "column": 37 + }, + "end": { + "line": 53, + "column": 54 + } + }, + "value": { + "raw": " with options: %o", + "cooked": " with options: %o" + }, + "tail": true + } + ] + }, + { + "type": "ObjectExpression", + "start": 1331, + "end": 1374, + "loc": { + "start": { + "line": 53, + "column": 57 + }, + "end": { + "line": 56, + "column": 5 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1339, + "end": 1349, + "loc": { + "start": { + "line": 54, + "column": 6 + }, + "end": { + "line": 54, + "column": 16 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1339, + "end": 1349, + "loc": { + "start": { + "line": 54, + "column": 6 + }, + "end": { + "line": 54, + "column": 16 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "value": { + "type": "Identifier", + "start": 1339, + "end": 1349, + "loc": { + "start": { + "line": 54, + "column": 6 + }, + "end": { + "line": 54, + "column": 16 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 1357, + "end": 1368, + "loc": { + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 55, + "column": 17 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1357, + "end": 1368, + "loc": { + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 55, + "column": 17 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "value": { + "type": "Identifier", + "start": 1357, + "end": 1368, + "loc": { + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 55, + "column": 17 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "extra": { + "shorthand": true + } + } + ] + } + ] + } + }, + { + "type": "IfStatement", + "start": 1381, + "end": 1540, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 60, + "column": 5 + } + }, + "test": { + "type": "LogicalExpression", + "start": 1385, + "end": 1412, + "loc": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 58, + "column": 35 + } + }, + "left": { + "type": "UnaryExpression", + "start": 1385, + "end": 1396, + "loc": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 58, + "column": 19 + } + }, + "operator": "!", + "prefix": true, + "argument": { + "type": "Identifier", + "start": 1386, + "end": 1396, + "loc": { + "start": { + "line": 58, + "column": 9 + }, + "end": { + "line": 58, + "column": 19 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "extra": { + "parenthesizedArgument": false + } + }, + "operator": "||", + "right": { + "type": "UnaryExpression", + "start": 1400, + "end": 1412, + "loc": { + "start": { + "line": 58, + "column": 23 + }, + "end": { + "line": 58, + "column": 35 + } + }, + "operator": "!", + "prefix": true, + "argument": { + "type": "Identifier", + "start": 1401, + "end": 1412, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 35 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "extra": { + "parenthesizedArgument": false + } + } + }, + "consequent": { + "type": "BlockStatement", + "start": 1414, + "end": 1540, + "loc": { + "start": { + "line": 58, + "column": 37 + }, + "end": { + "line": 60, + "column": 5 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 1422, + "end": 1534, + "loc": { + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 59, + "column": 118 + } + }, + "argument": { + "type": "NewExpression", + "start": 1428, + "end": 1534, + "loc": { + "start": { + "line": 59, + "column": 12 + }, + "end": { + "line": 59, + "column": 118 + } + }, + "callee": { + "type": "Identifier", + "start": 1432, + "end": 1441, + "loc": { + "start": { + "line": 59, + "column": 16 + }, + "end": { + "line": 59, + "column": 25 + }, + "identifierName": "TypeError" + }, + "name": "TypeError" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1442, + "end": 1533, + "loc": { + "start": { + "line": 59, + "column": 26 + }, + "end": { + "line": 59, + "column": 117 + } + }, + "extra": { + "rawValue": "'statusPath' and 'updatedPath' are required options for the PopApiScraper middleware!", + "raw": "'\\'statusPath\\' and \\'updatedPath\\' are required options for the PopApiScraper middleware!'" + }, + "value": "'statusPath' and 'updatedPath' are required options for the PopApiScraper middleware!" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "alternate": null, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The context to execute the providers in.\n * @type {Context}\n ", + "start": 1546, + "end": 1628, + "loc": { + "start": { + "line": 62, + "column": 4 + }, + "end": { + "line": 65, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1633, + "end": 1661, + "loc": { + "start": { + "line": 66, + "column": 4 + }, + "end": { + "line": 66, + "column": 32 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1633, + "end": 1661, + "loc": { + "start": { + "line": 66, + "column": 4 + }, + "end": { + "line": 66, + "column": 32 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1633, + "end": 1645, + "loc": { + "start": { + "line": 66, + "column": 4 + }, + "end": { + "line": 66, + "column": 16 + } + }, + "object": { + "type": "ThisExpression", + "start": 1633, + "end": 1637, + "loc": { + "start": { + "line": 66, + "column": 4 + }, + "end": { + "line": 66, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1638, + "end": 1645, + "loc": { + "start": { + "line": 66, + "column": 9 + }, + "end": { + "line": 66, + "column": 16 + }, + "identifierName": "context" + }, + "name": "context" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "NewExpression", + "start": 1648, + "end": 1661, + "loc": { + "start": { + "line": 66, + "column": 19 + }, + "end": { + "line": 66, + "column": 32 + } + }, + "callee": { + "type": "Identifier", + "start": 1652, + "end": 1659, + "loc": { + "start": { + "line": 66, + "column": 23 + }, + "end": { + "line": 66, + "column": 30 + }, + "identifierName": "Context" + }, + "name": "Context" + }, + "arguments": [], + "trailingComments": null + }, + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The context to execute the providers in.\n * @type {Context}\n ", + "start": 1546, + "end": 1628, + "loc": { + "start": { + "line": 62, + "column": 4 + }, + "end": { + "line": 65, + "column": 7 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 1666, + "end": 1767, + "loc": { + "start": { + "line": 67, + "column": 4 + }, + "end": { + "line": 70, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1772, + "end": 1800, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 32 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1772, + "end": 1800, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 32 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1772, + "end": 1787, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 19 + } + }, + "object": { + "type": "ThisExpression", + "start": 1772, + "end": 1776, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1777, + "end": 1787, + "loc": { + "start": { + "line": 71, + "column": 9 + }, + "end": { + "line": 71, + "column": 19 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1790, + "end": 1800, + "loc": { + "start": { + "line": 71, + "column": 22 + }, + "end": { + "line": 71, + "column": 32 + }, + "identifierName": "statusPath" + }, + "name": "statusPath", + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 1666, + "end": 1767, + "loc": { + "start": { + "line": 67, + "column": 4 + }, + "end": { + "line": 70, + "column": 7 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 1805, + "end": 1908, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 75, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1913, + "end": 1943, + "loc": { + "start": { + "line": 76, + "column": 4 + }, + "end": { + "line": 76, + "column": 34 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1913, + "end": 1943, + "loc": { + "start": { + "line": 76, + "column": 4 + }, + "end": { + "line": 76, + "column": 34 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1913, + "end": 1929, + "loc": { + "start": { + "line": 76, + "column": 4 + }, + "end": { + "line": 76, + "column": 20 + } + }, + "object": { + "type": "ThisExpression", + "start": 1913, + "end": 1917, + "loc": { + "start": { + "line": 76, + "column": 4 + }, + "end": { + "line": 76, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1918, + "end": 1929, + "loc": { + "start": { + "line": 76, + "column": 9 + }, + "end": { + "line": 76, + "column": 20 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1932, + "end": 1943, + "loc": { + "start": { + "line": 76, + "column": 23 + }, + "end": { + "line": 76, + "column": 34 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "leadingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 1805, + "end": 1908, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 75, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1949, + "end": 1992, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 47 + } + }, + "expression": { + "type": "CallExpression", + "start": 1949, + "end": 1992, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 47 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1949, + "end": 1990, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 45 + } + }, + "object": { + "type": "CallExpression", + "start": 1949, + "end": 1986, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 41 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1949, + "end": 1969, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 24 + } + }, + "object": { + "type": "Identifier", + "start": 1949, + "end": 1951, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 6 + }, + "identifierName": "fs" + }, + "name": "fs" + }, + "property": { + "type": "Identifier", + "start": 1952, + "end": 1969, + "loc": { + "start": { + "line": 78, + "column": 7 + }, + "end": { + "line": 78, + "column": 24 + }, + "identifierName": "createWriteStream" + }, + "name": "createWriteStream" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 1970, + "end": 1985, + "loc": { + "start": { + "line": 78, + "column": 25 + }, + "end": { + "line": 78, + "column": 40 + } + }, + "object": { + "type": "ThisExpression", + "start": 1970, + "end": 1974, + "loc": { + "start": { + "line": 78, + "column": 25 + }, + "end": { + "line": 78, + "column": 29 + } + } + }, + "property": { + "type": "Identifier", + "start": 1975, + "end": 1985, + "loc": { + "start": { + "line": 78, + "column": 30 + }, + "end": { + "line": 78, + "column": 40 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "computed": false + } + ] + }, + "property": { + "type": "Identifier", + "start": 1987, + "end": 1990, + "loc": { + "start": { + "line": 78, + "column": 42 + }, + "end": { + "line": 78, + "column": 45 + }, + "identifierName": "end" + }, + "name": "end" + }, + "computed": false + }, + "arguments": [] + } + }, + { + "type": "ExpressionStatement", + "start": 1997, + "end": 2041, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 48 + } + }, + "expression": { + "type": "CallExpression", + "start": 1997, + "end": 2041, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 48 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1997, + "end": 2039, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 46 + } + }, + "object": { + "type": "CallExpression", + "start": 1997, + "end": 2035, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 42 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1997, + "end": 2017, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 24 + } + }, + "object": { + "type": "Identifier", + "start": 1997, + "end": 1999, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 6 + }, + "identifierName": "fs" + }, + "name": "fs" + }, + "property": { + "type": "Identifier", + "start": 2000, + "end": 2017, + "loc": { + "start": { + "line": 79, + "column": 7 + }, + "end": { + "line": 79, + "column": 24 + }, + "identifierName": "createWriteStream" + }, + "name": "createWriteStream" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 2018, + "end": 2034, + "loc": { + "start": { + "line": 79, + "column": 25 + }, + "end": { + "line": 79, + "column": 41 + } + }, + "object": { + "type": "ThisExpression", + "start": 2018, + "end": 2022, + "loc": { + "start": { + "line": 79, + "column": 25 + }, + "end": { + "line": 79, + "column": 29 + } + } + }, + "property": { + "type": "Identifier", + "start": 2023, + "end": 2034, + "loc": { + "start": { + "line": 79, + "column": 30 + }, + "end": { + "line": 79, + "column": 41 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "computed": false + } + ] + }, + "property": { + "type": "Identifier", + "start": 2036, + "end": 2039, + "loc": { + "start": { + "line": 79, + "column": 43 + }, + "end": { + "line": 79, + "column": 46 + }, + "identifierName": "end" + }, + "name": "end" + }, + "computed": false + }, + "arguments": [] + } + }, + { + "type": "ExpressionStatement", + "start": 2047, + "end": 2068, + "loc": { + "start": { + "line": 81, + "column": 4 + }, + "end": { + "line": 81, + "column": 25 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 2047, + "end": 2068, + "loc": { + "start": { + "line": 81, + "column": 4 + }, + "end": { + "line": 81, + "column": 25 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 2047, + "end": 2061, + "loc": { + "start": { + "line": 81, + "column": 4 + }, + "end": { + "line": 81, + "column": 18 + } + }, + "object": { + "type": "Identifier", + "start": 2047, + "end": 2053, + "loc": { + "start": { + "line": 81, + "column": 4 + }, + "end": { + "line": 81, + "column": 10 + }, + "identifierName": "PopApi" + }, + "name": "PopApi" + }, + "property": { + "type": "Identifier", + "start": 2054, + "end": 2061, + "loc": { + "start": { + "line": 81, + "column": 11 + }, + "end": { + "line": 81, + "column": 18 + }, + "identifierName": "scraper" + }, + "name": "scraper" + }, + "computed": false + }, + "right": { + "type": "ThisExpression", + "start": 2064, + "end": 2068, + "loc": { + "start": { + "line": 81, + "column": 21 + }, + "end": { + "line": 81, + "column": 25 + } + } + } + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new BaseScraper object.\n * The base modules for popcorn-api\n * @param {!PopApi} PopApi - The PopApiScraper instance.\n * @param {!Object} options - The options for the BaseScraper middleware.\n * @param {!string} options.statusPath = - The path of the status file.\n * @param {!string} options.updatedPath - The path of the updated file.\n ", + "start": 785, + "end": 1153, + "loc": { + "start": { + "line": 40, + "column": 2 + }, + "end": { + "line": 47, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Get the status object.\n * @returns {Promise} - The status of the scraping process.\n ", + "start": 2076, + "end": 2190, + "loc": { + "start": { + "line": 84, + "column": 2 + }, + "end": { + "line": 87, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2193, + "end": 2283, + "loc": { + "start": { + "line": 88, + "column": 2 + }, + "end": { + "line": 90, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2193, + "end": 2202, + "loc": { + "start": { + "line": 88, + "column": 2 + }, + "end": { + "line": 88, + "column": 11 + }, + "identifierName": "getStatus" + }, + "name": "getStatus", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [], + "returnType": { + "type": "TypeAnnotation", + "start": 2204, + "end": 2229, + "loc": { + "start": { + "line": 88, + "column": 13 + }, + "end": { + "line": 88, + "column": 38 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2206, + "end": 2229, + "loc": { + "start": { + "line": 88, + "column": 15 + }, + "end": { + "line": 88, + "column": 38 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2213, + "end": 2229, + "loc": { + "start": { + "line": 88, + "column": 22 + }, + "end": { + "line": 88, + "column": 38 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2214, + "end": 2228, + "loc": { + "start": { + "line": 88, + "column": 23 + }, + "end": { + "line": 88, + "column": 37 + } + }, + "types": [ + { + "type": "StringTypeAnnotation", + "start": 2214, + "end": 2220, + "loc": { + "start": { + "line": 88, + "column": 23 + }, + "end": { + "line": 88, + "column": 29 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2223, + "end": 2228, + "loc": { + "start": { + "line": 88, + "column": 32 + }, + "end": { + "line": 88, + "column": 37 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2223, + "end": 2228, + "loc": { + "start": { + "line": 88, + "column": 32 + }, + "end": { + "line": 88, + "column": 37 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2206, + "end": 2213, + "loc": { + "start": { + "line": 88, + "column": 15 + }, + "end": { + "line": 88, + "column": 22 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2230, + "end": 2283, + "loc": { + "start": { + "line": 88, + "column": 39 + }, + "end": { + "line": 90, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 2236, + "end": 2279, + "loc": { + "start": { + "line": 89, + "column": 4 + }, + "end": { + "line": 89, + "column": 47 + } + }, + "argument": { + "type": "CallExpression", + "start": 2243, + "end": 2279, + "loc": { + "start": { + "line": 89, + "column": 11 + }, + "end": { + "line": 89, + "column": 47 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2243, + "end": 2254, + "loc": { + "start": { + "line": 89, + "column": 11 + }, + "end": { + "line": 89, + "column": 22 + } + }, + "object": { + "type": "Identifier", + "start": 2243, + "end": 2245, + "loc": { + "start": { + "line": 89, + "column": 11 + }, + "end": { + "line": 89, + "column": 13 + }, + "identifierName": "fs" + }, + "name": "fs" + }, + "property": { + "type": "Identifier", + "start": 2246, + "end": 2254, + "loc": { + "start": { + "line": 89, + "column": 14 + }, + "end": { + "line": 89, + "column": 22 + }, + "identifierName": "readFile" + }, + "name": "readFile" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 2255, + "end": 2270, + "loc": { + "start": { + "line": 89, + "column": 23 + }, + "end": { + "line": 89, + "column": 38 + } + }, + "object": { + "type": "ThisExpression", + "start": 2255, + "end": 2259, + "loc": { + "start": { + "line": 89, + "column": 23 + }, + "end": { + "line": 89, + "column": 27 + } + } + }, + "property": { + "type": "Identifier", + "start": 2260, + "end": 2270, + "loc": { + "start": { + "line": 89, + "column": 28 + }, + "end": { + "line": 89, + "column": 38 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "computed": false + }, + { + "type": "StringLiteral", + "start": 2272, + "end": 2278, + "loc": { + "start": { + "line": 89, + "column": 40 + }, + "end": { + "line": 89, + "column": 46 + } + }, + "extra": { + "rawValue": "utf8", + "raw": "'utf8'" + }, + "value": "utf8" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Get the status object. \n * @returns \n * {Promise} - The status of the scraping process. \n", + "start": 2076, + "end": 2190, + "loc": { + "start": { + "line": 84, + "column": 2 + }, + "end": { + "line": 87, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Updates the `status.json` file.\n * @param {!string} status - The status which will be set to in the\n * `status.json` file.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n ", + "start": 2287, + "end": 2522, + "loc": { + "start": { + "line": 92, + "column": 2 + }, + "end": { + "line": 98, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2525, + "end": 2638, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 101, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2525, + "end": 2534, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 99, + "column": 11 + }, + "identifierName": "setStatus" + }, + "name": "setStatus", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2535, + "end": 2549, + "loc": { + "start": { + "line": 99, + "column": 12 + }, + "end": { + "line": 99, + "column": 26 + }, + "identifierName": "status" + }, + "name": "status", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2541, + "end": 2549, + "loc": { + "start": { + "line": 99, + "column": 18 + }, + "end": { + "line": 99, + "column": 26 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2543, + "end": 2549, + "loc": { + "start": { + "line": 99, + "column": 20 + }, + "end": { + "line": 99, + "column": 26 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2550, + "end": 2575, + "loc": { + "start": { + "line": 99, + "column": 27 + }, + "end": { + "line": 99, + "column": 52 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2552, + "end": 2575, + "loc": { + "start": { + "line": 99, + "column": 29 + }, + "end": { + "line": 99, + "column": 52 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2559, + "end": 2575, + "loc": { + "start": { + "line": 99, + "column": 36 + }, + "end": { + "line": 99, + "column": 52 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2560, + "end": 2574, + "loc": { + "start": { + "line": 99, + "column": 37 + }, + "end": { + "line": 99, + "column": 51 + } + }, + "types": [ + { + "type": "StringTypeAnnotation", + "start": 2560, + "end": 2566, + "loc": { + "start": { + "line": 99, + "column": 37 + }, + "end": { + "line": 99, + "column": 43 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2569, + "end": 2574, + "loc": { + "start": { + "line": 99, + "column": 46 + }, + "end": { + "line": 99, + "column": 51 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2569, + "end": 2574, + "loc": { + "start": { + "line": 99, + "column": 46 + }, + "end": { + "line": 99, + "column": 51 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2552, + "end": 2559, + "loc": { + "start": { + "line": 99, + "column": 29 + }, + "end": { + "line": 99, + "column": 36 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2576, + "end": 2638, + "loc": { + "start": { + "line": 99, + "column": 53 + }, + "end": { + "line": 101, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 2582, + "end": 2634, + "loc": { + "start": { + "line": 100, + "column": 4 + }, + "end": { + "line": 100, + "column": 56 + } + }, + "argument": { + "type": "CallExpression", + "start": 2589, + "end": 2634, + "loc": { + "start": { + "line": 100, + "column": 11 + }, + "end": { + "line": 100, + "column": 56 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2589, + "end": 2601, + "loc": { + "start": { + "line": 100, + "column": 11 + }, + "end": { + "line": 100, + "column": 23 + } + }, + "object": { + "type": "Identifier", + "start": 2589, + "end": 2591, + "loc": { + "start": { + "line": 100, + "column": 11 + }, + "end": { + "line": 100, + "column": 13 + }, + "identifierName": "fs" + }, + "name": "fs" + }, + "property": { + "type": "Identifier", + "start": 2592, + "end": 2601, + "loc": { + "start": { + "line": 100, + "column": 14 + }, + "end": { + "line": 100, + "column": 23 + }, + "identifierName": "writeFile" + }, + "name": "writeFile" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 2602, + "end": 2617, + "loc": { + "start": { + "line": 100, + "column": 24 + }, + "end": { + "line": 100, + "column": 39 + } + }, + "object": { + "type": "ThisExpression", + "start": 2602, + "end": 2606, + "loc": { + "start": { + "line": 100, + "column": 24 + }, + "end": { + "line": 100, + "column": 28 + } + } + }, + "property": { + "type": "Identifier", + "start": 2607, + "end": 2617, + "loc": { + "start": { + "line": 100, + "column": 29 + }, + "end": { + "line": 100, + "column": 39 + }, + "identifierName": "statusPath" + }, + "name": "statusPath" + }, + "computed": false + }, + { + "type": "Identifier", + "start": 2619, + "end": 2625, + "loc": { + "start": { + "line": 100, + "column": 41 + }, + "end": { + "line": 100, + "column": 47 + }, + "identifierName": "status" + }, + "name": "status" + }, + { + "type": "StringLiteral", + "start": 2627, + "end": 2633, + "loc": { + "start": { + "line": 100, + "column": 49 + }, + "end": { + "line": 100, + "column": 55 + } + }, + "extra": { + "rawValue": "utf8", + "raw": "'utf8'" + }, + "value": "utf8" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Updates the `status.json` file. \n * @param \n * {!string} status - The status which will be set to in the\n * `status.json` file. \n * @returns \n * {Promise} - 'ok' if saved, or the error is there\n * is one. \n", + "start": 2287, + "end": 2522, + "loc": { + "start": { + "line": 92, + "column": 2 + }, + "end": { + "line": 98, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Get the updated object.\n * @returns {Promise} - The status of the scraping process.\n ", + "start": 2642, + "end": 2757, + "loc": { + "start": { + "line": 103, + "column": 2 + }, + "end": { + "line": 106, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2760, + "end": 2884, + "loc": { + "start": { + "line": 107, + "column": 2 + }, + "end": { + "line": 110, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2760, + "end": 2770, + "loc": { + "start": { + "line": 107, + "column": 2 + }, + "end": { + "line": 107, + "column": 12 + }, + "identifierName": "getUpdated" + }, + "name": "getUpdated", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [], + "returnType": { + "type": "TypeAnnotation", + "start": 2772, + "end": 2797, + "loc": { + "start": { + "line": 107, + "column": 14 + }, + "end": { + "line": 107, + "column": 39 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2774, + "end": 2797, + "loc": { + "start": { + "line": 107, + "column": 16 + }, + "end": { + "line": 107, + "column": 39 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2781, + "end": 2797, + "loc": { + "start": { + "line": 107, + "column": 23 + }, + "end": { + "line": 107, + "column": 39 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2782, + "end": 2796, + "loc": { + "start": { + "line": 107, + "column": 24 + }, + "end": { + "line": 107, + "column": 38 + } + }, + "types": [ + { + "type": "NumberTypeAnnotation", + "start": 2782, + "end": 2788, + "loc": { + "start": { + "line": 107, + "column": 24 + }, + "end": { + "line": 107, + "column": 30 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2791, + "end": 2796, + "loc": { + "start": { + "line": 107, + "column": 33 + }, + "end": { + "line": 107, + "column": 38 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2791, + "end": 2796, + "loc": { + "start": { + "line": 107, + "column": 33 + }, + "end": { + "line": 107, + "column": 38 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2774, + "end": 2781, + "loc": { + "start": { + "line": 107, + "column": 16 + }, + "end": { + "line": 107, + "column": 23 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2798, + "end": 2884, + "loc": { + "start": { + "line": 107, + "column": 40 + }, + "end": { + "line": 110, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 2804, + "end": 2880, + "loc": { + "start": { + "line": 108, + "column": 4 + }, + "end": { + "line": 109, + "column": 31 + } + }, + "argument": { + "type": "CallExpression", + "start": 2811, + "end": 2880, + "loc": { + "start": { + "line": 108, + "column": 11 + }, + "end": { + "line": 109, + "column": 31 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2811, + "end": 2860, + "loc": { + "start": { + "line": 108, + "column": 11 + }, + "end": { + "line": 109, + "column": 11 + } + }, + "object": { + "type": "CallExpression", + "start": 2811, + "end": 2848, + "loc": { + "start": { + "line": 108, + "column": 11 + }, + "end": { + "line": 108, + "column": 48 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2811, + "end": 2822, + "loc": { + "start": { + "line": 108, + "column": 11 + }, + "end": { + "line": 108, + "column": 22 + } + }, + "object": { + "type": "Identifier", + "start": 2811, + "end": 2813, + "loc": { + "start": { + "line": 108, + "column": 11 + }, + "end": { + "line": 108, + "column": 13 + }, + "identifierName": "fs" + }, + "name": "fs" + }, + "property": { + "type": "Identifier", + "start": 2814, + "end": 2822, + "loc": { + "start": { + "line": 108, + "column": 14 + }, + "end": { + "line": 108, + "column": 22 + }, + "identifierName": "readFile" + }, + "name": "readFile" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 2823, + "end": 2839, + "loc": { + "start": { + "line": 108, + "column": 23 + }, + "end": { + "line": 108, + "column": 39 + } + }, + "object": { + "type": "ThisExpression", + "start": 2823, + "end": 2827, + "loc": { + "start": { + "line": 108, + "column": 23 + }, + "end": { + "line": 108, + "column": 27 + } + } + }, + "property": { + "type": "Identifier", + "start": 2828, + "end": 2839, + "loc": { + "start": { + "line": 108, + "column": 28 + }, + "end": { + "line": 108, + "column": 39 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "computed": false + }, + { + "type": "StringLiteral", + "start": 2841, + "end": 2847, + "loc": { + "start": { + "line": 108, + "column": 41 + }, + "end": { + "line": 108, + "column": 47 + } + }, + "extra": { + "rawValue": "utf8", + "raw": "'utf8'" + }, + "value": "utf8" + } + ] + }, + "property": { + "type": "Identifier", + "start": 2856, + "end": 2860, + "loc": { + "start": { + "line": 109, + "column": 7 + }, + "end": { + "line": 109, + "column": 11 + }, + "identifierName": "then" + }, + "name": "then" + }, + "computed": false + }, + "arguments": [ + { + "type": "ArrowFunctionExpression", + "start": 2861, + "end": 2879, + "loc": { + "start": { + "line": 109, + "column": 12 + }, + "end": { + "line": 109, + "column": 30 + } + }, + "id": null, + "generator": false, + "expression": true, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2861, + "end": 2864, + "loc": { + "start": { + "line": 109, + "column": 12 + }, + "end": { + "line": 109, + "column": 15 + }, + "identifierName": "res" + }, + "name": "res" + } + ], + "body": { + "type": "CallExpression", + "start": 2868, + "end": 2879, + "loc": { + "start": { + "line": 109, + "column": 19 + }, + "end": { + "line": 109, + "column": 30 + } + }, + "callee": { + "type": "Identifier", + "start": 2868, + "end": 2874, + "loc": { + "start": { + "line": 109, + "column": 19 + }, + "end": { + "line": 109, + "column": 25 + }, + "identifierName": "Number" + }, + "name": "Number" + }, + "arguments": [ + { + "type": "Identifier", + "start": 2875, + "end": 2878, + "loc": { + "start": { + "line": 109, + "column": 26 + }, + "end": { + "line": 109, + "column": 29 + }, + "identifierName": "res" + }, + "name": "res" + } + ] + } + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Get the updated object. \n * @returns \n * {Promise} - The status of the scraping process. \n", + "start": 2642, + "end": 2757, + "loc": { + "start": { + "line": 103, + "column": 2 + }, + "end": { + "line": 106, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Updates the `updated.json` file.\n * @param {!number} updated - The epoch time when the API last started\n * scraping.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n ", + "start": 2888, + "end": 3117, + "loc": { + "start": { + "line": 112, + "column": 2 + }, + "end": { + "line": 118, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 3120, + "end": 3245, + "loc": { + "start": { + "line": 119, + "column": 2 + }, + "end": { + "line": 121, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 3120, + "end": 3130, + "loc": { + "start": { + "line": 119, + "column": 2 + }, + "end": { + "line": 119, + "column": 12 + }, + "identifierName": "setUpdated" + }, + "name": "setUpdated", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 3131, + "end": 3146, + "loc": { + "start": { + "line": 119, + "column": 13 + }, + "end": { + "line": 119, + "column": 28 + }, + "identifierName": "updated" + }, + "name": "updated", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3138, + "end": 3146, + "loc": { + "start": { + "line": 119, + "column": 20 + }, + "end": { + "line": 119, + "column": 28 + } + }, + "typeAnnotation": { + "type": "NumberTypeAnnotation", + "start": 3140, + "end": 3146, + "loc": { + "start": { + "line": 119, + "column": 22 + }, + "end": { + "line": 119, + "column": 28 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 3147, + "end": 3172, + "loc": { + "start": { + "line": 119, + "column": 29 + }, + "end": { + "line": 119, + "column": 54 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 3149, + "end": 3172, + "loc": { + "start": { + "line": 119, + "column": 31 + }, + "end": { + "line": 119, + "column": 54 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 3156, + "end": 3172, + "loc": { + "start": { + "line": 119, + "column": 38 + }, + "end": { + "line": 119, + "column": 54 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 3157, + "end": 3171, + "loc": { + "start": { + "line": 119, + "column": 39 + }, + "end": { + "line": 119, + "column": 53 + } + }, + "types": [ + { + "type": "StringTypeAnnotation", + "start": 3157, + "end": 3163, + "loc": { + "start": { + "line": 119, + "column": 39 + }, + "end": { + "line": 119, + "column": 45 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 3166, + "end": 3171, + "loc": { + "start": { + "line": 119, + "column": 48 + }, + "end": { + "line": 119, + "column": 53 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 3166, + "end": 3171, + "loc": { + "start": { + "line": 119, + "column": 48 + }, + "end": { + "line": 119, + "column": 53 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 3149, + "end": 3156, + "loc": { + "start": { + "line": 119, + "column": 31 + }, + "end": { + "line": 119, + "column": 38 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 3173, + "end": 3245, + "loc": { + "start": { + "line": 119, + "column": 55 + }, + "end": { + "line": 121, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 3179, + "end": 3241, + "loc": { + "start": { + "line": 120, + "column": 4 + }, + "end": { + "line": 120, + "column": 66 + } + }, + "argument": { + "type": "CallExpression", + "start": 3186, + "end": 3241, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 66 + } + }, + "callee": { + "type": "MemberExpression", + "start": 3186, + "end": 3198, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 23 + } + }, + "object": { + "type": "Identifier", + "start": 3186, + "end": 3188, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 13 + }, + "identifierName": "fs" + }, + "name": "fs" + }, + "property": { + "type": "Identifier", + "start": 3189, + "end": 3198, + "loc": { + "start": { + "line": 120, + "column": 14 + }, + "end": { + "line": 120, + "column": 23 + }, + "identifierName": "writeFile" + }, + "name": "writeFile" + }, + "computed": false + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 3199, + "end": 3215, + "loc": { + "start": { + "line": 120, + "column": 24 + }, + "end": { + "line": 120, + "column": 40 + } + }, + "object": { + "type": "ThisExpression", + "start": 3199, + "end": 3203, + "loc": { + "start": { + "line": 120, + "column": 24 + }, + "end": { + "line": 120, + "column": 28 + } + } + }, + "property": { + "type": "Identifier", + "start": 3204, + "end": 3215, + "loc": { + "start": { + "line": 120, + "column": 29 + }, + "end": { + "line": 120, + "column": 40 + }, + "identifierName": "updatedPath" + }, + "name": "updatedPath" + }, + "computed": false + }, + { + "type": "CallExpression", + "start": 3217, + "end": 3232, + "loc": { + "start": { + "line": 120, + "column": 42 + }, + "end": { + "line": 120, + "column": 57 + } + }, + "callee": { + "type": "Identifier", + "start": 3217, + "end": 3223, + "loc": { + "start": { + "line": 120, + "column": 42 + }, + "end": { + "line": 120, + "column": 48 + }, + "identifierName": "String" + }, + "name": "String" + }, + "arguments": [ + { + "type": "Identifier", + "start": 3224, + "end": 3231, + "loc": { + "start": { + "line": 120, + "column": 49 + }, + "end": { + "line": 120, + "column": 56 + }, + "identifierName": "updated" + }, + "name": "updated" + } + ] + }, + { + "type": "StringLiteral", + "start": 3234, + "end": 3240, + "loc": { + "start": { + "line": 120, + "column": 59 + }, + "end": { + "line": 120, + "column": 65 + } + }, + "extra": { + "rawValue": "utf8", + "raw": "'utf8'" + }, + "value": "utf8" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Updates the `updated.json` file. \n * @param \n * {!number} updated - The epoch time when the API last started\n * scraping. \n * @returns \n * {Promise} - 'ok' if saved, or the error is there\n * is one. \n", + "start": 2888, + "end": 3117, + "loc": { + "start": { + "line": 112, + "column": 2 + }, + "end": { + "line": 118, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Register middleware for the PopApi framework.\n * @param {!Function} Plugin - The plugin to use.\n * @param {!Object} args - The arguments passed down to the constructor of\n * the plugin.\n * @returns {Promise} - The PopApi instance with the installed\n * plugins.\n ", + "start": 3249, + "end": 3549, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 130, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 3552, + "end": 3875, + "loc": { + "start": { + "line": 131, + "column": 2 + }, + "end": { + "line": 145, + "column": 3 + } + }, + "static": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 3559, + "end": 3562, + "loc": { + "start": { + "line": 131, + "column": 9 + }, + "end": { + "line": 131, + "column": 12 + }, + "identifierName": "use" + }, + "name": "use" + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 3563, + "end": 3574, + "loc": { + "start": { + "line": 131, + "column": 13 + }, + "end": { + "line": 131, + "column": 24 + }, + "identifierName": "Plugin" + }, + "name": "Plugin", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3569, + "end": 3574, + "loc": { + "start": { + "line": 131, + "column": 19 + }, + "end": { + "line": 131, + "column": 24 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 3571, + "end": 3574, + "loc": { + "start": { + "line": 131, + "column": 21 + }, + "end": { + "line": 131, + "column": 24 + } + } + } + } + }, + { + "type": "RestElement", + "start": 3576, + "end": 3588, + "loc": { + "start": { + "line": 131, + "column": 26 + }, + "end": { + "line": 131, + "column": 38 + } + }, + "argument": { + "type": "Identifier", + "start": 3579, + "end": 3583, + "loc": { + "start": { + "line": 131, + "column": 29 + }, + "end": { + "line": 131, + "column": 33 + }, + "identifierName": "args" + }, + "name": "args" + }, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3583, + "end": 3588, + "loc": { + "start": { + "line": 131, + "column": 33 + }, + "end": { + "line": 131, + "column": 38 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 3585, + "end": 3588, + "loc": { + "start": { + "line": 131, + "column": 35 + }, + "end": { + "line": 131, + "column": 38 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 3589, + "end": 3594, + "loc": { + "start": { + "line": 131, + "column": 39 + }, + "end": { + "line": 131, + "column": 44 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 3591, + "end": 3594, + "loc": { + "start": { + "line": 131, + "column": 41 + }, + "end": { + "line": 131, + "column": 44 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 3595, + "end": 3875, + "loc": { + "start": { + "line": 131, + "column": 45 + }, + "end": { + "line": 145, + "column": 3 + } + }, + "body": [ + { + "type": "IfStatement", + "start": 3601, + "end": 3675, + "loc": { + "start": { + "line": 132, + "column": 4 + }, + "end": { + "line": 134, + "column": 5 + } + }, + "test": { + "type": "CallExpression", + "start": 3605, + "end": 3648, + "loc": { + "start": { + "line": 132, + "column": 8 + }, + "end": { + "line": 132, + "column": 51 + } + }, + "callee": { + "type": "MemberExpression", + "start": 3605, + "end": 3640, + "loc": { + "start": { + "line": 132, + "column": 8 + }, + "end": { + "line": 132, + "column": 43 + } + }, + "object": { + "type": "MemberExpression", + "start": 3605, + "end": 3636, + "loc": { + "start": { + "line": 132, + "column": 8 + }, + "end": { + "line": 132, + "column": 39 + } + }, + "object": { + "type": "Identifier", + "start": 3605, + "end": 3618, + "loc": { + "start": { + "line": 132, + "column": 8 + }, + "end": { + "line": 132, + "column": 21 + }, + "identifierName": "PopApiScraper" + }, + "name": "PopApiScraper" + }, + "property": { + "type": "Identifier", + "start": 3619, + "end": 3636, + "loc": { + "start": { + "line": 132, + "column": 22 + }, + "end": { + "line": 132, + "column": 39 + }, + "identifierName": "_installedPlugins" + }, + "name": "_installedPlugins" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 3637, + "end": 3640, + "loc": { + "start": { + "line": 132, + "column": 40 + }, + "end": { + "line": 132, + "column": 43 + }, + "identifierName": "has" + }, + "name": "has" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 3641, + "end": 3647, + "loc": { + "start": { + "line": 132, + "column": 44 + }, + "end": { + "line": 132, + "column": 50 + }, + "identifierName": "Plugin" + }, + "name": "Plugin" + } + ] + }, + "consequent": { + "type": "BlockStatement", + "start": 3650, + "end": 3675, + "loc": { + "start": { + "line": 132, + "column": 53 + }, + "end": { + "line": 134, + "column": 5 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 3658, + "end": 3669, + "loc": { + "start": { + "line": 133, + "column": 6 + }, + "end": { + "line": 133, + "column": 17 + } + }, + "argument": { + "type": "ThisExpression", + "start": 3665, + "end": 3669, + "loc": { + "start": { + "line": 133, + "column": 13 + }, + "end": { + "line": 133, + "column": 17 + } + } + } + } + ], + "directives": [] + }, + "alternate": null + }, + { + "type": "VariableDeclaration", + "start": 3681, + "end": 3771, + "loc": { + "start": { + "line": 136, + "column": 4 + }, + "end": { + "line": 138, + "column": 12 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 3687, + "end": 3771, + "loc": { + "start": { + "line": 136, + "column": 10 + }, + "end": { + "line": 138, + "column": 12 + } + }, + "id": { + "type": "Identifier", + "start": 3687, + "end": 3693, + "loc": { + "start": { + "line": 136, + "column": 10 + }, + "end": { + "line": 136, + "column": 16 + }, + "identifierName": "plugin" + }, + "name": "plugin" + }, + "init": { + "type": "ConditionalExpression", + "start": 3696, + "end": 3771, + "loc": { + "start": { + "line": 136, + "column": 19 + }, + "end": { + "line": 138, + "column": 12 + } + }, + "test": { + "type": "BinaryExpression", + "start": 3696, + "end": 3724, + "loc": { + "start": { + "line": 136, + "column": 19 + }, + "end": { + "line": 136, + "column": 47 + } + }, + "left": { + "type": "UnaryExpression", + "start": 3696, + "end": 3709, + "loc": { + "start": { + "line": 136, + "column": 19 + }, + "end": { + "line": 136, + "column": 32 + } + }, + "operator": "typeof", + "prefix": true, + "argument": { + "type": "Identifier", + "start": 3703, + "end": 3709, + "loc": { + "start": { + "line": 136, + "column": 26 + }, + "end": { + "line": 136, + "column": 32 + }, + "identifierName": "Plugin" + }, + "name": "Plugin" + }, + "extra": { + "parenthesizedArgument": false + } + }, + "operator": "===", + "right": { + "type": "StringLiteral", + "start": 3714, + "end": 3724, + "loc": { + "start": { + "line": 136, + "column": 37 + }, + "end": { + "line": 136, + "column": 47 + } + }, + "extra": { + "rawValue": "function", + "raw": "'function'" + }, + "value": "function" + } + }, + "consequent": { + "type": "NewExpression", + "start": 3733, + "end": 3758, + "loc": { + "start": { + "line": 137, + "column": 8 + }, + "end": { + "line": 137, + "column": 33 + } + }, + "callee": { + "type": "Identifier", + "start": 3737, + "end": 3743, + "loc": { + "start": { + "line": 137, + "column": 12 + }, + "end": { + "line": 137, + "column": 18 + }, + "identifierName": "Plugin" + }, + "name": "Plugin" + }, + "arguments": [ + { + "type": "ThisExpression", + "start": 3744, + "end": 3748, + "loc": { + "start": { + "line": 137, + "column": 19 + }, + "end": { + "line": 137, + "column": 23 + } + } + }, + { + "type": "SpreadElement", + "start": 3750, + "end": 3757, + "loc": { + "start": { + "line": 137, + "column": 25 + }, + "end": { + "line": 137, + "column": 32 + } + }, + "argument": { + "type": "Identifier", + "start": 3753, + "end": 3757, + "loc": { + "start": { + "line": 137, + "column": 28 + }, + "end": { + "line": 137, + "column": 32 + }, + "identifierName": "args" + }, + "name": "args" + } + } + ] + }, + "alternate": { + "type": "NullLiteral", + "start": 3767, + "end": 3771, + "loc": { + "start": { + "line": 138, + "column": 8 + }, + "end": { + "line": 138, + "column": 12 + } + } + } + } + } + ], + "kind": "const" + }, + { + "type": "IfStatement", + "start": 3777, + "end": 3854, + "loc": { + "start": { + "line": 140, + "column": 4 + }, + "end": { + "line": 142, + "column": 5 + } + }, + "test": { + "type": "Identifier", + "start": 3781, + "end": 3787, + "loc": { + "start": { + "line": 140, + "column": 8 + }, + "end": { + "line": 140, + "column": 14 + }, + "identifierName": "plugin" + }, + "name": "plugin" + }, + "consequent": { + "type": "BlockStatement", + "start": 3789, + "end": 3854, + "loc": { + "start": { + "line": 140, + "column": 16 + }, + "end": { + "line": 142, + "column": 5 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 3797, + "end": 3848, + "loc": { + "start": { + "line": 141, + "column": 6 + }, + "end": { + "line": 141, + "column": 57 + } + }, + "expression": { + "type": "CallExpression", + "start": 3797, + "end": 3848, + "loc": { + "start": { + "line": 141, + "column": 6 + }, + "end": { + "line": 141, + "column": 57 + } + }, + "callee": { + "type": "MemberExpression", + "start": 3797, + "end": 3832, + "loc": { + "start": { + "line": 141, + "column": 6 + }, + "end": { + "line": 141, + "column": 41 + } + }, + "object": { + "type": "MemberExpression", + "start": 3797, + "end": 3828, + "loc": { + "start": { + "line": 141, + "column": 6 + }, + "end": { + "line": 141, + "column": 37 + } + }, + "object": { + "type": "Identifier", + "start": 3797, + "end": 3810, + "loc": { + "start": { + "line": 141, + "column": 6 + }, + "end": { + "line": 141, + "column": 19 + }, + "identifierName": "PopApiScraper" + }, + "name": "PopApiScraper" + }, + "property": { + "type": "Identifier", + "start": 3811, + "end": 3828, + "loc": { + "start": { + "line": 141, + "column": 20 + }, + "end": { + "line": 141, + "column": 37 + }, + "identifierName": "_installedPlugins" + }, + "name": "_installedPlugins" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 3829, + "end": 3832, + "loc": { + "start": { + "line": 141, + "column": 38 + }, + "end": { + "line": 141, + "column": 41 + }, + "identifierName": "set" + }, + "name": "set" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 3833, + "end": 3839, + "loc": { + "start": { + "line": 141, + "column": 42 + }, + "end": { + "line": 141, + "column": 48 + }, + "identifierName": "Plugin" + }, + "name": "Plugin" + }, + { + "type": "Identifier", + "start": 3841, + "end": 3847, + "loc": { + "start": { + "line": 141, + "column": 50 + }, + "end": { + "line": 141, + "column": 56 + }, + "identifierName": "plugin" + }, + "name": "plugin" + } + ] + } + } + ], + "directives": [] + }, + "alternate": null + }, + { + "type": "ReturnStatement", + "start": 3860, + "end": 3871, + "loc": { + "start": { + "line": 144, + "column": 4 + }, + "end": { + "line": 144, + "column": 15 + } + }, + "argument": { + "type": "ThisExpression", + "start": 3867, + "end": 3871, + "loc": { + "start": { + "line": 144, + "column": 11 + }, + "end": { + "line": 144, + "column": 15 + } + } + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Register middleware for the PopApi framework. \n * @param \n * {!Function} Plugin - The plugin to use. \n * @param \n * {!Object} args - The arguments passed down to the constructor of\n * the plugin. \n * @returns \n * {Promise} - The PopApi instance with the installed\n * plugins. \n", + "start": 3249, + "end": 3549, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 130, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Initiate the scraping.\n * @param {!number} [concurrency=1] - How many providers to scrape\n * concurrently.\n * @returns {Promise, Error>} - The array of the scraped\n * content.\n ", + "start": 3878, + "end": 4090, + "loc": { + "start": { + "line": 146, + "column": 2 + }, + "end": { + "line": 152, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 4093, + "end": 4564, + "loc": { + "start": { + "line": 153, + "column": 2 + }, + "end": { + "line": 166, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 4099, + "end": 4105, + "loc": { + "start": { + "line": 153, + "column": 8 + }, + "end": { + "line": 153, + "column": 14 + }, + "identifierName": "scrape" + }, + "name": "scrape" + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": true, + "params": [ + { + "type": "AssignmentPattern", + "start": 4106, + "end": 4130, + "loc": { + "start": { + "line": 153, + "column": 15 + }, + "end": { + "line": 153, + "column": 39 + } + }, + "left": { + "type": "Identifier", + "start": 4106, + "end": 4126, + "loc": { + "start": { + "line": 153, + "column": 15 + }, + "end": { + "line": 153, + "column": 35 + }, + "identifierName": "concurrency" + }, + "name": "concurrency", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 4118, + "end": 4126, + "loc": { + "start": { + "line": 153, + "column": 27 + }, + "end": { + "line": 153, + "column": 35 + } + }, + "typeAnnotation": { + "type": "NumberTypeAnnotation", + "start": 4120, + "end": 4126, + "loc": { + "start": { + "line": 153, + "column": 29 + }, + "end": { + "line": 153, + "column": 35 + } + } + } + } + }, + "right": { + "type": "NumericLiteral", + "start": 4129, + "end": 4130, + "loc": { + "start": { + "line": 153, + "column": 38 + }, + "end": { + "line": 153, + "column": 39 + } + }, + "extra": { + "rawValue": 1, + "raw": "1" + }, + "value": 1 + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 4131, + "end": 4163, + "loc": { + "start": { + "line": 153, + "column": 40 + }, + "end": { + "line": 153, + "column": 72 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 4133, + "end": 4163, + "loc": { + "start": { + "line": 153, + "column": 42 + }, + "end": { + "line": 153, + "column": 72 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 4140, + "end": 4163, + "loc": { + "start": { + "line": 153, + "column": 49 + }, + "end": { + "line": 153, + "column": 72 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 4141, + "end": 4162, + "loc": { + "start": { + "line": 153, + "column": 50 + }, + "end": { + "line": 153, + "column": 71 + } + }, + "types": [ + { + "type": "GenericTypeAnnotation", + "start": 4141, + "end": 4154, + "loc": { + "start": { + "line": 153, + "column": 50 + }, + "end": { + "line": 153, + "column": 63 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 4146, + "end": 4154, + "loc": { + "start": { + "line": 153, + "column": 55 + }, + "end": { + "line": 153, + "column": 63 + } + }, + "params": [ + { + "type": "GenericTypeAnnotation", + "start": 4147, + "end": 4153, + "loc": { + "start": { + "line": 153, + "column": 56 + }, + "end": { + "line": 153, + "column": 62 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 4147, + "end": 4153, + "loc": { + "start": { + "line": 153, + "column": 56 + }, + "end": { + "line": 153, + "column": 62 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + ] + }, + "id": { + "type": "Identifier", + "start": 4141, + "end": 4146, + "loc": { + "start": { + "line": 153, + "column": 50 + }, + "end": { + "line": 153, + "column": 55 + }, + "identifierName": "Array" + }, + "name": "Array" + } + }, + { + "type": "GenericTypeAnnotation", + "start": 4157, + "end": 4162, + "loc": { + "start": { + "line": 153, + "column": 66 + }, + "end": { + "line": 153, + "column": 71 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 4157, + "end": 4162, + "loc": { + "start": { + "line": 153, + "column": 66 + }, + "end": { + "line": 153, + "column": 71 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 4133, + "end": 4140, + "loc": { + "start": { + "line": 153, + "column": 42 + }, + "end": { + "line": 153, + "column": 49 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 4164, + "end": 4564, + "loc": { + "start": { + "line": 153, + "column": 73 + }, + "end": { + "line": 166, + "column": 3 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 4170, + "end": 4232, + "loc": { + "start": { + "line": 154, + "column": 4 + }, + "end": { + "line": 154, + "column": 66 + } + }, + "expression": { + "type": "AwaitExpression", + "start": 4170, + "end": 4232, + "loc": { + "start": { + "line": 154, + "column": 4 + }, + "end": { + "line": 154, + "column": 66 + } + }, + "argument": { + "type": "CallExpression", + "start": 4176, + "end": 4232, + "loc": { + "start": { + "line": 154, + "column": 10 + }, + "end": { + "line": 154, + "column": 66 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4176, + "end": 4191, + "loc": { + "start": { + "line": 154, + "column": 10 + }, + "end": { + "line": 154, + "column": 25 + } + }, + "object": { + "type": "ThisExpression", + "start": 4176, + "end": 4180, + "loc": { + "start": { + "line": 154, + "column": 10 + }, + "end": { + "line": 154, + "column": 14 + } + } + }, + "property": { + "type": "Identifier", + "start": 4181, + "end": 4191, + "loc": { + "start": { + "line": 154, + "column": 15 + }, + "end": { + "line": 154, + "column": 25 + }, + "identifierName": "setUpdated" + }, + "name": "setUpdated" + }, + "computed": false + }, + "arguments": [ + { + "type": "CallExpression", + "start": 4192, + "end": 4231, + "loc": { + "start": { + "line": 154, + "column": 26 + }, + "end": { + "line": 154, + "column": 65 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4192, + "end": 4202, + "loc": { + "start": { + "line": 154, + "column": 26 + }, + "end": { + "line": 154, + "column": 36 + } + }, + "object": { + "type": "Identifier", + "start": 4192, + "end": 4196, + "loc": { + "start": { + "line": 154, + "column": 26 + }, + "end": { + "line": 154, + "column": 30 + }, + "identifierName": "Math" + }, + "name": "Math" + }, + "property": { + "type": "Identifier", + "start": 4197, + "end": 4202, + "loc": { + "start": { + "line": 154, + "column": 31 + }, + "end": { + "line": 154, + "column": 36 + }, + "identifierName": "floor" + }, + "name": "floor" + }, + "computed": false + }, + "arguments": [ + { + "type": "BinaryExpression", + "start": 4203, + "end": 4230, + "loc": { + "start": { + "line": 154, + "column": 37 + }, + "end": { + "line": 154, + "column": 64 + } + }, + "left": { + "type": "CallExpression", + "start": 4203, + "end": 4223, + "loc": { + "start": { + "line": 154, + "column": 37 + }, + "end": { + "line": 154, + "column": 57 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4203, + "end": 4221, + "loc": { + "start": { + "line": 154, + "column": 37 + }, + "end": { + "line": 154, + "column": 55 + } + }, + "object": { + "type": "NewExpression", + "start": 4203, + "end": 4213, + "loc": { + "start": { + "line": 154, + "column": 37 + }, + "end": { + "line": 154, + "column": 47 + } + }, + "callee": { + "type": "Identifier", + "start": 4207, + "end": 4211, + "loc": { + "start": { + "line": 154, + "column": 41 + }, + "end": { + "line": 154, + "column": 45 + }, + "identifierName": "Date" + }, + "name": "Date" + }, + "arguments": [] + }, + "property": { + "type": "Identifier", + "start": 4214, + "end": 4221, + "loc": { + "start": { + "line": 154, + "column": 48 + }, + "end": { + "line": 154, + "column": 55 + }, + "identifierName": "getTime" + }, + "name": "getTime" + }, + "computed": false + }, + "arguments": [] + }, + "operator": "/", + "right": { + "type": "NumericLiteral", + "start": 4226, + "end": 4230, + "loc": { + "start": { + "line": 154, + "column": 60 + }, + "end": { + "line": 154, + "column": 64 + } + }, + "extra": { + "rawValue": 1000, + "raw": "1000" + }, + "value": 1000 + } + } + ] + } + ] + } + } + }, + { + "type": "VariableDeclaration", + "start": 4237, + "end": 4295, + "loc": { + "start": { + "line": 155, + "column": 4 + }, + "end": { + "line": 155, + "column": 62 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 4243, + "end": 4295, + "loc": { + "start": { + "line": 155, + "column": 10 + }, + "end": { + "line": 155, + "column": 62 + } + }, + "id": { + "type": "Identifier", + "start": 4243, + "end": 4252, + "loc": { + "start": { + "line": 155, + "column": 10 + }, + "end": { + "line": 155, + "column": 19 + }, + "identifierName": "providers" + }, + "name": "providers" + }, + "init": { + "type": "CallExpression", + "start": 4255, + "end": 4295, + "loc": { + "start": { + "line": 155, + "column": 22 + }, + "end": { + "line": 155, + "column": 62 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4255, + "end": 4293, + "loc": { + "start": { + "line": 155, + "column": 22 + }, + "end": { + "line": 155, + "column": 60 + } + }, + "object": { + "type": "MemberExpression", + "start": 4255, + "end": 4286, + "loc": { + "start": { + "line": 155, + "column": 22 + }, + "end": { + "line": 155, + "column": 53 + } + }, + "object": { + "type": "Identifier", + "start": 4255, + "end": 4268, + "loc": { + "start": { + "line": 155, + "column": 22 + }, + "end": { + "line": 155, + "column": 35 + }, + "identifierName": "PopApiScraper" + }, + "name": "PopApiScraper" + }, + "property": { + "type": "Identifier", + "start": 4269, + "end": 4286, + "loc": { + "start": { + "line": 155, + "column": 36 + }, + "end": { + "line": 155, + "column": 53 + }, + "identifierName": "_installedPlugins" + }, + "name": "_installedPlugins" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 4287, + "end": 4293, + "loc": { + "start": { + "line": 155, + "column": 54 + }, + "end": { + "line": 155, + "column": 60 + }, + "identifierName": "values" + }, + "name": "values" + }, + "computed": false + }, + "arguments": [] + } + } + ], + "kind": "const" + }, + { + "type": "VariableDeclaration", + "start": 4301, + "end": 4511, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 162, + "column": 23 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 4307, + "end": 4511, + "loc": { + "start": { + "line": 157, + "column": 10 + }, + "end": { + "line": 162, + "column": 23 + } + }, + "id": { + "type": "Identifier", + "start": 4307, + "end": 4310, + "loc": { + "start": { + "line": 157, + "column": 10 + }, + "end": { + "line": 157, + "column": 13 + }, + "identifierName": "res" + }, + "name": "res" + }, + "init": { + "type": "AwaitExpression", + "start": 4313, + "end": 4511, + "loc": { + "start": { + "line": 157, + "column": 16 + }, + "end": { + "line": 162, + "column": 23 + } + }, + "argument": { + "type": "CallExpression", + "start": 4319, + "end": 4511, + "loc": { + "start": { + "line": 157, + "column": 22 + }, + "end": { + "line": 162, + "column": 23 + } + }, + "callee": { + "type": "Identifier", + "start": 4319, + "end": 4323, + "loc": { + "start": { + "line": 157, + "column": 22 + }, + "end": { + "line": 157, + "column": 26 + }, + "identifierName": "pMap" + }, + "name": "pMap" + }, + "arguments": [ + { + "type": "Identifier", + "start": 4324, + "end": 4333, + "loc": { + "start": { + "line": 157, + "column": 27 + }, + "end": { + "line": 157, + "column": 36 + }, + "identifierName": "providers" + }, + "name": "providers" + }, + { + "type": "ArrowFunctionExpression", + "start": 4335, + "end": 4493, + "loc": { + "start": { + "line": 157, + "column": 38 + }, + "end": { + "line": 162, + "column": 5 + } + }, + "id": null, + "generator": false, + "expression": false, + "async": true, + "params": [ + { + "type": "Identifier", + "start": 4341, + "end": 4349, + "loc": { + "start": { + "line": 157, + "column": 44 + }, + "end": { + "line": 157, + "column": 52 + }, + "identifierName": "provider" + }, + "name": "provider" + } + ], + "body": { + "type": "BlockStatement", + "start": 4353, + "end": 4493, + "loc": { + "start": { + "line": 157, + "column": 56 + }, + "end": { + "line": 162, + "column": 5 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 4361, + "end": 4393, + "loc": { + "start": { + "line": 158, + "column": 6 + }, + "end": { + "line": 158, + "column": 38 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 4361, + "end": 4393, + "loc": { + "start": { + "line": 158, + "column": 6 + }, + "end": { + "line": 158, + "column": 38 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 4361, + "end": 4382, + "loc": { + "start": { + "line": 158, + "column": 6 + }, + "end": { + "line": 158, + "column": 27 + } + }, + "object": { + "type": "MemberExpression", + "start": 4361, + "end": 4373, + "loc": { + "start": { + "line": 158, + "column": 6 + }, + "end": { + "line": 158, + "column": 18 + } + }, + "object": { + "type": "ThisExpression", + "start": 4361, + "end": 4365, + "loc": { + "start": { + "line": 158, + "column": 6 + }, + "end": { + "line": 158, + "column": 10 + } + } + }, + "property": { + "type": "Identifier", + "start": 4366, + "end": 4373, + "loc": { + "start": { + "line": 158, + "column": 11 + }, + "end": { + "line": 158, + "column": 18 + }, + "identifierName": "context" + }, + "name": "context" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 4374, + "end": 4382, + "loc": { + "start": { + "line": 158, + "column": 19 + }, + "end": { + "line": 158, + "column": 27 + }, + "identifierName": "provider" + }, + "name": "provider" + }, + "computed": false + }, + "right": { + "type": "Identifier", + "start": 4385, + "end": 4393, + "loc": { + "start": { + "line": 158, + "column": 30 + }, + "end": { + "line": 158, + "column": 38 + }, + "identifierName": "provider" + }, + "name": "provider" + } + } + }, + { + "type": "ExpressionStatement", + "start": 4400, + "end": 4450, + "loc": { + "start": { + "line": 159, + "column": 6 + }, + "end": { + "line": 159, + "column": 56 + } + }, + "expression": { + "type": "AwaitExpression", + "start": 4400, + "end": 4450, + "loc": { + "start": { + "line": 159, + "column": 6 + }, + "end": { + "line": 159, + "column": 56 + } + }, + "argument": { + "type": "CallExpression", + "start": 4406, + "end": 4450, + "loc": { + "start": { + "line": 159, + "column": 12 + }, + "end": { + "line": 159, + "column": 56 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4406, + "end": 4420, + "loc": { + "start": { + "line": 159, + "column": 12 + }, + "end": { + "line": 159, + "column": 26 + } + }, + "object": { + "type": "ThisExpression", + "start": 4406, + "end": 4410, + "loc": { + "start": { + "line": 159, + "column": 12 + }, + "end": { + "line": 159, + "column": 16 + } + } + }, + "property": { + "type": "Identifier", + "start": 4411, + "end": 4420, + "loc": { + "start": { + "line": 159, + "column": 17 + }, + "end": { + "line": 159, + "column": 26 + }, + "identifierName": "setStatus" + }, + "name": "setStatus" + }, + "computed": false + }, + "arguments": [ + { + "type": "TemplateLiteral", + "start": 4421, + "end": 4449, + "loc": { + "start": { + "line": 159, + "column": 27 + }, + "end": { + "line": 159, + "column": 55 + } + }, + "expressions": [ + { + "type": "MemberExpression", + "start": 4434, + "end": 4447, + "loc": { + "start": { + "line": 159, + "column": 40 + }, + "end": { + "line": 159, + "column": 53 + } + }, + "object": { + "type": "Identifier", + "start": 4434, + "end": 4442, + "loc": { + "start": { + "line": 159, + "column": 40 + }, + "end": { + "line": 159, + "column": 48 + }, + "identifierName": "provider" + }, + "name": "provider" + }, + "property": { + "type": "Identifier", + "start": 4443, + "end": 4447, + "loc": { + "start": { + "line": 159, + "column": 49 + }, + "end": { + "line": 159, + "column": 53 + }, + "identifierName": "name" + }, + "name": "name" + }, + "computed": false + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 4422, + "end": 4432, + "loc": { + "start": { + "line": 159, + "column": 28 + }, + "end": { + "line": 159, + "column": 38 + } + }, + "value": { + "raw": "Scraping: ", + "cooked": "Scraping: " + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 4448, + "end": 4448, + "loc": { + "start": { + "line": 159, + "column": 54 + }, + "end": { + "line": 159, + "column": 54 + } + }, + "value": { + "raw": "", + "cooked": "" + }, + "tail": true + } + ] + } + ] + } + } + }, + { + "type": "ReturnStatement", + "start": 4458, + "end": 4487, + "loc": { + "start": { + "line": 161, + "column": 6 + }, + "end": { + "line": 161, + "column": 35 + } + }, + "argument": { + "type": "CallExpression", + "start": 4465, + "end": 4487, + "loc": { + "start": { + "line": 161, + "column": 13 + }, + "end": { + "line": 161, + "column": 35 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4465, + "end": 4485, + "loc": { + "start": { + "line": 161, + "column": 13 + }, + "end": { + "line": 161, + "column": 33 + } + }, + "object": { + "type": "MemberExpression", + "start": 4465, + "end": 4477, + "loc": { + "start": { + "line": 161, + "column": 13 + }, + "end": { + "line": 161, + "column": 25 + } + }, + "object": { + "type": "ThisExpression", + "start": 4465, + "end": 4469, + "loc": { + "start": { + "line": 161, + "column": 13 + }, + "end": { + "line": 161, + "column": 17 + } + } + }, + "property": { + "type": "Identifier", + "start": 4470, + "end": 4477, + "loc": { + "start": { + "line": 161, + "column": 18 + }, + "end": { + "line": 161, + "column": 25 + }, + "identifierName": "context" + }, + "name": "context" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 4478, + "end": 4485, + "loc": { + "start": { + "line": 161, + "column": 26 + }, + "end": { + "line": 161, + "column": 33 + }, + "identifierName": "execute" + }, + "name": "execute" + }, + "computed": false + }, + "arguments": [] + } + } + ], + "directives": [] + } + }, + { + "type": "ObjectExpression", + "start": 4495, + "end": 4510, + "loc": { + "start": { + "line": 162, + "column": 7 + }, + "end": { + "line": 162, + "column": 22 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 4497, + "end": 4508, + "loc": { + "start": { + "line": 162, + "column": 9 + }, + "end": { + "line": 162, + "column": 20 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 4497, + "end": 4508, + "loc": { + "start": { + "line": 162, + "column": 9 + }, + "end": { + "line": 162, + "column": 20 + }, + "identifierName": "concurrency" + }, + "name": "concurrency" + }, + "value": { + "type": "Identifier", + "start": 4497, + "end": 4508, + "loc": { + "start": { + "line": 162, + "column": 9 + }, + "end": { + "line": 162, + "column": 20 + }, + "identifierName": "concurrency" + }, + "name": "concurrency" + }, + "extra": { + "shorthand": true + } + } + ] + } + ] + } + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 4516, + "end": 4544, + "loc": { + "start": { + "line": 163, + "column": 4 + }, + "end": { + "line": 163, + "column": 32 + } + }, + "expression": { + "type": "AwaitExpression", + "start": 4516, + "end": 4544, + "loc": { + "start": { + "line": 163, + "column": 4 + }, + "end": { + "line": 163, + "column": 32 + } + }, + "argument": { + "type": "CallExpression", + "start": 4522, + "end": 4544, + "loc": { + "start": { + "line": 163, + "column": 10 + }, + "end": { + "line": 163, + "column": 32 + } + }, + "callee": { + "type": "MemberExpression", + "start": 4522, + "end": 4536, + "loc": { + "start": { + "line": 163, + "column": 10 + }, + "end": { + "line": 163, + "column": 24 + } + }, + "object": { + "type": "ThisExpression", + "start": 4522, + "end": 4526, + "loc": { + "start": { + "line": 163, + "column": 10 + }, + "end": { + "line": 163, + "column": 14 + } + } + }, + "property": { + "type": "Identifier", + "start": 4527, + "end": 4536, + "loc": { + "start": { + "line": 163, + "column": 15 + }, + "end": { + "line": 163, + "column": 24 + }, + "identifierName": "setStatus" + }, + "name": "setStatus" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 4537, + "end": 4543, + "loc": { + "start": { + "line": 163, + "column": 25 + }, + "end": { + "line": 163, + "column": 31 + } + }, + "extra": { + "rawValue": "idle", + "raw": "'idle'" + }, + "value": "idle" + } + ] + } + } + }, + { + "type": "ReturnStatement", + "start": 4550, + "end": 4560, + "loc": { + "start": { + "line": 165, + "column": 4 + }, + "end": { + "line": 165, + "column": 14 + } + }, + "argument": { + "type": "Identifier", + "start": 4557, + "end": 4560, + "loc": { + "start": { + "line": 165, + "column": 11 + }, + "end": { + "line": 165, + "column": 14 + }, + "identifierName": "res" + }, + "name": "res" + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Initiate the scraping. \n * @param \n * {!number} [concurrency=1] - How many providers to scrape\n * concurrently. \n * @returns \n * {Promise, Error>} - The array of the scraped\n * content. \n", + "start": 3878, + "end": 4090, + "loc": { + "start": { + "line": 146, + "column": 2 + }, + "end": { + "line": 152, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "* @external {PopApi} https://github.com/ChrisAlderson/pop-api ", + "start": 127, + "end": 193, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 66 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for Initiating the scraping process.\n * @type {PopApiScraper}\n ", + "start": 195, + "end": 273, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 13, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "* @external {PopApi} https://github.com/ChrisAlderson/pop-api ", + "start": 127, + "end": 193, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 66 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for Initiating the scraping process.\n * @type {PopApiScraper}\n ", + "start": 195, + "end": 273, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 13, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "* @external {PopApi} https://github.com/ChrisAlderson/pop-api ", + "start": 127, + "end": 193, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 66 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for Initiating the scraping process.\n * @type {PopApiScraper}\n ", + "start": 195, + "end": 273, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 13, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The context to execute the providers in.\n * @type {Context}\n ", + "start": 314, + "end": 390, + "loc": { + "start": { + "line": 16, + "column": 2 + }, + "end": { + "line": 19, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 413, + "end": 508, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 25, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 533, + "end": 630, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 31, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * A map of the installed plugins.\n * @type {Map}\n ", + "start": 656, + "end": 724, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 37, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new BaseScraper object.\n * The base modules for popcorn-api\n * @param {!PopApi} PopApi - The PopApiScraper instance.\n * @param {!Object} options - The options for the BaseScraper middleware.\n * @param {!string} options.statusPath = - The path of the status file.\n * @param {!string} options.updatedPath - The path of the updated file.\n ", + "start": 785, + "end": 1153, + "loc": { + "start": { + "line": 40, + "column": 2 + }, + "end": { + "line": 47, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The context to execute the providers in.\n * @type {Context}\n ", + "start": 1546, + "end": 1628, + "loc": { + "start": { + "line": 62, + "column": 4 + }, + "end": { + "line": 65, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 1666, + "end": 1767, + "loc": { + "start": { + "line": 67, + "column": 4 + }, + "end": { + "line": 70, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 1805, + "end": 1908, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 75, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the status object.\n * @returns {Promise} - The status of the scraping process.\n ", + "start": 2076, + "end": 2190, + "loc": { + "start": { + "line": 84, + "column": 2 + }, + "end": { + "line": 87, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Updates the `status.json` file.\n * @param {!string} status - The status which will be set to in the\n * `status.json` file.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n ", + "start": 2287, + "end": 2522, + "loc": { + "start": { + "line": 92, + "column": 2 + }, + "end": { + "line": 98, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the updated object.\n * @returns {Promise} - The status of the scraping process.\n ", + "start": 2642, + "end": 2757, + "loc": { + "start": { + "line": 103, + "column": 2 + }, + "end": { + "line": 106, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Updates the `updated.json` file.\n * @param {!number} updated - The epoch time when the API last started\n * scraping.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n ", + "start": 2888, + "end": 3117, + "loc": { + "start": { + "line": 112, + "column": 2 + }, + "end": { + "line": 118, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Register middleware for the PopApi framework.\n * @param {!Function} Plugin - The plugin to use.\n * @param {!Object} args - The arguments passed down to the constructor of\n * the plugin.\n * @returns {Promise} - The PopApi instance with the installed\n * plugins.\n ", + "start": 3249, + "end": 3549, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 130, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Initiate the scraping.\n * @param {!number} [concurrency=1] - How many providers to scrape\n * concurrently.\n * @returns {Promise, Error>} - The array of the scraped\n * content.\n ", + "start": 3878, + "end": 4090, + "loc": { + "start": { + "line": 146, + "column": 2 + }, + "end": { + "line": 152, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 42, + "end": 48, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 49, + "end": 51, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 52, + "end": 56, + "loc": { + "start": { + "line": 3, + "column": 10 + }, + "end": { + "line": 3, + "column": 14 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "fs-extra", + "start": 57, + "end": 67, + "loc": { + "start": { + "line": 3, + "column": 15 + }, + "end": { + "line": 3, + "column": 25 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 68, + "end": 74, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "pMap", + "start": 75, + "end": 79, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 80, + "end": 84, + "loc": { + "start": { + "line": 4, + "column": 12 + }, + "end": { + "line": 4, + "column": 16 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "p-map", + "start": 85, + "end": 92, + "loc": { + "start": { + "line": 4, + "column": 17 + }, + "end": { + "line": 4, + "column": 24 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 94, + "end": 100, + "loc": { + "start": { + "line": 6, + "column": 0 + }, + "end": { + "line": 6, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Context", + "start": 101, + "end": 108, + "loc": { + "start": { + "line": 6, + "column": 7 + }, + "end": { + "line": 6, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 109, + "end": 113, + "loc": { + "start": { + "line": 6, + "column": 15 + }, + "end": { + "line": 6, + "column": 19 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./Context", + "start": 114, + "end": 125, + "loc": { + "start": { + "line": 6, + "column": 20 + }, + "end": { + "line": 6, + "column": 31 + } + } + }, + { + "type": "CommentBlock", + "value": "* @external {PopApi} https://github.com/ChrisAlderson/pop-api ", + "start": 127, + "end": 193, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 66 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for Initiating the scraping process.\n * @type {PopApiScraper}\n ", + "start": 195, + "end": 273, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 13, + "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": 274, + "end": 280, + "loc": { + "start": { + "line": 14, + "column": 0 + }, + "end": { + "line": 14, + "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": 281, + "end": 288, + "loc": { + "start": { + "line": 14, + "column": 7 + }, + "end": { + "line": 14, + "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": 289, + "end": 294, + "loc": { + "start": { + "line": 14, + "column": 15 + }, + "end": { + "line": 14, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApiScraper", + "start": 295, + "end": 308, + "loc": { + "start": { + "line": 14, + "column": 21 + }, + "end": { + "line": 14, + "column": 34 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 309, + "end": 310, + "loc": { + "start": { + "line": 14, + "column": 35 + }, + "end": { + "line": 14, + "column": 36 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The context to execute the providers in.\n * @type {Context}\n ", + "start": 314, + "end": 390, + "loc": { + "start": { + "line": 16, + "column": 2 + }, + "end": { + "line": 19, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "context", + "start": 393, + "end": 400, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 20, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 400, + "end": 401, + "loc": { + "start": { + "line": 20, + "column": 9 + }, + "end": { + "line": 20, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Context", + "start": 402, + "end": 409, + "loc": { + "start": { + "line": 20, + "column": 11 + }, + "end": { + "line": 20, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 413, + "end": 508, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 25, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 511, + "end": 521, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 26, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 521, + "end": 522, + "loc": { + "start": { + "line": 26, + "column": 12 + }, + "end": { + "line": 26, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 523, + "end": 529, + "loc": { + "start": { + "line": 26, + "column": 14 + }, + "end": { + "line": 26, + "column": 20 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 533, + "end": 630, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 31, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 633, + "end": 644, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 32, + "column": 13 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 644, + "end": 645, + "loc": { + "start": { + "line": 32, + "column": 13 + }, + "end": { + "line": 32, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 646, + "end": 652, + "loc": { + "start": { + "line": 32, + "column": 15 + }, + "end": { + "line": 32, + "column": 21 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * A map of the installed plugins.\n * @type {Map}\n ", + "start": 656, + "end": 724, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 37, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "static", + "start": 727, + "end": 733, + "loc": { + "start": { + "line": 38, + "column": 2 + }, + "end": { + "line": 38, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_installedPlugins", + "start": 734, + "end": 751, + "loc": { + "start": { + "line": 38, + "column": 9 + }, + "end": { + "line": 38, + "column": 26 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 751, + "end": 752, + "loc": { + "start": { + "line": 38, + "column": 26 + }, + "end": { + "line": 38, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Map", + "start": 753, + "end": 756, + "loc": { + "start": { + "line": 38, + "column": 28 + }, + "end": { + "line": 38, + "column": 31 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 756, + "end": 757, + "loc": { + "start": { + "line": 38, + "column": 31 + }, + "end": { + "line": 38, + "column": 32 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 757, + "end": 763, + "loc": { + "start": { + "line": 38, + "column": 32 + }, + "end": { + "line": 38, + "column": 38 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 763, + "end": 764, + "loc": { + "start": { + "line": 38, + "column": 38 + }, + "end": { + "line": 38, + "column": 39 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 765, + "end": 768, + "loc": { + "start": { + "line": 38, + "column": 40 + }, + "end": { + "line": 38, + "column": 43 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 768, + "end": 769, + "loc": { + "start": { + "line": 38, + "column": 43 + }, + "end": { + "line": 38, + "column": 44 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 770, + "end": 771, + "loc": { + "start": { + "line": 38, + "column": 45 + }, + "end": { + "line": 38, + "column": 46 + } + } + }, + { + "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": 772, + "end": 775, + "loc": { + "start": { + "line": 38, + "column": 47 + }, + "end": { + "line": 38, + "column": 50 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Map", + "start": 776, + "end": 779, + "loc": { + "start": { + "line": 38, + "column": 51 + }, + "end": { + "line": 38, + "column": 54 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 779, + "end": 780, + "loc": { + "start": { + "line": 38, + "column": 54 + }, + "end": { + "line": 38, + "column": 55 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 780, + "end": 781, + "loc": { + "start": { + "line": 38, + "column": 55 + }, + "end": { + "line": 38, + "column": 56 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new BaseScraper object.\n * The base modules for popcorn-api\n * @param {!PopApi} PopApi - The PopApiScraper instance.\n * @param {!Object} options - The options for the BaseScraper middleware.\n * @param {!string} options.statusPath = - The path of the status file.\n * @param {!string} options.updatedPath - The path of the updated file.\n ", + "start": 785, + "end": 1153, + "loc": { + "start": { + "line": 40, + "column": 2 + }, + "end": { + "line": 47, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 1156, + "end": 1167, + "loc": { + "start": { + "line": 48, + "column": 2 + }, + "end": { + "line": 48, + "column": 13 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1167, + "end": 1168, + "loc": { + "start": { + "line": 48, + "column": 13 + }, + "end": { + "line": 48, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 1168, + "end": 1174, + "loc": { + "start": { + "line": 48, + "column": 14 + }, + "end": { + "line": 48, + "column": 20 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1174, + "end": 1175, + "loc": { + "start": { + "line": 48, + "column": 20 + }, + "end": { + "line": 48, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 1176, + "end": 1179, + "loc": { + "start": { + "line": 48, + "column": 22 + }, + "end": { + "line": 48, + "column": 25 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1179, + "end": 1180, + "loc": { + "start": { + "line": 48, + "column": 25 + }, + "end": { + "line": 48, + "column": 26 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1181, + "end": 1182, + "loc": { + "start": { + "line": 48, + "column": 27 + }, + "end": { + "line": 48, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 1187, + "end": 1197, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 49, + "column": 14 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1197, + "end": 1198, + "loc": { + "start": { + "line": 49, + "column": 14 + }, + "end": { + "line": 49, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 1203, + "end": 1214, + "loc": { + "start": { + "line": 50, + "column": 4 + }, + "end": { + "line": 50, + "column": 15 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1217, + "end": 1218, + "loc": { + "start": { + "line": 51, + "column": 2 + }, + "end": { + "line": 51, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1218, + "end": 1219, + "loc": { + "start": { + "line": 51, + "column": 3 + }, + "end": { + "line": 51, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1220, + "end": 1226, + "loc": { + "start": { + "line": 51, + "column": 5 + }, + "end": { + "line": 51, + "column": 11 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1226, + "end": 1227, + "loc": { + "start": { + "line": 51, + "column": 11 + }, + "end": { + "line": 51, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1227, + "end": 1228, + "loc": { + "start": { + "line": 51, + "column": 12 + }, + "end": { + "line": 51, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "void", + "start": 1229, + "end": 1233, + "loc": { + "start": { + "line": 51, + "column": 14 + }, + "end": { + "line": 51, + "column": 18 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1234, + "end": 1235, + "loc": { + "start": { + "line": 51, + "column": 19 + }, + "end": { + "line": 51, + "column": 20 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 1240, + "end": 1245, + "loc": { + "start": { + "line": 52, + "column": 4 + }, + "end": { + "line": 52, + "column": 9 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1246, + "end": 1247, + "loc": { + "start": { + "line": 52, + "column": 10 + }, + "end": { + "line": 52, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1248, + "end": 1252, + "loc": { + "start": { + "line": 52, + "column": 12 + }, + "end": { + "line": 52, + "column": 16 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1253, + "end": 1254, + "loc": { + "start": { + "line": 52, + "column": 17 + }, + "end": { + "line": 52, + "column": 18 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1255, + "end": 1256, + "loc": { + "start": { + "line": 52, + "column": 19 + }, + "end": { + "line": 52, + "column": 20 + } + } + }, + { + "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": 1257, + "end": 1261, + "loc": { + "start": { + "line": 52, + "column": 21 + }, + "end": { + "line": 52, + "column": 25 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1261, + "end": 1262, + "loc": { + "start": { + "line": 52, + "column": 25 + }, + "end": { + "line": 52, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 1262, + "end": 1273, + "loc": { + "start": { + "line": 52, + "column": 26 + }, + "end": { + "line": 52, + "column": 37 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 1278, + "end": 1284, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 10 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1284, + "end": 1285, + "loc": { + "start": { + "line": 53, + "column": 10 + }, + "end": { + "line": 53, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "debug", + "start": 1285, + "end": 1290, + "loc": { + "start": { + "line": 53, + "column": 11 + }, + "end": { + "line": 53, + "column": 16 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1290, + "end": 1291, + "loc": { + "start": { + "line": 53, + "column": 16 + }, + "end": { + "line": 53, + "column": 17 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1291, + "end": 1292, + "loc": { + "start": { + "line": 53, + "column": 17 + }, + "end": { + "line": 53, + "column": 18 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Registering ", + "start": 1292, + "end": 1304, + "loc": { + "start": { + "line": 53, + "column": 18 + }, + "end": { + "line": 53, + "column": 30 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1304, + "end": 1306, + "loc": { + "start": { + "line": 53, + "column": 30 + }, + "end": { + "line": 53, + "column": 32 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1306, + "end": 1310, + "loc": { + "start": { + "line": 53, + "column": 32 + }, + "end": { + "line": 53, + "column": 36 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1310, + "end": 1311, + "loc": { + "start": { + "line": 53, + "column": 36 + }, + "end": { + "line": 53, + "column": 37 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": " with options: %o", + "start": 1311, + "end": 1328, + "loc": { + "start": { + "line": 53, + "column": 37 + }, + "end": { + "line": 53, + "column": 54 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1328, + "end": 1329, + "loc": { + "start": { + "line": 53, + "column": 54 + }, + "end": { + "line": 53, + "column": 55 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1329, + "end": 1330, + "loc": { + "start": { + "line": 53, + "column": 55 + }, + "end": { + "line": 53, + "column": 56 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1331, + "end": 1332, + "loc": { + "start": { + "line": 53, + "column": 57 + }, + "end": { + "line": 53, + "column": 58 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 1339, + "end": 1349, + "loc": { + "start": { + "line": 54, + "column": 6 + }, + "end": { + "line": 54, + "column": 16 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1349, + "end": 1350, + "loc": { + "start": { + "line": 54, + "column": 16 + }, + "end": { + "line": 54, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 1357, + "end": 1368, + "loc": { + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 55, + "column": 17 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1373, + "end": 1374, + "loc": { + "start": { + "line": 56, + "column": 4 + }, + "end": { + "line": 56, + "column": 5 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1374, + "end": 1375, + "loc": { + "start": { + "line": 56, + "column": 5 + }, + "end": { + "line": 56, + "column": 6 + } + } + }, + { + "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": 1381, + "end": 1383, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1384, + "end": 1385, + "loc": { + "start": { + "line": 58, + "column": 7 + }, + "end": { + "line": 58, + "column": 8 + } + } + }, + { + "type": { + "label": "prefix", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": true, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "!", + "start": 1385, + "end": 1386, + "loc": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 58, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 1386, + "end": 1396, + "loc": { + "start": { + "line": 58, + "column": 9 + }, + "end": { + "line": 58, + "column": 19 + } + } + }, + { + "type": { + "label": "||", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 1, + "updateContext": null + }, + "value": "||", + "start": 1397, + "end": 1399, + "loc": { + "start": { + "line": 58, + "column": 20 + }, + "end": { + "line": 58, + "column": 22 + } + } + }, + { + "type": { + "label": "prefix", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": true, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "!", + "start": 1400, + "end": 1401, + "loc": { + "start": { + "line": 58, + "column": 23 + }, + "end": { + "line": 58, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 1401, + "end": 1412, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 35 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1412, + "end": 1413, + "loc": { + "start": { + "line": 58, + "column": 35 + }, + "end": { + "line": 58, + "column": 36 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1414, + "end": 1415, + "loc": { + "start": { + "line": 58, + "column": 37 + }, + "end": { + "line": 58, + "column": 38 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 1422, + "end": 1427, + "loc": { + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 59, + "column": 11 + } + } + }, + { + "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": 1428, + "end": 1431, + "loc": { + "start": { + "line": 59, + "column": 12 + }, + "end": { + "line": 59, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "TypeError", + "start": 1432, + "end": 1441, + "loc": { + "start": { + "line": 59, + "column": 16 + }, + "end": { + "line": 59, + "column": 25 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1441, + "end": 1442, + "loc": { + "start": { + "line": 59, + "column": 25 + }, + "end": { + "line": 59, + "column": 26 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "'statusPath' and 'updatedPath' are required options for the PopApiScraper middleware!", + "start": 1442, + "end": 1533, + "loc": { + "start": { + "line": 59, + "column": 26 + }, + "end": { + "line": 59, + "column": 117 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1533, + "end": 1534, + "loc": { + "start": { + "line": 59, + "column": 117 + }, + "end": { + "line": 59, + "column": 118 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1539, + "end": 1540, + "loc": { + "start": { + "line": 60, + "column": 4 + }, + "end": { + "line": 60, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The context to execute the providers in.\n * @type {Context}\n ", + "start": 1546, + "end": 1628, + "loc": { + "start": { + "line": 62, + "column": 4 + }, + "end": { + "line": 65, + "column": 7 + } + } + }, + { + "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": 1633, + "end": 1637, + "loc": { + "start": { + "line": 66, + "column": 4 + }, + "end": { + "line": 66, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1637, + "end": 1638, + "loc": { + "start": { + "line": 66, + "column": 8 + }, + "end": { + "line": 66, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "context", + "start": 1638, + "end": 1645, + "loc": { + "start": { + "line": 66, + "column": 9 + }, + "end": { + "line": 66, + "column": 16 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1646, + "end": 1647, + "loc": { + "start": { + "line": 66, + "column": 17 + }, + "end": { + "line": 66, + "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": 1648, + "end": 1651, + "loc": { + "start": { + "line": 66, + "column": 19 + }, + "end": { + "line": 66, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Context", + "start": 1652, + "end": 1659, + "loc": { + "start": { + "line": 66, + "column": 23 + }, + "end": { + "line": 66, + "column": 30 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1659, + "end": 1660, + "loc": { + "start": { + "line": 66, + "column": 30 + }, + "end": { + "line": 66, + "column": 31 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1660, + "end": 1661, + "loc": { + "start": { + "line": 66, + "column": 31 + }, + "end": { + "line": 66, + "column": 32 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n ", + "start": 1666, + "end": 1767, + "loc": { + "start": { + "line": 67, + "column": 4 + }, + "end": { + "line": 70, + "column": 7 + } + } + }, + { + "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": 1772, + "end": 1776, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1776, + "end": 1777, + "loc": { + "start": { + "line": 71, + "column": 8 + }, + "end": { + "line": 71, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 1777, + "end": 1787, + "loc": { + "start": { + "line": 71, + "column": 9 + }, + "end": { + "line": 71, + "column": 19 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1788, + "end": 1789, + "loc": { + "start": { + "line": 71, + "column": 20 + }, + "end": { + "line": 71, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 1790, + "end": 1800, + "loc": { + "start": { + "line": 71, + "column": 22 + }, + "end": { + "line": 71, + "column": 32 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n ", + "start": 1805, + "end": 1908, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 75, + "column": 7 + } + } + }, + { + "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": 1913, + "end": 1917, + "loc": { + "start": { + "line": 76, + "column": 4 + }, + "end": { + "line": 76, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1917, + "end": 1918, + "loc": { + "start": { + "line": 76, + "column": 8 + }, + "end": { + "line": 76, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 1918, + "end": 1929, + "loc": { + "start": { + "line": 76, + "column": 9 + }, + "end": { + "line": 76, + "column": 20 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1930, + "end": 1931, + "loc": { + "start": { + "line": 76, + "column": 21 + }, + "end": { + "line": 76, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 1932, + "end": 1943, + "loc": { + "start": { + "line": 76, + "column": 23 + }, + "end": { + "line": 76, + "column": 34 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 1949, + "end": 1951, + "loc": { + "start": { + "line": 78, + "column": 4 + }, + "end": { + "line": 78, + "column": 6 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1951, + "end": 1952, + "loc": { + "start": { + "line": 78, + "column": 6 + }, + "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": "createWriteStream", + "start": 1952, + "end": 1969, + "loc": { + "start": { + "line": 78, + "column": 7 + }, + "end": { + "line": 78, + "column": 24 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1969, + "end": 1970, + "loc": { + "start": { + "line": 78, + "column": 24 + }, + "end": { + "line": 78, + "column": 25 + } + } + }, + { + "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": 1970, + "end": 1974, + "loc": { + "start": { + "line": 78, + "column": 25 + }, + "end": { + "line": 78, + "column": 29 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1974, + "end": 1975, + "loc": { + "start": { + "line": 78, + "column": 29 + }, + "end": { + "line": 78, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 1975, + "end": 1985, + "loc": { + "start": { + "line": 78, + "column": 30 + }, + "end": { + "line": 78, + "column": 40 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1985, + "end": 1986, + "loc": { + "start": { + "line": 78, + "column": 40 + }, + "end": { + "line": 78, + "column": 41 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1986, + "end": 1987, + "loc": { + "start": { + "line": 78, + "column": 41 + }, + "end": { + "line": 78, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "end", + "start": 1987, + "end": 1990, + "loc": { + "start": { + "line": 78, + "column": 42 + }, + "end": { + "line": 78, + "column": 45 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1990, + "end": 1991, + "loc": { + "start": { + "line": 78, + "column": 45 + }, + "end": { + "line": 78, + "column": 46 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1991, + "end": 1992, + "loc": { + "start": { + "line": 78, + "column": 46 + }, + "end": { + "line": 78, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 1997, + "end": 1999, + "loc": { + "start": { + "line": 79, + "column": 4 + }, + "end": { + "line": 79, + "column": 6 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1999, + "end": 2000, + "loc": { + "start": { + "line": 79, + "column": 6 + }, + "end": { + "line": 79, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "createWriteStream", + "start": 2000, + "end": 2017, + "loc": { + "start": { + "line": 79, + "column": 7 + }, + "end": { + "line": 79, + "column": 24 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2017, + "end": 2018, + "loc": { + "start": { + "line": 79, + "column": 24 + }, + "end": { + "line": 79, + "column": 25 + } + } + }, + { + "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": 2018, + "end": 2022, + "loc": { + "start": { + "line": 79, + "column": 25 + }, + "end": { + "line": 79, + "column": 29 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2022, + "end": 2023, + "loc": { + "start": { + "line": 79, + "column": 29 + }, + "end": { + "line": 79, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 2023, + "end": 2034, + "loc": { + "start": { + "line": 79, + "column": 30 + }, + "end": { + "line": 79, + "column": 41 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2034, + "end": 2035, + "loc": { + "start": { + "line": 79, + "column": 41 + }, + "end": { + "line": 79, + "column": 42 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2035, + "end": 2036, + "loc": { + "start": { + "line": 79, + "column": 42 + }, + "end": { + "line": 79, + "column": 43 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "end", + "start": 2036, + "end": 2039, + "loc": { + "start": { + "line": 79, + "column": 43 + }, + "end": { + "line": 79, + "column": 46 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2039, + "end": 2040, + "loc": { + "start": { + "line": 79, + "column": 46 + }, + "end": { + "line": 79, + "column": 47 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2040, + "end": 2041, + "loc": { + "start": { + "line": 79, + "column": 47 + }, + "end": { + "line": 79, + "column": 48 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApi", + "start": 2047, + "end": 2053, + "loc": { + "start": { + "line": 81, + "column": 4 + }, + "end": { + "line": 81, + "column": 10 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2053, + "end": 2054, + "loc": { + "start": { + "line": 81, + "column": 10 + }, + "end": { + "line": 81, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scraper", + "start": 2054, + "end": 2061, + "loc": { + "start": { + "line": 81, + "column": 11 + }, + "end": { + "line": 81, + "column": 18 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 2062, + "end": 2063, + "loc": { + "start": { + "line": 81, + "column": 19 + }, + "end": { + "line": 81, + "column": 20 + } + } + }, + { + "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": 2064, + "end": 2068, + "loc": { + "start": { + "line": 81, + "column": 21 + }, + "end": { + "line": 81, + "column": 25 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2071, + "end": 2072, + "loc": { + "start": { + "line": 82, + "column": 2 + }, + "end": { + "line": 82, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the status object.\n * @returns {Promise} - The status of the scraping process.\n ", + "start": 2076, + "end": 2190, + "loc": { + "start": { + "line": 84, + "column": 2 + }, + "end": { + "line": 87, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "getStatus", + "start": 2193, + "end": 2202, + "loc": { + "start": { + "line": 88, + "column": 2 + }, + "end": { + "line": 88, + "column": 11 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2202, + "end": 2203, + "loc": { + "start": { + "line": 88, + "column": 11 + }, + "end": { + "line": 88, + "column": 12 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2203, + "end": 2204, + "loc": { + "start": { + "line": 88, + "column": 12 + }, + "end": { + "line": 88, + "column": 13 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2204, + "end": 2205, + "loc": { + "start": { + "line": 88, + "column": 13 + }, + "end": { + "line": 88, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2206, + "end": 2213, + "loc": { + "start": { + "line": 88, + "column": 15 + }, + "end": { + "line": 88, + "column": 22 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2213, + "end": 2214, + "loc": { + "start": { + "line": 88, + "column": 22 + }, + "end": { + "line": 88, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2214, + "end": 2220, + "loc": { + "start": { + "line": 88, + "column": 23 + }, + "end": { + "line": 88, + "column": 29 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2221, + "end": 2222, + "loc": { + "start": { + "line": 88, + "column": 30 + }, + "end": { + "line": 88, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2223, + "end": 2228, + "loc": { + "start": { + "line": 88, + "column": 32 + }, + "end": { + "line": 88, + "column": 37 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2228, + "end": 2229, + "loc": { + "start": { + "line": 88, + "column": 37 + }, + "end": { + "line": 88, + "column": 38 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2230, + "end": 2231, + "loc": { + "start": { + "line": 88, + "column": 39 + }, + "end": { + "line": 88, + "column": 40 + } + } + }, + { + "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": 2236, + "end": 2242, + "loc": { + "start": { + "line": 89, + "column": 4 + }, + "end": { + "line": 89, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 2243, + "end": 2245, + "loc": { + "start": { + "line": 89, + "column": 11 + }, + "end": { + "line": 89, + "column": 13 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2245, + "end": 2246, + "loc": { + "start": { + "line": 89, + "column": 13 + }, + "end": { + "line": 89, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "readFile", + "start": 2246, + "end": 2254, + "loc": { + "start": { + "line": 89, + "column": 14 + }, + "end": { + "line": 89, + "column": 22 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2254, + "end": 2255, + "loc": { + "start": { + "line": 89, + "column": 22 + }, + "end": { + "line": 89, + "column": 23 + } + } + }, + { + "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": 2255, + "end": 2259, + "loc": { + "start": { + "line": 89, + "column": 23 + }, + "end": { + "line": 89, + "column": 27 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2259, + "end": 2260, + "loc": { + "start": { + "line": 89, + "column": 27 + }, + "end": { + "line": 89, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 2260, + "end": 2270, + "loc": { + "start": { + "line": 89, + "column": 28 + }, + "end": { + "line": 89, + "column": 38 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2270, + "end": 2271, + "loc": { + "start": { + "line": 89, + "column": 38 + }, + "end": { + "line": 89, + "column": 39 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "utf8", + "start": 2272, + "end": 2278, + "loc": { + "start": { + "line": 89, + "column": 40 + }, + "end": { + "line": 89, + "column": 46 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2278, + "end": 2279, + "loc": { + "start": { + "line": 89, + "column": 46 + }, + "end": { + "line": 89, + "column": 47 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2282, + "end": 2283, + "loc": { + "start": { + "line": 90, + "column": 2 + }, + "end": { + "line": 90, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Updates the `status.json` file.\n * @param {!string} status - The status which will be set to in the\n * `status.json` file.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n ", + "start": 2287, + "end": 2522, + "loc": { + "start": { + "line": 92, + "column": 2 + }, + "end": { + "line": 98, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "setStatus", + "start": 2525, + "end": 2534, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 99, + "column": 11 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2534, + "end": 2535, + "loc": { + "start": { + "line": 99, + "column": 11 + }, + "end": { + "line": 99, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "status", + "start": 2535, + "end": 2541, + "loc": { + "start": { + "line": 99, + "column": 12 + }, + "end": { + "line": 99, + "column": 18 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2541, + "end": 2542, + "loc": { + "start": { + "line": 99, + "column": 18 + }, + "end": { + "line": 99, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2543, + "end": 2549, + "loc": { + "start": { + "line": 99, + "column": 20 + }, + "end": { + "line": 99, + "column": 26 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2549, + "end": 2550, + "loc": { + "start": { + "line": 99, + "column": 26 + }, + "end": { + "line": 99, + "column": 27 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2550, + "end": 2551, + "loc": { + "start": { + "line": 99, + "column": 27 + }, + "end": { + "line": 99, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2552, + "end": 2559, + "loc": { + "start": { + "line": 99, + "column": 29 + }, + "end": { + "line": 99, + "column": 36 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2559, + "end": 2560, + "loc": { + "start": { + "line": 99, + "column": 36 + }, + "end": { + "line": 99, + "column": 37 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2560, + "end": 2566, + "loc": { + "start": { + "line": 99, + "column": 37 + }, + "end": { + "line": 99, + "column": 43 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2567, + "end": 2568, + "loc": { + "start": { + "line": 99, + "column": 44 + }, + "end": { + "line": 99, + "column": 45 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2569, + "end": 2574, + "loc": { + "start": { + "line": 99, + "column": 46 + }, + "end": { + "line": 99, + "column": 51 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2574, + "end": 2575, + "loc": { + "start": { + "line": 99, + "column": 51 + }, + "end": { + "line": 99, + "column": 52 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2576, + "end": 2577, + "loc": { + "start": { + "line": 99, + "column": 53 + }, + "end": { + "line": 99, + "column": 54 + } + } + }, + { + "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": 2582, + "end": 2588, + "loc": { + "start": { + "line": 100, + "column": 4 + }, + "end": { + "line": 100, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 2589, + "end": 2591, + "loc": { + "start": { + "line": 100, + "column": 11 + }, + "end": { + "line": 100, + "column": 13 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2591, + "end": 2592, + "loc": { + "start": { + "line": 100, + "column": 13 + }, + "end": { + "line": 100, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "writeFile", + "start": 2592, + "end": 2601, + "loc": { + "start": { + "line": 100, + "column": 14 + }, + "end": { + "line": 100, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2601, + "end": 2602, + "loc": { + "start": { + "line": 100, + "column": 23 + }, + "end": { + "line": 100, + "column": 24 + } + } + }, + { + "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": 2602, + "end": 2606, + "loc": { + "start": { + "line": 100, + "column": 24 + }, + "end": { + "line": 100, + "column": 28 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2606, + "end": 2607, + "loc": { + "start": { + "line": 100, + "column": 28 + }, + "end": { + "line": 100, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "statusPath", + "start": 2607, + "end": 2617, + "loc": { + "start": { + "line": 100, + "column": 29 + }, + "end": { + "line": 100, + "column": 39 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2617, + "end": 2618, + "loc": { + "start": { + "line": 100, + "column": 39 + }, + "end": { + "line": 100, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "status", + "start": 2619, + "end": 2625, + "loc": { + "start": { + "line": 100, + "column": 41 + }, + "end": { + "line": 100, + "column": 47 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2625, + "end": 2626, + "loc": { + "start": { + "line": 100, + "column": 47 + }, + "end": { + "line": 100, + "column": 48 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "utf8", + "start": 2627, + "end": 2633, + "loc": { + "start": { + "line": 100, + "column": 49 + }, + "end": { + "line": 100, + "column": 55 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2633, + "end": 2634, + "loc": { + "start": { + "line": 100, + "column": 55 + }, + "end": { + "line": 100, + "column": 56 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2637, + "end": 2638, + "loc": { + "start": { + "line": 101, + "column": 2 + }, + "end": { + "line": 101, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the updated object.\n * @returns {Promise} - The status of the scraping process.\n ", + "start": 2642, + "end": 2757, + "loc": { + "start": { + "line": 103, + "column": 2 + }, + "end": { + "line": 106, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "getUpdated", + "start": 2760, + "end": 2770, + "loc": { + "start": { + "line": 107, + "column": 2 + }, + "end": { + "line": 107, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2770, + "end": 2771, + "loc": { + "start": { + "line": 107, + "column": 12 + }, + "end": { + "line": 107, + "column": 13 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2771, + "end": 2772, + "loc": { + "start": { + "line": 107, + "column": 13 + }, + "end": { + "line": 107, + "column": 14 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2772, + "end": 2773, + "loc": { + "start": { + "line": 107, + "column": 14 + }, + "end": { + "line": 107, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2774, + "end": 2781, + "loc": { + "start": { + "line": 107, + "column": 16 + }, + "end": { + "line": 107, + "column": 23 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2781, + "end": 2782, + "loc": { + "start": { + "line": 107, + "column": 23 + }, + "end": { + "line": 107, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "number", + "start": 2782, + "end": 2788, + "loc": { + "start": { + "line": 107, + "column": 24 + }, + "end": { + "line": 107, + "column": 30 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2789, + "end": 2790, + "loc": { + "start": { + "line": 107, + "column": 31 + }, + "end": { + "line": 107, + "column": 32 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2791, + "end": 2796, + "loc": { + "start": { + "line": 107, + "column": 33 + }, + "end": { + "line": 107, + "column": 38 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2796, + "end": 2797, + "loc": { + "start": { + "line": 107, + "column": 38 + }, + "end": { + "line": 107, + "column": 39 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2798, + "end": 2799, + "loc": { + "start": { + "line": 107, + "column": 40 + }, + "end": { + "line": 107, + "column": 41 + } + } + }, + { + "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": 2804, + "end": 2810, + "loc": { + "start": { + "line": 108, + "column": 4 + }, + "end": { + "line": 108, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 2811, + "end": 2813, + "loc": { + "start": { + "line": 108, + "column": 11 + }, + "end": { + "line": 108, + "column": 13 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2813, + "end": 2814, + "loc": { + "start": { + "line": 108, + "column": 13 + }, + "end": { + "line": 108, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "readFile", + "start": 2814, + "end": 2822, + "loc": { + "start": { + "line": 108, + "column": 14 + }, + "end": { + "line": 108, + "column": 22 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2822, + "end": 2823, + "loc": { + "start": { + "line": 108, + "column": 22 + }, + "end": { + "line": 108, + "column": 23 + } + } + }, + { + "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": 2823, + "end": 2827, + "loc": { + "start": { + "line": 108, + "column": 23 + }, + "end": { + "line": 108, + "column": 27 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2827, + "end": 2828, + "loc": { + "start": { + "line": 108, + "column": 27 + }, + "end": { + "line": 108, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 2828, + "end": 2839, + "loc": { + "start": { + "line": 108, + "column": 28 + }, + "end": { + "line": 108, + "column": 39 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2839, + "end": 2840, + "loc": { + "start": { + "line": 108, + "column": 39 + }, + "end": { + "line": 108, + "column": 40 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "utf8", + "start": 2841, + "end": 2847, + "loc": { + "start": { + "line": 108, + "column": 41 + }, + "end": { + "line": 108, + "column": 47 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2847, + "end": 2848, + "loc": { + "start": { + "line": 108, + "column": 47 + }, + "end": { + "line": 108, + "column": 48 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2855, + "end": 2856, + "loc": { + "start": { + "line": 109, + "column": 6 + }, + "end": { + "line": 109, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "then", + "start": 2856, + "end": 2860, + "loc": { + "start": { + "line": 109, + "column": 7 + }, + "end": { + "line": 109, + "column": 11 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2860, + "end": 2861, + "loc": { + "start": { + "line": 109, + "column": 11 + }, + "end": { + "line": 109, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "res", + "start": 2861, + "end": 2864, + "loc": { + "start": { + "line": 109, + "column": 12 + }, + "end": { + "line": 109, + "column": 15 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2865, + "end": 2867, + "loc": { + "start": { + "line": 109, + "column": 16 + }, + "end": { + "line": 109, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Number", + "start": 2868, + "end": 2874, + "loc": { + "start": { + "line": 109, + "column": 19 + }, + "end": { + "line": 109, + "column": 25 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2874, + "end": 2875, + "loc": { + "start": { + "line": 109, + "column": 25 + }, + "end": { + "line": 109, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "res", + "start": 2875, + "end": 2878, + "loc": { + "start": { + "line": 109, + "column": 26 + }, + "end": { + "line": 109, + "column": 29 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2878, + "end": 2879, + "loc": { + "start": { + "line": 109, + "column": 29 + }, + "end": { + "line": 109, + "column": 30 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2879, + "end": 2880, + "loc": { + "start": { + "line": 109, + "column": 30 + }, + "end": { + "line": 109, + "column": 31 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2883, + "end": 2884, + "loc": { + "start": { + "line": 110, + "column": 2 + }, + "end": { + "line": 110, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Updates the `updated.json` file.\n * @param {!number} updated - The epoch time when the API last started\n * scraping.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n ", + "start": 2888, + "end": 3117, + "loc": { + "start": { + "line": 112, + "column": 2 + }, + "end": { + "line": 118, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "setUpdated", + "start": 3120, + "end": 3130, + "loc": { + "start": { + "line": 119, + "column": 2 + }, + "end": { + "line": 119, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3130, + "end": 3131, + "loc": { + "start": { + "line": 119, + "column": 12 + }, + "end": { + "line": 119, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updated", + "start": 3131, + "end": 3138, + "loc": { + "start": { + "line": 119, + "column": 13 + }, + "end": { + "line": 119, + "column": 20 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3138, + "end": 3139, + "loc": { + "start": { + "line": 119, + "column": 20 + }, + "end": { + "line": 119, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "number", + "start": 3140, + "end": 3146, + "loc": { + "start": { + "line": 119, + "column": 22 + }, + "end": { + "line": 119, + "column": 28 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3146, + "end": 3147, + "loc": { + "start": { + "line": 119, + "column": 28 + }, + "end": { + "line": 119, + "column": 29 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3147, + "end": 3148, + "loc": { + "start": { + "line": 119, + "column": 29 + }, + "end": { + "line": 119, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 3149, + "end": 3156, + "loc": { + "start": { + "line": 119, + "column": 31 + }, + "end": { + "line": 119, + "column": 38 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 3156, + "end": 3157, + "loc": { + "start": { + "line": 119, + "column": 38 + }, + "end": { + "line": 119, + "column": 39 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3157, + "end": 3163, + "loc": { + "start": { + "line": 119, + "column": 39 + }, + "end": { + "line": 119, + "column": 45 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 3164, + "end": 3165, + "loc": { + "start": { + "line": 119, + "column": 46 + }, + "end": { + "line": 119, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 3166, + "end": 3171, + "loc": { + "start": { + "line": 119, + "column": 48 + }, + "end": { + "line": 119, + "column": 53 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 3171, + "end": 3172, + "loc": { + "start": { + "line": 119, + "column": 53 + }, + "end": { + "line": 119, + "column": 54 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3173, + "end": 3174, + "loc": { + "start": { + "line": 119, + "column": 55 + }, + "end": { + "line": 119, + "column": 56 + } + } + }, + { + "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": 3179, + "end": 3185, + "loc": { + "start": { + "line": 120, + "column": 4 + }, + "end": { + "line": 120, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "fs", + "start": 3186, + "end": 3188, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 13 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3188, + "end": 3189, + "loc": { + "start": { + "line": 120, + "column": 13 + }, + "end": { + "line": 120, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "writeFile", + "start": 3189, + "end": 3198, + "loc": { + "start": { + "line": 120, + "column": 14 + }, + "end": { + "line": 120, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3198, + "end": 3199, + "loc": { + "start": { + "line": 120, + "column": 23 + }, + "end": { + "line": 120, + "column": 24 + } + } + }, + { + "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": 3199, + "end": 3203, + "loc": { + "start": { + "line": 120, + "column": 24 + }, + "end": { + "line": 120, + "column": 28 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3203, + "end": 3204, + "loc": { + "start": { + "line": 120, + "column": 28 + }, + "end": { + "line": 120, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updatedPath", + "start": 3204, + "end": 3215, + "loc": { + "start": { + "line": 120, + "column": 29 + }, + "end": { + "line": 120, + "column": 40 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3215, + "end": 3216, + "loc": { + "start": { + "line": 120, + "column": 40 + }, + "end": { + "line": 120, + "column": 41 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "String", + "start": 3217, + "end": 3223, + "loc": { + "start": { + "line": 120, + "column": 42 + }, + "end": { + "line": 120, + "column": 48 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3223, + "end": 3224, + "loc": { + "start": { + "line": 120, + "column": 48 + }, + "end": { + "line": 120, + "column": 49 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "updated", + "start": 3224, + "end": 3231, + "loc": { + "start": { + "line": 120, + "column": 49 + }, + "end": { + "line": 120, + "column": 56 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3231, + "end": 3232, + "loc": { + "start": { + "line": 120, + "column": 56 + }, + "end": { + "line": 120, + "column": 57 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3232, + "end": 3233, + "loc": { + "start": { + "line": 120, + "column": 57 + }, + "end": { + "line": 120, + "column": 58 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "utf8", + "start": 3234, + "end": 3240, + "loc": { + "start": { + "line": 120, + "column": 59 + }, + "end": { + "line": 120, + "column": 65 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3240, + "end": 3241, + "loc": { + "start": { + "line": 120, + "column": 65 + }, + "end": { + "line": 120, + "column": 66 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3244, + "end": 3245, + "loc": { + "start": { + "line": 121, + "column": 2 + }, + "end": { + "line": 121, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Register middleware for the PopApi framework.\n * @param {!Function} Plugin - The plugin to use.\n * @param {!Object} args - The arguments passed down to the constructor of\n * the plugin.\n * @returns {Promise} - The PopApi instance with the installed\n * plugins.\n ", + "start": 3249, + "end": 3549, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 130, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "static", + "start": 3552, + "end": 3558, + "loc": { + "start": { + "line": 131, + "column": 2 + }, + "end": { + "line": 131, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "use", + "start": 3559, + "end": 3562, + "loc": { + "start": { + "line": 131, + "column": 9 + }, + "end": { + "line": 131, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3562, + "end": 3563, + "loc": { + "start": { + "line": 131, + "column": 12 + }, + "end": { + "line": 131, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Plugin", + "start": 3563, + "end": 3569, + "loc": { + "start": { + "line": 131, + "column": 13 + }, + "end": { + "line": 131, + "column": 19 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3569, + "end": 3570, + "loc": { + "start": { + "line": 131, + "column": 19 + }, + "end": { + "line": 131, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 3571, + "end": 3574, + "loc": { + "start": { + "line": 131, + "column": 21 + }, + "end": { + "line": 131, + "column": 24 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3574, + "end": 3575, + "loc": { + "start": { + "line": 131, + "column": 24 + }, + "end": { + "line": 131, + "column": 25 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3576, + "end": 3579, + "loc": { + "start": { + "line": 131, + "column": 26 + }, + "end": { + "line": 131, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "args", + "start": 3579, + "end": 3583, + "loc": { + "start": { + "line": 131, + "column": 29 + }, + "end": { + "line": 131, + "column": 33 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3583, + "end": 3584, + "loc": { + "start": { + "line": 131, + "column": 33 + }, + "end": { + "line": 131, + "column": 34 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 3585, + "end": 3588, + "loc": { + "start": { + "line": 131, + "column": 35 + }, + "end": { + "line": 131, + "column": 38 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3588, + "end": 3589, + "loc": { + "start": { + "line": 131, + "column": 38 + }, + "end": { + "line": 131, + "column": 39 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3589, + "end": 3590, + "loc": { + "start": { + "line": 131, + "column": 39 + }, + "end": { + "line": 131, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 3591, + "end": 3594, + "loc": { + "start": { + "line": 131, + "column": 41 + }, + "end": { + "line": 131, + "column": 44 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3595, + "end": 3596, + "loc": { + "start": { + "line": 131, + "column": 45 + }, + "end": { + "line": 131, + "column": 46 + } + } + }, + { + "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": 3601, + "end": 3603, + "loc": { + "start": { + "line": 132, + "column": 4 + }, + "end": { + "line": 132, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3604, + "end": 3605, + "loc": { + "start": { + "line": 132, + "column": 7 + }, + "end": { + "line": 132, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApiScraper", + "start": 3605, + "end": 3618, + "loc": { + "start": { + "line": 132, + "column": 8 + }, + "end": { + "line": 132, + "column": 21 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3618, + "end": 3619, + "loc": { + "start": { + "line": 132, + "column": 21 + }, + "end": { + "line": 132, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_installedPlugins", + "start": 3619, + "end": 3636, + "loc": { + "start": { + "line": 132, + "column": 22 + }, + "end": { + "line": 132, + "column": 39 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3636, + "end": 3637, + "loc": { + "start": { + "line": 132, + "column": 39 + }, + "end": { + "line": 132, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "has", + "start": 3637, + "end": 3640, + "loc": { + "start": { + "line": 132, + "column": 40 + }, + "end": { + "line": 132, + "column": 43 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3640, + "end": 3641, + "loc": { + "start": { + "line": 132, + "column": 43 + }, + "end": { + "line": 132, + "column": 44 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Plugin", + "start": 3641, + "end": 3647, + "loc": { + "start": { + "line": 132, + "column": 44 + }, + "end": { + "line": 132, + "column": 50 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3647, + "end": 3648, + "loc": { + "start": { + "line": 132, + "column": 50 + }, + "end": { + "line": 132, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3648, + "end": 3649, + "loc": { + "start": { + "line": 132, + "column": 51 + }, + "end": { + "line": 132, + "column": 52 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3650, + "end": 3651, + "loc": { + "start": { + "line": 132, + "column": 53 + }, + "end": { + "line": 132, + "column": 54 + } + } + }, + { + "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": 3658, + "end": 3664, + "loc": { + "start": { + "line": 133, + "column": 6 + }, + "end": { + "line": 133, + "column": 12 + } + } + }, + { + "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": 3665, + "end": 3669, + "loc": { + "start": { + "line": 133, + "column": 13 + }, + "end": { + "line": 133, + "column": 17 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3674, + "end": 3675, + "loc": { + "start": { + "line": 134, + "column": 4 + }, + "end": { + "line": 134, + "column": 5 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 3681, + "end": 3686, + "loc": { + "start": { + "line": 136, + "column": 4 + }, + "end": { + "line": 136, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "plugin", + "start": 3687, + "end": 3693, + "loc": { + "start": { + "line": 136, + "column": 10 + }, + "end": { + "line": 136, + "column": 16 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 3694, + "end": 3695, + "loc": { + "start": { + "line": 136, + "column": 17 + }, + "end": { + "line": 136, + "column": 18 + } + } + }, + { + "type": { + "label": "typeof", + "keyword": "typeof", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": true, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "typeof", + "start": 3696, + "end": 3702, + "loc": { + "start": { + "line": 136, + "column": 19 + }, + "end": { + "line": 136, + "column": 25 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Plugin", + "start": 3703, + "end": 3709, + "loc": { + "start": { + "line": 136, + "column": 26 + }, + "end": { + "line": 136, + "column": 32 + } + } + }, + { + "type": { + "label": "==/!=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 6, + "updateContext": null + }, + "value": "===", + "start": 3710, + "end": 3713, + "loc": { + "start": { + "line": 136, + "column": 33 + }, + "end": { + "line": 136, + "column": 36 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "function", + "start": 3714, + "end": 3724, + "loc": { + "start": { + "line": 136, + "column": 37 + }, + "end": { + "line": 136, + "column": 47 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3731, + "end": 3732, + "loc": { + "start": { + "line": 137, + "column": 6 + }, + "end": { + "line": 137, + "column": 7 + } + } + }, + { + "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": 3733, + "end": 3736, + "loc": { + "start": { + "line": 137, + "column": 8 + }, + "end": { + "line": 137, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Plugin", + "start": 3737, + "end": 3743, + "loc": { + "start": { + "line": 137, + "column": 12 + }, + "end": { + "line": 137, + "column": 18 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3743, + "end": 3744, + "loc": { + "start": { + "line": 137, + "column": 18 + }, + "end": { + "line": 137, + "column": 19 + } + } + }, + { + "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": 3744, + "end": 3748, + "loc": { + "start": { + "line": 137, + "column": 19 + }, + "end": { + "line": 137, + "column": 23 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3748, + "end": 3749, + "loc": { + "start": { + "line": 137, + "column": 23 + }, + "end": { + "line": 137, + "column": 24 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3750, + "end": 3753, + "loc": { + "start": { + "line": 137, + "column": 25 + }, + "end": { + "line": 137, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "args", + "start": 3753, + "end": 3757, + "loc": { + "start": { + "line": 137, + "column": 28 + }, + "end": { + "line": 137, + "column": 32 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3757, + "end": 3758, + "loc": { + "start": { + "line": 137, + "column": 32 + }, + "end": { + "line": 137, + "column": 33 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3765, + "end": 3766, + "loc": { + "start": { + "line": 138, + "column": 6 + }, + "end": { + "line": 138, + "column": 7 + } + } + }, + { + "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": 3767, + "end": 3771, + "loc": { + "start": { + "line": 138, + "column": 8 + }, + "end": { + "line": 138, + "column": 12 + } + } + }, + { + "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": 3777, + "end": 3779, + "loc": { + "start": { + "line": 140, + "column": 4 + }, + "end": { + "line": 140, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3780, + "end": 3781, + "loc": { + "start": { + "line": 140, + "column": 7 + }, + "end": { + "line": 140, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "plugin", + "start": 3781, + "end": 3787, + "loc": { + "start": { + "line": 140, + "column": 8 + }, + "end": { + "line": 140, + "column": 14 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3787, + "end": 3788, + "loc": { + "start": { + "line": 140, + "column": 14 + }, + "end": { + "line": 140, + "column": 15 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3789, + "end": 3790, + "loc": { + "start": { + "line": 140, + "column": 16 + }, + "end": { + "line": 140, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApiScraper", + "start": 3797, + "end": 3810, + "loc": { + "start": { + "line": 141, + "column": 6 + }, + "end": { + "line": 141, + "column": 19 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3810, + "end": 3811, + "loc": { + "start": { + "line": 141, + "column": 19 + }, + "end": { + "line": 141, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_installedPlugins", + "start": 3811, + "end": 3828, + "loc": { + "start": { + "line": 141, + "column": 20 + }, + "end": { + "line": 141, + "column": 37 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3828, + "end": 3829, + "loc": { + "start": { + "line": 141, + "column": 37 + }, + "end": { + "line": 141, + "column": 38 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "set", + "start": 3829, + "end": 3832, + "loc": { + "start": { + "line": 141, + "column": 38 + }, + "end": { + "line": 141, + "column": 41 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3832, + "end": 3833, + "loc": { + "start": { + "line": 141, + "column": 41 + }, + "end": { + "line": 141, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Plugin", + "start": 3833, + "end": 3839, + "loc": { + "start": { + "line": 141, + "column": 42 + }, + "end": { + "line": 141, + "column": 48 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3839, + "end": 3840, + "loc": { + "start": { + "line": 141, + "column": 48 + }, + "end": { + "line": 141, + "column": 49 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "plugin", + "start": 3841, + "end": 3847, + "loc": { + "start": { + "line": 141, + "column": 50 + }, + "end": { + "line": 141, + "column": 56 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3847, + "end": 3848, + "loc": { + "start": { + "line": 141, + "column": 56 + }, + "end": { + "line": 141, + "column": 57 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3853, + "end": 3854, + "loc": { + "start": { + "line": 142, + "column": 4 + }, + "end": { + "line": 142, + "column": 5 + } + } + }, + { + "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": 3860, + "end": 3866, + "loc": { + "start": { + "line": 144, + "column": 4 + }, + "end": { + "line": 144, + "column": 10 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 3867, + "end": 3871, + "loc": { + "start": { + "line": 144, + "column": 11 + }, + "end": { + "line": 144, + "column": 15 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3874, + "end": 3875, + "loc": { + "start": { + "line": 145, + "column": 2 + }, + "end": { + "line": 145, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Initiate the scraping.\n * @param {!number} [concurrency=1] - How many providers to scrape\n * concurrently.\n * @returns {Promise, Error>} - The array of the scraped\n * content.\n ", + "start": 3878, + "end": 4090, + "loc": { + "start": { + "line": 146, + "column": 2 + }, + "end": { + "line": 152, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "async", + "start": 4093, + "end": 4098, + "loc": { + "start": { + "line": 153, + "column": 2 + }, + "end": { + "line": 153, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrape", + "start": 4099, + "end": 4105, + "loc": { + "start": { + "line": 153, + "column": 8 + }, + "end": { + "line": 153, + "column": 14 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4105, + "end": 4106, + "loc": { + "start": { + "line": 153, + "column": 14 + }, + "end": { + "line": 153, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "concurrency", + "start": 4106, + "end": 4117, + "loc": { + "start": { + "line": 153, + "column": 15 + }, + "end": { + "line": 153, + "column": 26 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4117, + "end": 4118, + "loc": { + "start": { + "line": 153, + "column": 26 + }, + "end": { + "line": 153, + "column": 27 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4118, + "end": 4119, + "loc": { + "start": { + "line": 153, + "column": 27 + }, + "end": { + "line": 153, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "number", + "start": 4120, + "end": 4126, + "loc": { + "start": { + "line": 153, + "column": 29 + }, + "end": { + "line": 153, + "column": 35 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 4127, + "end": 4128, + "loc": { + "start": { + "line": 153, + "column": 36 + }, + "end": { + "line": 153, + "column": 37 + } + } + }, + { + "type": { + "label": "num", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": 1, + "start": 4129, + "end": 4130, + "loc": { + "start": { + "line": 153, + "column": 38 + }, + "end": { + "line": 153, + "column": 39 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4130, + "end": 4131, + "loc": { + "start": { + "line": 153, + "column": 39 + }, + "end": { + "line": 153, + "column": 40 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4131, + "end": 4132, + "loc": { + "start": { + "line": 153, + "column": 40 + }, + "end": { + "line": 153, + "column": 41 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 4133, + "end": 4140, + "loc": { + "start": { + "line": 153, + "column": 42 + }, + "end": { + "line": 153, + "column": 49 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 4140, + "end": 4141, + "loc": { + "start": { + "line": 153, + "column": 49 + }, + "end": { + "line": 153, + "column": 50 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Array", + "start": 4141, + "end": 4146, + "loc": { + "start": { + "line": 153, + "column": 50 + }, + "end": { + "line": 153, + "column": 55 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 4146, + "end": 4147, + "loc": { + "start": { + "line": 153, + "column": 55 + }, + "end": { + "line": 153, + "column": 56 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 4147, + "end": 4153, + "loc": { + "start": { + "line": 153, + "column": 56 + }, + "end": { + "line": 153, + "column": 62 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 4153, + "end": 4154, + "loc": { + "start": { + "line": 153, + "column": 62 + }, + "end": { + "line": 153, + "column": 63 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 4155, + "end": 4156, + "loc": { + "start": { + "line": 153, + "column": 64 + }, + "end": { + "line": 153, + "column": 65 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 4157, + "end": 4162, + "loc": { + "start": { + "line": 153, + "column": 66 + }, + "end": { + "line": 153, + "column": 71 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 4162, + "end": 4163, + "loc": { + "start": { + "line": 153, + "column": 71 + }, + "end": { + "line": 153, + "column": 72 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4164, + "end": 4165, + "loc": { + "start": { + "line": 153, + "column": 73 + }, + "end": { + "line": 153, + "column": 74 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "await", + "start": 4170, + "end": 4175, + "loc": { + "start": { + "line": 154, + "column": 4 + }, + "end": { + "line": 154, + "column": 9 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 4176, + "end": 4180, + "loc": { + "start": { + "line": 154, + "column": 10 + }, + "end": { + "line": 154, + "column": 14 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4180, + "end": 4181, + "loc": { + "start": { + "line": 154, + "column": 14 + }, + "end": { + "line": 154, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "setUpdated", + "start": 4181, + "end": 4191, + "loc": { + "start": { + "line": 154, + "column": 15 + }, + "end": { + "line": 154, + "column": 25 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4191, + "end": 4192, + "loc": { + "start": { + "line": 154, + "column": 25 + }, + "end": { + "line": 154, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Math", + "start": 4192, + "end": 4196, + "loc": { + "start": { + "line": 154, + "column": 26 + }, + "end": { + "line": 154, + "column": 30 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4196, + "end": 4197, + "loc": { + "start": { + "line": 154, + "column": 30 + }, + "end": { + "line": 154, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "floor", + "start": 4197, + "end": 4202, + "loc": { + "start": { + "line": 154, + "column": 31 + }, + "end": { + "line": 154, + "column": 36 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4202, + "end": 4203, + "loc": { + "start": { + "line": 154, + "column": 36 + }, + "end": { + "line": 154, + "column": 37 + } + } + }, + { + "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": 4203, + "end": 4206, + "loc": { + "start": { + "line": 154, + "column": 37 + }, + "end": { + "line": 154, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Date", + "start": 4207, + "end": 4211, + "loc": { + "start": { + "line": 154, + "column": 41 + }, + "end": { + "line": 154, + "column": 45 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4211, + "end": 4212, + "loc": { + "start": { + "line": 154, + "column": 45 + }, + "end": { + "line": 154, + "column": 46 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4212, + "end": 4213, + "loc": { + "start": { + "line": 154, + "column": 46 + }, + "end": { + "line": 154, + "column": 47 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4213, + "end": 4214, + "loc": { + "start": { + "line": 154, + "column": 47 + }, + "end": { + "line": 154, + "column": 48 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "getTime", + "start": 4214, + "end": 4221, + "loc": { + "start": { + "line": 154, + "column": 48 + }, + "end": { + "line": 154, + "column": 55 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4221, + "end": 4222, + "loc": { + "start": { + "line": 154, + "column": 55 + }, + "end": { + "line": 154, + "column": 56 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4222, + "end": 4223, + "loc": { + "start": { + "line": 154, + "column": 56 + }, + "end": { + "line": 154, + "column": 57 + } + } + }, + { + "type": { + "label": "/", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 10, + "updateContext": null + }, + "value": "/", + "start": 4224, + "end": 4225, + "loc": { + "start": { + "line": 154, + "column": 58 + }, + "end": { + "line": 154, + "column": 59 + } + } + }, + { + "type": { + "label": "num", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": 1000, + "start": 4226, + "end": 4230, + "loc": { + "start": { + "line": 154, + "column": 60 + }, + "end": { + "line": 154, + "column": 64 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4230, + "end": 4231, + "loc": { + "start": { + "line": 154, + "column": 64 + }, + "end": { + "line": 154, + "column": 65 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4231, + "end": 4232, + "loc": { + "start": { + "line": 154, + "column": 65 + }, + "end": { + "line": 154, + "column": 66 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 4237, + "end": 4242, + "loc": { + "start": { + "line": 155, + "column": 4 + }, + "end": { + "line": 155, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "providers", + "start": 4243, + "end": 4252, + "loc": { + "start": { + "line": 155, + "column": 10 + }, + "end": { + "line": 155, + "column": 19 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 4253, + "end": 4254, + "loc": { + "start": { + "line": 155, + "column": 20 + }, + "end": { + "line": 155, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApiScraper", + "start": 4255, + "end": 4268, + "loc": { + "start": { + "line": 155, + "column": 22 + }, + "end": { + "line": 155, + "column": 35 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4268, + "end": 4269, + "loc": { + "start": { + "line": 155, + "column": 35 + }, + "end": { + "line": 155, + "column": 36 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_installedPlugins", + "start": 4269, + "end": 4286, + "loc": { + "start": { + "line": 155, + "column": 36 + }, + "end": { + "line": 155, + "column": 53 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4286, + "end": 4287, + "loc": { + "start": { + "line": 155, + "column": 53 + }, + "end": { + "line": 155, + "column": 54 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "values", + "start": 4287, + "end": 4293, + "loc": { + "start": { + "line": 155, + "column": 54 + }, + "end": { + "line": 155, + "column": 60 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4293, + "end": 4294, + "loc": { + "start": { + "line": 155, + "column": 60 + }, + "end": { + "line": 155, + "column": 61 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4294, + "end": 4295, + "loc": { + "start": { + "line": 155, + "column": 61 + }, + "end": { + "line": 155, + "column": 62 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 4301, + "end": 4306, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 157, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "res", + "start": 4307, + "end": 4310, + "loc": { + "start": { + "line": 157, + "column": 10 + }, + "end": { + "line": 157, + "column": 13 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 4311, + "end": 4312, + "loc": { + "start": { + "line": 157, + "column": 14 + }, + "end": { + "line": 157, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "await", + "start": 4313, + "end": 4318, + "loc": { + "start": { + "line": 157, + "column": 16 + }, + "end": { + "line": 157, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "pMap", + "start": 4319, + "end": 4323, + "loc": { + "start": { + "line": 157, + "column": 22 + }, + "end": { + "line": 157, + "column": 26 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4323, + "end": 4324, + "loc": { + "start": { + "line": 157, + "column": 26 + }, + "end": { + "line": 157, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "providers", + "start": 4324, + "end": 4333, + "loc": { + "start": { + "line": 157, + "column": 27 + }, + "end": { + "line": 157, + "column": 36 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4333, + "end": 4334, + "loc": { + "start": { + "line": 157, + "column": 36 + }, + "end": { + "line": 157, + "column": 37 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "async", + "start": 4335, + "end": 4340, + "loc": { + "start": { + "line": 157, + "column": 38 + }, + "end": { + "line": 157, + "column": 43 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 4341, + "end": 4349, + "loc": { + "start": { + "line": 157, + "column": 44 + }, + "end": { + "line": 157, + "column": 52 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4350, + "end": 4352, + "loc": { + "start": { + "line": 157, + "column": 53 + }, + "end": { + "line": 157, + "column": 55 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4353, + "end": 4354, + "loc": { + "start": { + "line": 157, + "column": 56 + }, + "end": { + "line": 157, + "column": 57 + } + } + }, + { + "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": 4361, + "end": 4365, + "loc": { + "start": { + "line": 158, + "column": 6 + }, + "end": { + "line": 158, + "column": 10 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4365, + "end": 4366, + "loc": { + "start": { + "line": 158, + "column": 10 + }, + "end": { + "line": 158, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "context", + "start": 4366, + "end": 4373, + "loc": { + "start": { + "line": 158, + "column": 11 + }, + "end": { + "line": 158, + "column": 18 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4373, + "end": 4374, + "loc": { + "start": { + "line": 158, + "column": 18 + }, + "end": { + "line": 158, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 4374, + "end": 4382, + "loc": { + "start": { + "line": 158, + "column": 19 + }, + "end": { + "line": 158, + "column": 27 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 4383, + "end": 4384, + "loc": { + "start": { + "line": 158, + "column": 28 + }, + "end": { + "line": 158, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 4385, + "end": 4393, + "loc": { + "start": { + "line": 158, + "column": 30 + }, + "end": { + "line": 158, + "column": 38 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "await", + "start": 4400, + "end": 4405, + "loc": { + "start": { + "line": 159, + "column": 6 + }, + "end": { + "line": 159, + "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": 4406, + "end": 4410, + "loc": { + "start": { + "line": 159, + "column": 12 + }, + "end": { + "line": 159, + "column": 16 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4410, + "end": 4411, + "loc": { + "start": { + "line": 159, + "column": 16 + }, + "end": { + "line": 159, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "setStatus", + "start": 4411, + "end": 4420, + "loc": { + "start": { + "line": 159, + "column": 17 + }, + "end": { + "line": 159, + "column": 26 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4420, + "end": 4421, + "loc": { + "start": { + "line": 159, + "column": 26 + }, + "end": { + "line": 159, + "column": 27 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4421, + "end": 4422, + "loc": { + "start": { + "line": 159, + "column": 27 + }, + "end": { + "line": 159, + "column": 28 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Scraping: ", + "start": 4422, + "end": 4432, + "loc": { + "start": { + "line": 159, + "column": 28 + }, + "end": { + "line": 159, + "column": 38 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4432, + "end": 4434, + "loc": { + "start": { + "line": 159, + "column": 38 + }, + "end": { + "line": 159, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "provider", + "start": 4434, + "end": 4442, + "loc": { + "start": { + "line": 159, + "column": 40 + }, + "end": { + "line": 159, + "column": 48 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4442, + "end": 4443, + "loc": { + "start": { + "line": 159, + "column": 48 + }, + "end": { + "line": 159, + "column": 49 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 4443, + "end": 4447, + "loc": { + "start": { + "line": 159, + "column": 49 + }, + "end": { + "line": 159, + "column": 53 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4447, + "end": 4448, + "loc": { + "start": { + "line": 159, + "column": 53 + }, + "end": { + "line": 159, + "column": 54 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "", + "start": 4448, + "end": 4448, + "loc": { + "start": { + "line": 159, + "column": 54 + }, + "end": { + "line": 159, + "column": 54 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4448, + "end": 4449, + "loc": { + "start": { + "line": 159, + "column": 54 + }, + "end": { + "line": 159, + "column": 55 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4449, + "end": 4450, + "loc": { + "start": { + "line": 159, + "column": 55 + }, + "end": { + "line": 159, + "column": 56 + } + } + }, + { + "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": 4458, + "end": 4464, + "loc": { + "start": { + "line": 161, + "column": 6 + }, + "end": { + "line": 161, + "column": 12 + } + } + }, + { + "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": 4465, + "end": 4469, + "loc": { + "start": { + "line": 161, + "column": 13 + }, + "end": { + "line": 161, + "column": 17 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4469, + "end": 4470, + "loc": { + "start": { + "line": 161, + "column": 17 + }, + "end": { + "line": 161, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "context", + "start": 4470, + "end": 4477, + "loc": { + "start": { + "line": 161, + "column": 18 + }, + "end": { + "line": 161, + "column": 25 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4477, + "end": 4478, + "loc": { + "start": { + "line": 161, + "column": 25 + }, + "end": { + "line": 161, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "execute", + "start": 4478, + "end": 4485, + "loc": { + "start": { + "line": 161, + "column": 26 + }, + "end": { + "line": 161, + "column": 33 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4485, + "end": 4486, + "loc": { + "start": { + "line": 161, + "column": 33 + }, + "end": { + "line": 161, + "column": 34 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4486, + "end": 4487, + "loc": { + "start": { + "line": 161, + "column": 34 + }, + "end": { + "line": 161, + "column": 35 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4492, + "end": 4493, + "loc": { + "start": { + "line": 162, + "column": 4 + }, + "end": { + "line": 162, + "column": 5 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4493, + "end": 4494, + "loc": { + "start": { + "line": 162, + "column": 5 + }, + "end": { + "line": 162, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4495, + "end": 4496, + "loc": { + "start": { + "line": 162, + "column": 7 + }, + "end": { + "line": 162, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "concurrency", + "start": 4497, + "end": 4508, + "loc": { + "start": { + "line": 162, + "column": 9 + }, + "end": { + "line": 162, + "column": 20 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4509, + "end": 4510, + "loc": { + "start": { + "line": 162, + "column": 21 + }, + "end": { + "line": 162, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4510, + "end": 4511, + "loc": { + "start": { + "line": 162, + "column": 22 + }, + "end": { + "line": 162, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "await", + "start": 4516, + "end": 4521, + "loc": { + "start": { + "line": 163, + "column": 4 + }, + "end": { + "line": 163, + "column": 9 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 4522, + "end": 4526, + "loc": { + "start": { + "line": 163, + "column": 10 + }, + "end": { + "line": 163, + "column": 14 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4526, + "end": 4527, + "loc": { + "start": { + "line": 163, + "column": 14 + }, + "end": { + "line": 163, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "setStatus", + "start": 4527, + "end": 4536, + "loc": { + "start": { + "line": 163, + "column": 15 + }, + "end": { + "line": 163, + "column": 24 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4536, + "end": 4537, + "loc": { + "start": { + "line": 163, + "column": 24 + }, + "end": { + "line": 163, + "column": 25 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "idle", + "start": 4537, + "end": 4543, + "loc": { + "start": { + "line": 163, + "column": 25 + }, + "end": { + "line": 163, + "column": 31 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4543, + "end": 4544, + "loc": { + "start": { + "line": 163, + "column": 31 + }, + "end": { + "line": 163, + "column": 32 + } + } + }, + { + "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": 4550, + "end": 4556, + "loc": { + "start": { + "line": 165, + "column": 4 + }, + "end": { + "line": 165, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "res", + "start": 4557, + "end": 4560, + "loc": { + "start": { + "line": 165, + "column": 11 + }, + "end": { + "line": 165, + "column": 14 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4563, + "end": 4564, + "loc": { + "start": { + "line": 166, + "column": 2 + }, + "end": { + "line": 166, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4566, + "end": 4567, + "loc": { + "start": { + "line": 168, + "column": 0 + }, + "end": { + "line": 168, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4568, + "end": 4568, + "loc": { + "start": { + "line": 169, + "column": 0 + }, + "end": { + "line": 169, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/http/AbstractHttpService.js.json b/docs/ast/source/http/AbstractHttpService.js.json new file mode 100644 index 0000000..a42b8ac --- /dev/null +++ b/docs/ast/source/http/AbstractHttpService.js.json @@ -0,0 +1,15103 @@ +{ + "type": "File", + "start": 0, + "end": 4019, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 161, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 4019, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 161, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ImportDeclaration", + "start": 42, + "end": 71, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 29 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 49, + "end": 56, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 14 + } + }, + "local": { + "type": "Identifier", + "start": 49, + "end": 56, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 14 + }, + "identifierName": "cheerio" + }, + "name": "cheerio", + "leadingComments": null + }, + "leadingComments": null + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 62, + "end": 71, + "loc": { + "start": { + "line": 3, + "column": 20 + }, + "end": { + "line": 3, + "column": 29 + } + }, + "extra": { + "rawValue": "cheerio", + "raw": "'cheerio'" + }, + "value": "cheerio" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + } + ] + }, + { + "type": "ImportDeclaration", + "start": 72, + "end": 97, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 25 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 79, + "end": 84, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 12 + } + }, + "local": { + "type": "Identifier", + "start": 79, + "end": 84, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 12 + }, + "identifierName": "debug" + }, + "name": "debug" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 90, + "end": 97, + "loc": { + "start": { + "line": 4, + "column": 18 + }, + "end": { + "line": 4, + "column": 25 + } + }, + "extra": { + "rawValue": "debug", + "raw": "'debug'" + }, + "value": "debug" + } + }, + { + "type": "ImportDeclaration", + "start": 98, + "end": 137, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 39 + } + }, + "specifiers": [ + { + "type": "ImportSpecifier", + "start": 107, + "end": 116, + "loc": { + "start": { + "line": 5, + "column": 9 + }, + "end": { + "line": 5, + "column": 18 + } + }, + "imported": { + "type": "Identifier", + "start": 107, + "end": 116, + "loc": { + "start": { + "line": 5, + "column": 9 + }, + "end": { + "line": 5, + "column": 18 + }, + "identifierName": "stringify" + }, + "name": "stringify" + }, + "importKind": null, + "local": { + "type": "Identifier", + "start": 107, + "end": 116, + "loc": { + "start": { + "line": 5, + "column": 9 + }, + "end": { + "line": 5, + "column": 18 + }, + "identifierName": "stringify" + }, + "name": "stringify" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 124, + "end": 137, + "loc": { + "start": { + "line": 5, + "column": 26 + }, + "end": { + "line": 5, + "column": 39 + } + }, + "extra": { + "rawValue": "querystring", + "raw": "'querystring'" + }, + "value": "querystring" + } + }, + { + "type": "ImportDeclaration", + "start": 139, + "end": 180, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 7, + "column": 41 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 146, + "end": 158, + "loc": { + "start": { + "line": 7, + "column": 7 + }, + "end": { + "line": 7, + "column": 19 + } + }, + "local": { + "type": "Identifier", + "start": 146, + "end": 158, + "loc": { + "start": { + "line": 7, + "column": 7 + }, + "end": { + "line": 7, + "column": 19 + }, + "identifierName": "IHttpService" + }, + "name": "IHttpService" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 164, + "end": 180, + "loc": { + "start": { + "line": 7, + "column": 25 + }, + "end": { + "line": 7, + "column": 41 + } + }, + "extra": { + "rawValue": "./IHttpService", + "raw": "'./IHttpService'" + }, + "value": "./IHttpService" + } + }, + { + "type": "ImportDeclaration", + "start": 181, + "end": 222, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 41 + } + }, + "specifiers": [ + { + "type": "ImportSpecifier", + "start": 190, + "end": 194, + "loc": { + "start": { + "line": 8, + "column": 9 + }, + "end": { + "line": 8, + "column": 13 + } + }, + "imported": { + "type": "Identifier", + "start": 190, + "end": 194, + "loc": { + "start": { + "line": 8, + "column": 9 + }, + "end": { + "line": 8, + "column": 13 + }, + "identifierName": "name" + }, + "name": "name" + }, + "importKind": null, + "local": { + "type": "Identifier", + "start": 190, + "end": 194, + "loc": { + "start": { + "line": 8, + "column": 9 + }, + "end": { + "line": 8, + "column": 13 + }, + "identifierName": "name" + }, + "name": "name" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 202, + "end": 222, + "loc": { + "start": { + "line": 8, + "column": 21 + }, + "end": { + "line": 8, + "column": 41 + } + }, + "extra": { + "rawValue": "../../package.json", + "raw": "'../../package.json'" + }, + "value": "../../package.json", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls.\n * @abstract\n * @implements {IHttpService}\n * @type {AbstractHttpService}\n ", + "start": 224, + "end": 337, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 15, + "column": 3 + } + } + } + ] + }, + { + "type": "ExportDefaultDeclaration", + "start": 338, + "end": 4018, + "loc": { + "start": { + "line": 16, + "column": 0 + }, + "end": { + "line": 160, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 353, + "end": 4018, + "loc": { + "start": { + "line": 16, + "column": 15 + }, + "end": { + "line": 160, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 359, + "end": 378, + "loc": { + "start": { + "line": 16, + "column": 21 + }, + "end": { + "line": 16, + "column": 40 + }, + "identifierName": "AbstractHttpService" + }, + "name": "AbstractHttpService", + "leadingComments": null + }, + "superClass": { + "type": "Identifier", + "start": 387, + "end": 399, + "loc": { + "start": { + "line": 16, + "column": 49 + }, + "end": { + "line": 16, + "column": 61 + }, + "identifierName": "IHttpService" + }, + "name": "IHttpService" + }, + "body": { + "type": "ClassBody", + "start": 400, + "end": 4018, + "loc": { + "start": { + "line": 16, + "column": 62 + }, + "end": { + "line": 160, + "column": 1 + } + }, + "body": [ + { + "type": "ClassProperty", + "start": 481, + "end": 496, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 22, + "column": 17 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 481, + "end": 488, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 22, + "column": 9 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 488, + "end": 496, + "loc": { + "start": { + "line": 22, + "column": 9 + }, + "end": { + "line": 22, + "column": 17 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 490, + "end": 496, + "loc": { + "start": { + "line": 22, + "column": 11 + }, + "end": { + "line": 22, + "column": 17 + } + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The base url of the website to scrape. \n * @type \n * {string} \n * @type \n * {string} \n", + "start": 405, + "end": 478, + "loc": { + "start": { + "line": 18, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 500, + "end": 577, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 580, + "end": 595, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 17 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 580, + "end": 587, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 9 + }, + "identifierName": "options" + }, + "name": "options", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 587, + "end": 595, + "loc": { + "start": { + "line": 28, + "column": 9 + }, + "end": { + "line": 28, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 589, + "end": 595, + "loc": { + "start": { + "line": 28, + "column": 11 + }, + "end": { + "line": 28, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 589, + "end": 595, + "loc": { + "start": { + "line": 28, + "column": 11 + }, + "end": { + "line": 28, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The default options for the HTTP requests. \n * @type \n * {Object} \n * @type \n * {Object} \n", + "start": 500, + "end": 577, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 599, + "end": 672, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 675, + "end": 691, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 34, + "column": 18 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 675, + "end": 681, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 34, + "column": 8 + }, + "identifierName": "_debug" + }, + "name": "_debug", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 681, + "end": 691, + "loc": { + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 34, + "column": 18 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 683, + "end": 691, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 18 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 683, + "end": 691, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 18 + }, + "identifierName": "Function" + }, + "name": "Function", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The debug function for extra output. \n * @type \n * {Function} \n * @type \n * {Function} \n", + "start": 599, + "end": 672, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new Request object.\n * @param {!string} baseUrl - The base url of the website to scrape.\n * @param {?Object} options={} - The default options for the HTTP requests.\n ", + "start": 695, + "end": 887, + "loc": { + "start": { + "line": 36, + "column": 2 + }, + "end": { + "line": 40, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 890, + "end": 1313, + "loc": { + "start": { + "line": 41, + "column": 2 + }, + "end": { + "line": 59, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 890, + "end": 901, + "loc": { + "start": { + "line": 41, + "column": 2 + }, + "end": { + "line": 41, + "column": 13 + }, + "identifierName": "constructor" + }, + "name": "constructor", + "leadingComments": null + }, + "kind": "constructor", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "ObjectPattern", + "start": 902, + "end": 933, + "loc": { + "start": { + "line": 41, + "column": 14 + }, + "end": { + "line": 41, + "column": 45 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 903, + "end": 910, + "loc": { + "start": { + "line": 41, + "column": 15 + }, + "end": { + "line": 41, + "column": 22 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 903, + "end": 910, + "loc": { + "start": { + "line": 41, + "column": 15 + }, + "end": { + "line": 41, + "column": 22 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl" + }, + "value": { + "type": "Identifier", + "start": 903, + "end": 910, + "loc": { + "start": { + "line": 41, + "column": 15 + }, + "end": { + "line": 41, + "column": 22 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 912, + "end": 924, + "loc": { + "start": { + "line": 41, + "column": 24 + }, + "end": { + "line": 41, + "column": 36 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 912, + "end": 919, + "loc": { + "start": { + "line": 41, + "column": 24 + }, + "end": { + "line": 41, + "column": 31 + }, + "identifierName": "options" + }, + "name": "options" + }, + "value": { + "type": "AssignmentPattern", + "start": 912, + "end": 924, + "loc": { + "start": { + "line": 41, + "column": 24 + }, + "end": { + "line": 41, + "column": 36 + } + }, + "left": { + "type": "Identifier", + "start": 912, + "end": 919, + "loc": { + "start": { + "line": 41, + "column": 24 + }, + "end": { + "line": 41, + "column": 31 + }, + "identifierName": "options" + }, + "name": "options" + }, + "right": { + "type": "ObjectExpression", + "start": 922, + "end": 924, + "loc": { + "start": { + "line": 41, + "column": 34 + }, + "end": { + "line": 41, + "column": 36 + } + }, + "properties": [] + } + }, + "extra": { + "shorthand": true + } + } + ], + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 925, + "end": 933, + "loc": { + "start": { + "line": 41, + "column": 37 + }, + "end": { + "line": 41, + "column": 45 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 927, + "end": 933, + "loc": { + "start": { + "line": 41, + "column": 39 + }, + "end": { + "line": 41, + "column": 45 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 927, + "end": 933, + "loc": { + "start": { + "line": 41, + "column": 39 + }, + "end": { + "line": 41, + "column": 45 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 934, + "end": 940, + "loc": { + "start": { + "line": 41, + "column": 46 + }, + "end": { + "line": 41, + "column": 52 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 936, + "end": 940, + "loc": { + "start": { + "line": 41, + "column": 48 + }, + "end": { + "line": 41, + "column": 52 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 941, + "end": 1313, + "loc": { + "start": { + "line": 41, + "column": 53 + }, + "end": { + "line": 59, + "column": 3 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 947, + "end": 954, + "loc": { + "start": { + "line": 42, + "column": 4 + }, + "end": { + "line": 42, + "column": 11 + } + }, + "expression": { + "type": "CallExpression", + "start": 947, + "end": 954, + "loc": { + "start": { + "line": 42, + "column": 4 + }, + "end": { + "line": 42, + "column": 11 + } + }, + "callee": { + "type": "Super", + "start": 947, + "end": 952, + "loc": { + "start": { + "line": 42, + "column": 4 + }, + "end": { + "line": 42, + "column": 9 + } + } + }, + "arguments": [], + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The the base url of hte website to scrape.\n * @type {string}\n ", + "start": 960, + "end": 1043, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 47, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1048, + "end": 1070, + "loc": { + "start": { + "line": 48, + "column": 4 + }, + "end": { + "line": 48, + "column": 26 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1048, + "end": 1070, + "loc": { + "start": { + "line": 48, + "column": 4 + }, + "end": { + "line": 48, + "column": 26 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1048, + "end": 1060, + "loc": { + "start": { + "line": 48, + "column": 4 + }, + "end": { + "line": 48, + "column": 16 + } + }, + "object": { + "type": "ThisExpression", + "start": 1048, + "end": 1052, + "loc": { + "start": { + "line": 48, + "column": 4 + }, + "end": { + "line": 48, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1053, + "end": 1060, + "loc": { + "start": { + "line": 48, + "column": 9 + }, + "end": { + "line": 48, + "column": 16 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1063, + "end": 1070, + "loc": { + "start": { + "line": 48, + "column": 19 + }, + "end": { + "line": 48, + "column": 26 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl", + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The the base url of hte website to scrape.\n * @type {string}\n ", + "start": 960, + "end": 1043, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 47, + "column": 7 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 1075, + "end": 1158, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1163, + "end": 1185, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 26 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1163, + "end": 1185, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 26 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1163, + "end": 1175, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 16 + } + }, + "object": { + "type": "ThisExpression", + "start": 1163, + "end": 1167, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1168, + "end": 1175, + "loc": { + "start": { + "line": 53, + "column": 9 + }, + "end": { + "line": 53, + "column": 16 + }, + "identifierName": "options" + }, + "name": "options" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1178, + "end": 1185, + "loc": { + "start": { + "line": 53, + "column": 19 + }, + "end": { + "line": 53, + "column": 26 + }, + "identifierName": "options" + }, + "name": "options", + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 1075, + "end": 1158, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 1190, + "end": 1269, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1274, + "end": 1309, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 39 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1274, + "end": 1309, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 39 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1274, + "end": 1285, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 15 + } + }, + "object": { + "type": "ThisExpression", + "start": 1274, + "end": 1278, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1279, + "end": 1285, + "loc": { + "start": { + "line": 58, + "column": 9 + }, + "end": { + "line": 58, + "column": 15 + }, + "identifierName": "_debug" + }, + "name": "_debug" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "CallExpression", + "start": 1288, + "end": 1309, + "loc": { + "start": { + "line": 58, + "column": 18 + }, + "end": { + "line": 58, + "column": 39 + } + }, + "callee": { + "type": "Identifier", + "start": 1288, + "end": 1293, + "loc": { + "start": { + "line": 58, + "column": 18 + }, + "end": { + "line": 58, + "column": 23 + }, + "identifierName": "debug" + }, + "name": "debug" + }, + "arguments": [ + { + "type": "TemplateLiteral", + "start": 1294, + "end": 1308, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 38 + } + }, + "expressions": [ + { + "type": "Identifier", + "start": 1297, + "end": 1301, + "loc": { + "start": { + "line": 58, + "column": 27 + }, + "end": { + "line": 58, + "column": 31 + }, + "identifierName": "name" + }, + "name": "name" + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 1295, + "end": 1295, + "loc": { + "start": { + "line": 58, + "column": 25 + }, + "end": { + "line": 58, + "column": 25 + } + }, + "value": { + "raw": "", + "cooked": "" + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 1302, + "end": 1307, + "loc": { + "start": { + "line": 58, + "column": 32 + }, + "end": { + "line": 58, + "column": 37 + } + }, + "value": { + "raw": ":Http", + "cooked": ":Http" + }, + "tail": true + } + ] + } + ] + }, + "leadingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 1190, + "end": 1269, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + } + ] + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a new Request object.\n * @param {!string} baseUrl - The base url of the website to scrape.\n * @param {?Object} options={} - The default options for the HTTP requests.\n ", + "start": 695, + "end": 887, + "loc": { + "start": { + "line": 36, + "column": 2 + }, + "end": { + "line": 40, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a GET request.\n * @param {!string} [endpoint=''] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1317, + "end": 1651, + "loc": { + "start": { + "line": 61, + "column": 2 + }, + "end": { + "line": 69, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1654, + "end": 1820, + "loc": { + "start": { + "line": 70, + "column": 2 + }, + "end": { + "line": 76, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1654, + "end": 1657, + "loc": { + "start": { + "line": 70, + "column": 2 + }, + "end": { + "line": 70, + "column": 5 + }, + "identifierName": "get" + }, + "name": "get", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "AssignmentPattern", + "start": 1663, + "end": 1685, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 26 + } + }, + "left": { + "type": "Identifier", + "start": 1663, + "end": 1680, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 21 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1672, + "end": 1680, + "loc": { + "start": { + "line": 71, + "column": 13 + }, + "end": { + "line": 71, + "column": 21 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 1674, + "end": 1680, + "loc": { + "start": { + "line": 71, + "column": 15 + }, + "end": { + "line": 71, + "column": 21 + } + } + } + } + }, + "right": { + "type": "StringLiteral", + "start": 1683, + "end": 1685, + "loc": { + "start": { + "line": 71, + "column": 24 + }, + "end": { + "line": 71, + "column": 26 + } + }, + "extra": { + "rawValue": "", + "raw": "''" + }, + "value": "" + } + }, + { + "type": "AssignmentPattern", + "start": 1691, + "end": 1709, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 72, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 1691, + "end": 1704, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 72, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1696, + "end": 1704, + "loc": { + "start": { + "line": 72, + "column": 9 + }, + "end": { + "line": 72, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1698, + "end": 1704, + "loc": { + "start": { + "line": 72, + "column": 11 + }, + "end": { + "line": 72, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1698, + "end": 1704, + "loc": { + "start": { + "line": 72, + "column": 11 + }, + "end": { + "line": 72, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 1707, + "end": 1709, + "loc": { + "start": { + "line": 72, + "column": 20 + }, + "end": { + "line": 72, + "column": 22 + } + }, + "properties": [] + } + }, + { + "type": "AssignmentPattern", + "start": 1715, + "end": 1736, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 73, + "column": 25 + } + }, + "left": { + "type": "Identifier", + "start": 1715, + "end": 1728, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 73, + "column": 17 + }, + "identifierName": "raw" + }, + "name": "raw", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1719, + "end": 1728, + "loc": { + "start": { + "line": 73, + "column": 8 + }, + "end": { + "line": 73, + "column": 17 + } + }, + "typeAnnotation": { + "type": "BooleanTypeAnnotation", + "start": 1721, + "end": 1728, + "loc": { + "start": { + "line": 73, + "column": 10 + }, + "end": { + "line": 73, + "column": 17 + } + } + } + } + }, + "right": { + "type": "BooleanLiteral", + "start": 1731, + "end": 1736, + "loc": { + "start": { + "line": 73, + "column": 20 + }, + "end": { + "line": 73, + "column": 25 + } + }, + "value": false + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1740, + "end": 1762, + "loc": { + "start": { + "line": 74, + "column": 3 + }, + "end": { + "line": 74, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1742, + "end": 1762, + "loc": { + "start": { + "line": 74, + "column": 5 + }, + "end": { + "line": 74, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 1749, + "end": 1762, + "loc": { + "start": { + "line": 74, + "column": 12 + }, + "end": { + "line": 74, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 1750, + "end": 1761, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 1750, + "end": 1753, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 1756, + "end": 1761, + "loc": { + "start": { + "line": 74, + "column": 19 + }, + "end": { + "line": 74, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1756, + "end": 1761, + "loc": { + "start": { + "line": 74, + "column": 19 + }, + "end": { + "line": 74, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 1742, + "end": 1749, + "loc": { + "start": { + "line": 74, + "column": 5 + }, + "end": { + "line": 74, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1763, + "end": 1820, + "loc": { + "start": { + "line": 74, + "column": 26 + }, + "end": { + "line": 76, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 1769, + "end": 1816, + "loc": { + "start": { + "line": 75, + "column": 4 + }, + "end": { + "line": 75, + "column": 51 + } + }, + "argument": { + "type": "CallExpression", + "start": 1776, + "end": 1816, + "loc": { + "start": { + "line": 75, + "column": 11 + }, + "end": { + "line": 75, + "column": 51 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1776, + "end": 1788, + "loc": { + "start": { + "line": 75, + "column": 11 + }, + "end": { + "line": 75, + "column": 23 + } + }, + "object": { + "type": "ThisExpression", + "start": 1776, + "end": 1780, + "loc": { + "start": { + "line": 75, + "column": 11 + }, + "end": { + "line": 75, + "column": 15 + } + } + }, + "property": { + "type": "Identifier", + "start": 1781, + "end": 1788, + "loc": { + "start": { + "line": 75, + "column": 16 + }, + "end": { + "line": 75, + "column": 23 + }, + "identifierName": "request" + }, + "name": "request" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1789, + "end": 1794, + "loc": { + "start": { + "line": 75, + "column": 24 + }, + "end": { + "line": 75, + "column": 29 + } + }, + "extra": { + "rawValue": "GET", + "raw": "'GET'" + }, + "value": "GET" + }, + { + "type": "Identifier", + "start": 1796, + "end": 1804, + "loc": { + "start": { + "line": 75, + "column": 31 + }, + "end": { + "line": 75, + "column": 39 + }, + "identifierName": "endpoint" + }, + "name": "endpoint" + }, + { + "type": "Identifier", + "start": 1806, + "end": 1810, + "loc": { + "start": { + "line": 75, + "column": 41 + }, + "end": { + "line": 75, + "column": 45 + }, + "identifierName": "opts" + }, + "name": "opts" + }, + { + "type": "Identifier", + "start": 1812, + "end": 1815, + "loc": { + "start": { + "line": 75, + "column": 47 + }, + "end": { + "line": 75, + "column": 50 + }, + "identifierName": "raw" + }, + "name": "raw" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a GET request. \n * @param \n * {!string} [endpoint=''] - The endpoint to make the GET request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP GET\n * request. \n * @param \n * {?boolean} [raw=false] - Return json object. \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 1317, + "end": 1651, + "loc": { + "start": { + "line": 61, + "column": 2 + }, + "end": { + "line": 69, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1824, + "end": 2101, + "loc": { + "start": { + "line": 78, + "column": 2 + }, + "end": { + "line": 85, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2104, + "end": 2234, + "loc": { + "start": { + "line": 86, + "column": 2 + }, + "end": { + "line": 91, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2104, + "end": 2108, + "loc": { + "start": { + "line": 86, + "column": 2 + }, + "end": { + "line": 86, + "column": 6 + }, + "identifierName": "post" + }, + "name": "post", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2114, + "end": 2130, + "loc": { + "start": { + "line": 87, + "column": 4 + }, + "end": { + "line": 87, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2122, + "end": 2130, + "loc": { + "start": { + "line": 87, + "column": 12 + }, + "end": { + "line": 87, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2124, + "end": 2130, + "loc": { + "start": { + "line": 87, + "column": 14 + }, + "end": { + "line": 87, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 2136, + "end": 2154, + "loc": { + "start": { + "line": 88, + "column": 4 + }, + "end": { + "line": 88, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 2136, + "end": 2149, + "loc": { + "start": { + "line": 88, + "column": 4 + }, + "end": { + "line": 88, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2141, + "end": 2149, + "loc": { + "start": { + "line": 88, + "column": 9 + }, + "end": { + "line": 88, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2143, + "end": 2149, + "loc": { + "start": { + "line": 88, + "column": 11 + }, + "end": { + "line": 88, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2143, + "end": 2149, + "loc": { + "start": { + "line": 88, + "column": 11 + }, + "end": { + "line": 88, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 2152, + "end": 2154, + "loc": { + "start": { + "line": 88, + "column": 20 + }, + "end": { + "line": 88, + "column": 22 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2158, + "end": 2180, + "loc": { + "start": { + "line": 89, + "column": 3 + }, + "end": { + "line": 89, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2160, + "end": 2180, + "loc": { + "start": { + "line": 89, + "column": 5 + }, + "end": { + "line": 89, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2167, + "end": 2180, + "loc": { + "start": { + "line": 89, + "column": 12 + }, + "end": { + "line": 89, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2168, + "end": 2179, + "loc": { + "start": { + "line": 89, + "column": 13 + }, + "end": { + "line": 89, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 2168, + "end": 2171, + "loc": { + "start": { + "line": 89, + "column": 13 + }, + "end": { + "line": 89, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2174, + "end": 2179, + "loc": { + "start": { + "line": 89, + "column": 19 + }, + "end": { + "line": 89, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2174, + "end": 2179, + "loc": { + "start": { + "line": 89, + "column": 19 + }, + "end": { + "line": 89, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2160, + "end": 2167, + "loc": { + "start": { + "line": 89, + "column": 5 + }, + "end": { + "line": 89, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2181, + "end": 2234, + "loc": { + "start": { + "line": 89, + "column": 26 + }, + "end": { + "line": 91, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 2187, + "end": 2230, + "loc": { + "start": { + "line": 90, + "column": 4 + }, + "end": { + "line": 90, + "column": 47 + } + }, + "argument": { + "type": "CallExpression", + "start": 2194, + "end": 2230, + "loc": { + "start": { + "line": 90, + "column": 11 + }, + "end": { + "line": 90, + "column": 47 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2194, + "end": 2206, + "loc": { + "start": { + "line": 90, + "column": 11 + }, + "end": { + "line": 90, + "column": 23 + } + }, + "object": { + "type": "ThisExpression", + "start": 2194, + "end": 2198, + "loc": { + "start": { + "line": 90, + "column": 11 + }, + "end": { + "line": 90, + "column": 15 + } + } + }, + "property": { + "type": "Identifier", + "start": 2199, + "end": 2206, + "loc": { + "start": { + "line": 90, + "column": 16 + }, + "end": { + "line": 90, + "column": 23 + }, + "identifierName": "request" + }, + "name": "request" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 2207, + "end": 2213, + "loc": { + "start": { + "line": 90, + "column": 24 + }, + "end": { + "line": 90, + "column": 30 + } + }, + "extra": { + "rawValue": "POST", + "raw": "'POST'" + }, + "value": "POST" + }, + { + "type": "Identifier", + "start": 2215, + "end": 2223, + "loc": { + "start": { + "line": 90, + "column": 32 + }, + "end": { + "line": 90, + "column": 40 + }, + "identifierName": "endpoint" + }, + "name": "endpoint" + }, + { + "type": "Identifier", + "start": 2225, + "end": 2229, + "loc": { + "start": { + "line": 90, + "column": 42 + }, + "end": { + "line": 90, + "column": 46 + }, + "identifierName": "opts" + }, + "name": "opts" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a POST request. \n * @param \n * {!string} [endpoint] - The endpoint to make the POST request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP POST\n * request. \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 1824, + "end": 2101, + "loc": { + "start": { + "line": 78, + "column": 2 + }, + "end": { + "line": 85, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2238, + "end": 2512, + "loc": { + "start": { + "line": 93, + "column": 2 + }, + "end": { + "line": 100, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2515, + "end": 2643, + "loc": { + "start": { + "line": 101, + "column": 2 + }, + "end": { + "line": 106, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2515, + "end": 2518, + "loc": { + "start": { + "line": 101, + "column": 2 + }, + "end": { + "line": 101, + "column": 5 + }, + "identifierName": "put" + }, + "name": "put", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2524, + "end": 2540, + "loc": { + "start": { + "line": 102, + "column": 4 + }, + "end": { + "line": 102, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2532, + "end": 2540, + "loc": { + "start": { + "line": 102, + "column": 12 + }, + "end": { + "line": 102, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2534, + "end": 2540, + "loc": { + "start": { + "line": 102, + "column": 14 + }, + "end": { + "line": 102, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 2546, + "end": 2564, + "loc": { + "start": { + "line": 103, + "column": 4 + }, + "end": { + "line": 103, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 2546, + "end": 2559, + "loc": { + "start": { + "line": 103, + "column": 4 + }, + "end": { + "line": 103, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2551, + "end": 2559, + "loc": { + "start": { + "line": 103, + "column": 9 + }, + "end": { + "line": 103, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2553, + "end": 2559, + "loc": { + "start": { + "line": 103, + "column": 11 + }, + "end": { + "line": 103, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2553, + "end": 2559, + "loc": { + "start": { + "line": 103, + "column": 11 + }, + "end": { + "line": 103, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 2562, + "end": 2564, + "loc": { + "start": { + "line": 103, + "column": 20 + }, + "end": { + "line": 103, + "column": 22 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2568, + "end": 2590, + "loc": { + "start": { + "line": 104, + "column": 3 + }, + "end": { + "line": 104, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2570, + "end": 2590, + "loc": { + "start": { + "line": 104, + "column": 5 + }, + "end": { + "line": 104, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2577, + "end": 2590, + "loc": { + "start": { + "line": 104, + "column": 12 + }, + "end": { + "line": 104, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2578, + "end": 2589, + "loc": { + "start": { + "line": 104, + "column": 13 + }, + "end": { + "line": 104, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 2578, + "end": 2581, + "loc": { + "start": { + "line": 104, + "column": 13 + }, + "end": { + "line": 104, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2584, + "end": 2589, + "loc": { + "start": { + "line": 104, + "column": 19 + }, + "end": { + "line": 104, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2584, + "end": 2589, + "loc": { + "start": { + "line": 104, + "column": 19 + }, + "end": { + "line": 104, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2570, + "end": 2577, + "loc": { + "start": { + "line": 104, + "column": 5 + }, + "end": { + "line": 104, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2591, + "end": 2643, + "loc": { + "start": { + "line": 104, + "column": 26 + }, + "end": { + "line": 106, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 2597, + "end": 2639, + "loc": { + "start": { + "line": 105, + "column": 4 + }, + "end": { + "line": 105, + "column": 46 + } + }, + "argument": { + "type": "CallExpression", + "start": 2604, + "end": 2639, + "loc": { + "start": { + "line": 105, + "column": 11 + }, + "end": { + "line": 105, + "column": 46 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2604, + "end": 2616, + "loc": { + "start": { + "line": 105, + "column": 11 + }, + "end": { + "line": 105, + "column": 23 + } + }, + "object": { + "type": "ThisExpression", + "start": 2604, + "end": 2608, + "loc": { + "start": { + "line": 105, + "column": 11 + }, + "end": { + "line": 105, + "column": 15 + } + } + }, + "property": { + "type": "Identifier", + "start": 2609, + "end": 2616, + "loc": { + "start": { + "line": 105, + "column": 16 + }, + "end": { + "line": 105, + "column": 23 + }, + "identifierName": "request" + }, + "name": "request" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 2617, + "end": 2622, + "loc": { + "start": { + "line": 105, + "column": 24 + }, + "end": { + "line": 105, + "column": 29 + } + }, + "extra": { + "rawValue": "PUT", + "raw": "'PUT'" + }, + "value": "PUT" + }, + { + "type": "Identifier", + "start": 2624, + "end": 2632, + "loc": { + "start": { + "line": 105, + "column": 31 + }, + "end": { + "line": 105, + "column": 39 + }, + "identifierName": "endpoint" + }, + "name": "endpoint" + }, + { + "type": "Identifier", + "start": 2634, + "end": 2638, + "loc": { + "start": { + "line": 105, + "column": 41 + }, + "end": { + "line": 105, + "column": 45 + }, + "identifierName": "opts" + }, + "name": "opts" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a PUT request. \n * @param \n * {!string} [endpoint] - The endpoint to make the PUT request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP PUT\n * request. \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 2238, + "end": 2512, + "loc": { + "start": { + "line": 93, + "column": 2 + }, + "end": { + "line": 100, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2647, + "end": 2930, + "loc": { + "start": { + "line": 108, + "column": 2 + }, + "end": { + "line": 115, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2933, + "end": 3067, + "loc": { + "start": { + "line": 116, + "column": 2 + }, + "end": { + "line": 121, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2933, + "end": 2939, + "loc": { + "start": { + "line": 116, + "column": 2 + }, + "end": { + "line": 116, + "column": 8 + }, + "identifierName": "delete" + }, + "name": "delete", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2945, + "end": 2961, + "loc": { + "start": { + "line": 117, + "column": 4 + }, + "end": { + "line": 117, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2953, + "end": 2961, + "loc": { + "start": { + "line": 117, + "column": 12 + }, + "end": { + "line": 117, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2955, + "end": 2961, + "loc": { + "start": { + "line": 117, + "column": 14 + }, + "end": { + "line": 117, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 2967, + "end": 2985, + "loc": { + "start": { + "line": 118, + "column": 4 + }, + "end": { + "line": 118, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 2967, + "end": 2980, + "loc": { + "start": { + "line": 118, + "column": 4 + }, + "end": { + "line": 118, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2972, + "end": 2980, + "loc": { + "start": { + "line": 118, + "column": 9 + }, + "end": { + "line": 118, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2974, + "end": 2980, + "loc": { + "start": { + "line": 118, + "column": 11 + }, + "end": { + "line": 118, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2974, + "end": 2980, + "loc": { + "start": { + "line": 118, + "column": 11 + }, + "end": { + "line": 118, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 2983, + "end": 2985, + "loc": { + "start": { + "line": 118, + "column": 20 + }, + "end": { + "line": 118, + "column": 22 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2989, + "end": 3011, + "loc": { + "start": { + "line": 119, + "column": 3 + }, + "end": { + "line": 119, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2991, + "end": 3011, + "loc": { + "start": { + "line": 119, + "column": 5 + }, + "end": { + "line": 119, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2998, + "end": 3011, + "loc": { + "start": { + "line": 119, + "column": 12 + }, + "end": { + "line": 119, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2999, + "end": 3010, + "loc": { + "start": { + "line": 119, + "column": 13 + }, + "end": { + "line": 119, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 2999, + "end": 3002, + "loc": { + "start": { + "line": 119, + "column": 13 + }, + "end": { + "line": 119, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 3005, + "end": 3010, + "loc": { + "start": { + "line": 119, + "column": 19 + }, + "end": { + "line": 119, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 3005, + "end": 3010, + "loc": { + "start": { + "line": 119, + "column": 19 + }, + "end": { + "line": 119, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2991, + "end": 2998, + "loc": { + "start": { + "line": 119, + "column": 5 + }, + "end": { + "line": 119, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 3012, + "end": 3067, + "loc": { + "start": { + "line": 119, + "column": 26 + }, + "end": { + "line": 121, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 3018, + "end": 3063, + "loc": { + "start": { + "line": 120, + "column": 4 + }, + "end": { + "line": 120, + "column": 49 + } + }, + "argument": { + "type": "CallExpression", + "start": 3025, + "end": 3063, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 49 + } + }, + "callee": { + "type": "MemberExpression", + "start": 3025, + "end": 3037, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 23 + } + }, + "object": { + "type": "ThisExpression", + "start": 3025, + "end": 3029, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 15 + } + } + }, + "property": { + "type": "Identifier", + "start": 3030, + "end": 3037, + "loc": { + "start": { + "line": 120, + "column": 16 + }, + "end": { + "line": 120, + "column": 23 + }, + "identifierName": "request" + }, + "name": "request" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 3038, + "end": 3046, + "loc": { + "start": { + "line": 120, + "column": 24 + }, + "end": { + "line": 120, + "column": 32 + } + }, + "extra": { + "rawValue": "DELETE", + "raw": "'DELETE'" + }, + "value": "DELETE" + }, + { + "type": "Identifier", + "start": 3048, + "end": 3056, + "loc": { + "start": { + "line": 120, + "column": 34 + }, + "end": { + "line": 120, + "column": 42 + }, + "identifierName": "endpoint" + }, + "name": "endpoint" + }, + { + "type": "Identifier", + "start": 3058, + "end": 3062, + "loc": { + "start": { + "line": 120, + "column": 44 + }, + "end": { + "line": 120, + "column": 48 + }, + "identifierName": "opts" + }, + "name": "opts" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a DELETE request. \n * @param \n * {!string} [endpoint] - The endpoint to make the DELETE request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP DELETE\n * request. \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 2647, + "end": 2930, + "loc": { + "start": { + "line": 108, + "column": 2 + }, + "end": { + "line": 115, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Handle the body response string.\n * @param {!string} body - The body to parse.\n * @param {?boolean} raw - Return the raw body.\n * @returns {Function|string} - The raw body or the body parsed by\n * cheerio.\n ", + "start": 3071, + "end": 3300, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 129, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 3303, + "end": 3437, + "loc": { + "start": { + "line": 130, + "column": 2 + }, + "end": { + "line": 136, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 3303, + "end": 3313, + "loc": { + "start": { + "line": 130, + "column": 2 + }, + "end": { + "line": 130, + "column": 12 + }, + "identifierName": "handleBody" + }, + "name": "handleBody", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 3314, + "end": 3326, + "loc": { + "start": { + "line": 130, + "column": 13 + }, + "end": { + "line": 130, + "column": 25 + }, + "identifierName": "body" + }, + "name": "body", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3318, + "end": 3326, + "loc": { + "start": { + "line": 130, + "column": 17 + }, + "end": { + "line": 130, + "column": 25 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 3320, + "end": 3326, + "loc": { + "start": { + "line": 130, + "column": 19 + }, + "end": { + "line": 130, + "column": 25 + } + } + } + } + }, + { + "type": "Identifier", + "start": 3328, + "end": 3341, + "loc": { + "start": { + "line": 130, + "column": 27 + }, + "end": { + "line": 130, + "column": 40 + }, + "identifierName": "raw" + }, + "name": "raw", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3332, + "end": 3341, + "loc": { + "start": { + "line": 130, + "column": 31 + }, + "end": { + "line": 130, + "column": 40 + } + }, + "typeAnnotation": { + "type": "BooleanTypeAnnotation", + "start": 3334, + "end": 3341, + "loc": { + "start": { + "line": 130, + "column": 33 + }, + "end": { + "line": 130, + "column": 40 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 3342, + "end": 3361, + "loc": { + "start": { + "line": 130, + "column": 41 + }, + "end": { + "line": 130, + "column": 60 + } + }, + "typeAnnotation": { + "type": "UnionTypeAnnotation", + "start": 3344, + "end": 3361, + "loc": { + "start": { + "line": 130, + "column": 43 + }, + "end": { + "line": 130, + "column": 60 + } + }, + "types": [ + { + "type": "GenericTypeAnnotation", + "start": 3344, + "end": 3352, + "loc": { + "start": { + "line": 130, + "column": 43 + }, + "end": { + "line": 130, + "column": 51 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 3344, + "end": 3352, + "loc": { + "start": { + "line": 130, + "column": 43 + }, + "end": { + "line": 130, + "column": 51 + }, + "identifierName": "Function" + }, + "name": "Function" + } + }, + { + "type": "StringTypeAnnotation", + "start": 3355, + "end": 3361, + "loc": { + "start": { + "line": 130, + "column": 54 + }, + "end": { + "line": 130, + "column": 60 + } + } + } + ] + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 3362, + "end": 3437, + "loc": { + "start": { + "line": 130, + "column": 61 + }, + "end": { + "line": 136, + "column": 3 + } + }, + "body": [ + { + "type": "IfStatement", + "start": 3368, + "end": 3402, + "loc": { + "start": { + "line": 131, + "column": 4 + }, + "end": { + "line": 133, + "column": 5 + } + }, + "test": { + "type": "Identifier", + "start": 3372, + "end": 3375, + "loc": { + "start": { + "line": 131, + "column": 8 + }, + "end": { + "line": 131, + "column": 11 + }, + "identifierName": "raw" + }, + "name": "raw" + }, + "consequent": { + "type": "BlockStatement", + "start": 3377, + "end": 3402, + "loc": { + "start": { + "line": 131, + "column": 13 + }, + "end": { + "line": 133, + "column": 5 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 3385, + "end": 3396, + "loc": { + "start": { + "line": 132, + "column": 6 + }, + "end": { + "line": 132, + "column": 17 + } + }, + "argument": { + "type": "Identifier", + "start": 3392, + "end": 3396, + "loc": { + "start": { + "line": 132, + "column": 13 + }, + "end": { + "line": 132, + "column": 17 + }, + "identifierName": "body" + }, + "name": "body" + } + } + ], + "directives": [] + }, + "alternate": null + }, + { + "type": "ReturnStatement", + "start": 3408, + "end": 3433, + "loc": { + "start": { + "line": 135, + "column": 4 + }, + "end": { + "line": 135, + "column": 29 + } + }, + "argument": { + "type": "CallExpression", + "start": 3415, + "end": 3433, + "loc": { + "start": { + "line": 135, + "column": 11 + }, + "end": { + "line": 135, + "column": 29 + } + }, + "callee": { + "type": "MemberExpression", + "start": 3415, + "end": 3427, + "loc": { + "start": { + "line": 135, + "column": 11 + }, + "end": { + "line": 135, + "column": 23 + } + }, + "object": { + "type": "Identifier", + "start": 3415, + "end": 3422, + "loc": { + "start": { + "line": 135, + "column": 11 + }, + "end": { + "line": 135, + "column": 18 + }, + "identifierName": "cheerio" + }, + "name": "cheerio" + }, + "property": { + "type": "Identifier", + "start": 3423, + "end": 3427, + "loc": { + "start": { + "line": 135, + "column": 19 + }, + "end": { + "line": 135, + "column": 23 + }, + "identifierName": "load" + }, + "name": "load" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 3428, + "end": 3432, + "loc": { + "start": { + "line": 135, + "column": 24 + }, + "end": { + "line": 135, + "column": 28 + }, + "identifierName": "body" + }, + "name": "body" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Handle the body response string. \n * @param \n * {!string} body - The body to parse. \n * @param \n * {?boolean} raw - Return the raw body. \n * @returns \n * {Function|string} - The raw body or the body parsed by\n * cheerio. \n", + "start": 3071, + "end": 3300, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 129, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @returns {undefined}\n ", + "start": 3441, + "end": 3700, + "loc": { + "start": { + "line": 138, + "column": 2 + }, + "end": { + "line": 144, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 3703, + "end": 4015, + "loc": { + "start": { + "line": 145, + "column": 2 + }, + "end": { + "line": 158, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 3703, + "end": 3713, + "loc": { + "start": { + "line": 145, + "column": 2 + }, + "end": { + "line": 145, + "column": 12 + }, + "identifierName": "printDebug" + }, + "name": "printDebug", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 3714, + "end": 3728, + "loc": { + "start": { + "line": 145, + "column": 13 + }, + "end": { + "line": 145, + "column": 27 + }, + "identifierName": "method" + }, + "name": "method", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3720, + "end": 3728, + "loc": { + "start": { + "line": 145, + "column": 19 + }, + "end": { + "line": 145, + "column": 27 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 3722, + "end": 3728, + "loc": { + "start": { + "line": 145, + "column": 21 + }, + "end": { + "line": 145, + "column": 27 + } + } + } + } + }, + { + "type": "Identifier", + "start": 3730, + "end": 3741, + "loc": { + "start": { + "line": 145, + "column": 29 + }, + "end": { + "line": 145, + "column": 40 + }, + "identifierName": "uri" + }, + "name": "uri", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3733, + "end": 3741, + "loc": { + "start": { + "line": 145, + "column": 32 + }, + "end": { + "line": 145, + "column": 40 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 3735, + "end": 3741, + "loc": { + "start": { + "line": 145, + "column": 34 + }, + "end": { + "line": 145, + "column": 40 + } + } + } + } + }, + { + "type": "Identifier", + "start": 3743, + "end": 3756, + "loc": { + "start": { + "line": 145, + "column": 42 + }, + "end": { + "line": 145, + "column": 55 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3748, + "end": 3756, + "loc": { + "start": { + "line": 145, + "column": 47 + }, + "end": { + "line": 145, + "column": 55 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 3750, + "end": 3756, + "loc": { + "start": { + "line": 145, + "column": 49 + }, + "end": { + "line": 145, + "column": 55 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 3750, + "end": 3756, + "loc": { + "start": { + "line": 145, + "column": 49 + }, + "end": { + "line": 145, + "column": 55 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 3757, + "end": 3763, + "loc": { + "start": { + "line": 145, + "column": 56 + }, + "end": { + "line": 145, + "column": 62 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 3759, + "end": 3763, + "loc": { + "start": { + "line": 145, + "column": 58 + }, + "end": { + "line": 145, + "column": 62 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 3764, + "end": 4015, + "loc": { + "start": { + "line": 145, + "column": 63 + }, + "end": { + "line": 158, + "column": 3 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 3770, + "end": 3817, + "loc": { + "start": { + "line": 146, + "column": 4 + }, + "end": { + "line": 146, + "column": 51 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 3774, + "end": 3817, + "loc": { + "start": { + "line": 146, + "column": 8 + }, + "end": { + "line": 146, + "column": 51 + } + }, + "id": { + "type": "Identifier", + "start": 3774, + "end": 3777, + "loc": { + "start": { + "line": 146, + "column": 8 + }, + "end": { + "line": 146, + "column": 11 + }, + "identifierName": "msg" + }, + "name": "msg" + }, + "init": { + "type": "TemplateLiteral", + "start": 3780, + "end": 3817, + "loc": { + "start": { + "line": 146, + "column": 14 + }, + "end": { + "line": 146, + "column": 51 + } + }, + "expressions": [ + { + "type": "Identifier", + "start": 3790, + "end": 3796, + "loc": { + "start": { + "line": 146, + "column": 24 + }, + "end": { + "line": 146, + "column": 30 + }, + "identifierName": "method" + }, + "name": "method" + }, + { + "type": "Identifier", + "start": 3812, + "end": 3815, + "loc": { + "start": { + "line": 146, + "column": 46 + }, + "end": { + "line": 146, + "column": 49 + }, + "identifierName": "uri" + }, + "name": "uri" + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 3781, + "end": 3788, + "loc": { + "start": { + "line": 146, + "column": 15 + }, + "end": { + "line": 146, + "column": 22 + } + }, + "value": { + "raw": "Making ", + "cooked": "Making " + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 3797, + "end": 3810, + "loc": { + "start": { + "line": 146, + "column": 31 + }, + "end": { + "line": 146, + "column": 44 + } + }, + "value": { + "raw": " request to: ", + "cooked": " request to: " + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 3816, + "end": 3816, + "loc": { + "start": { + "line": 146, + "column": 50 + }, + "end": { + "line": 146, + "column": 50 + } + }, + "value": { + "raw": "", + "cooked": "" + }, + "tail": true + } + ] + } + } + ], + "kind": "let" + }, + { + "type": "IfStatement", + "start": 3822, + "end": 3989, + "loc": { + "start": { + "line": 147, + "column": 4 + }, + "end": { + "line": 155, + "column": 5 + } + }, + "test": { + "type": "Identifier", + "start": 3826, + "end": 3830, + "loc": { + "start": { + "line": 147, + "column": 8 + }, + "end": { + "line": 147, + "column": 12 + }, + "identifierName": "opts" + }, + "name": "opts" + }, + "consequent": { + "type": "BlockStatement", + "start": 3832, + "end": 3989, + "loc": { + "start": { + "line": 147, + "column": 14 + }, + "end": { + "line": 155, + "column": 5 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 3840, + "end": 3874, + "loc": { + "start": { + "line": 148, + "column": 6 + }, + "end": { + "line": 148, + "column": 40 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 3846, + "end": 3874, + "loc": { + "start": { + "line": 148, + "column": 12 + }, + "end": { + "line": 148, + "column": 40 + } + }, + "id": { + "type": "ObjectPattern", + "start": 3846, + "end": 3867, + "loc": { + "start": { + "line": 148, + "column": 12 + }, + "end": { + "line": 148, + "column": 33 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 3848, + "end": 3852, + "loc": { + "start": { + "line": 148, + "column": 14 + }, + "end": { + "line": 148, + "column": 18 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 3848, + "end": 3852, + "loc": { + "start": { + "line": 148, + "column": 14 + }, + "end": { + "line": 148, + "column": 18 + }, + "identifierName": "body" + }, + "name": "body" + }, + "value": { + "type": "Identifier", + "start": 3848, + "end": 3852, + "loc": { + "start": { + "line": 148, + "column": 14 + }, + "end": { + "line": 148, + "column": 18 + }, + "identifierName": "body" + }, + "name": "body" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 3854, + "end": 3859, + "loc": { + "start": { + "line": 148, + "column": 20 + }, + "end": { + "line": 148, + "column": 25 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 3854, + "end": 3859, + "loc": { + "start": { + "line": 148, + "column": 20 + }, + "end": { + "line": 148, + "column": 25 + }, + "identifierName": "query" + }, + "name": "query" + }, + "value": { + "type": "Identifier", + "start": 3854, + "end": 3859, + "loc": { + "start": { + "line": 148, + "column": 20 + }, + "end": { + "line": 148, + "column": 25 + }, + "identifierName": "query" + }, + "name": "query" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 3861, + "end": 3865, + "loc": { + "start": { + "line": 148, + "column": 27 + }, + "end": { + "line": 148, + "column": 31 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 3861, + "end": 3865, + "loc": { + "start": { + "line": 148, + "column": 27 + }, + "end": { + "line": 148, + "column": 31 + }, + "identifierName": "form" + }, + "name": "form" + }, + "value": { + "type": "Identifier", + "start": 3861, + "end": 3865, + "loc": { + "start": { + "line": 148, + "column": 27 + }, + "end": { + "line": 148, + "column": 31 + }, + "identifierName": "form" + }, + "name": "form" + }, + "extra": { + "shorthand": true + } + } + ] + }, + "init": { + "type": "Identifier", + "start": 3870, + "end": 3874, + "loc": { + "start": { + "line": 148, + "column": 36 + }, + "end": { + "line": 148, + "column": 40 + }, + "identifierName": "opts" + }, + "name": "opts" + } + } + ], + "kind": "const" + }, + { + "type": "VariableDeclaration", + "start": 3881, + "end": 3951, + "loc": { + "start": { + "line": 149, + "column": 6 + }, + "end": { + "line": 153, + "column": 7 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 3887, + "end": 3951, + "loc": { + "start": { + "line": 149, + "column": 12 + }, + "end": { + "line": 153, + "column": 7 + } + }, + "id": { + "type": "Identifier", + "start": 3887, + "end": 3888, + "loc": { + "start": { + "line": 149, + "column": 12 + }, + "end": { + "line": 149, + "column": 13 + }, + "identifierName": "s" + }, + "name": "s" + }, + "init": { + "type": "ObjectExpression", + "start": 3891, + "end": 3951, + "loc": { + "start": { + "line": 149, + "column": 16 + }, + "end": { + "line": 153, + "column": 7 + } + }, + "properties": [ + { + "type": "SpreadProperty", + "start": 3901, + "end": 3908, + "loc": { + "start": { + "line": 150, + "column": 8 + }, + "end": { + "line": 150, + "column": 15 + } + }, + "argument": { + "type": "Identifier", + "start": 3904, + "end": 3908, + "loc": { + "start": { + "line": 150, + "column": 11 + }, + "end": { + "line": 150, + "column": 15 + }, + "identifierName": "body" + }, + "name": "body" + } + }, + { + "type": "SpreadProperty", + "start": 3918, + "end": 3926, + "loc": { + "start": { + "line": 151, + "column": 8 + }, + "end": { + "line": 151, + "column": 16 + } + }, + "argument": { + "type": "Identifier", + "start": 3921, + "end": 3926, + "loc": { + "start": { + "line": 151, + "column": 11 + }, + "end": { + "line": 151, + "column": 16 + }, + "identifierName": "query" + }, + "name": "query" + } + }, + { + "type": "SpreadProperty", + "start": 3936, + "end": 3943, + "loc": { + "start": { + "line": 152, + "column": 8 + }, + "end": { + "line": 152, + "column": 15 + } + }, + "argument": { + "type": "Identifier", + "start": 3939, + "end": 3943, + "loc": { + "start": { + "line": 152, + "column": 11 + }, + "end": { + "line": 152, + "column": 15 + }, + "identifierName": "form" + }, + "name": "form" + } + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 3958, + "end": 3983, + "loc": { + "start": { + "line": 154, + "column": 6 + }, + "end": { + "line": 154, + "column": 31 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 3958, + "end": 3983, + "loc": { + "start": { + "line": 154, + "column": 6 + }, + "end": { + "line": 154, + "column": 31 + } + }, + "operator": "+=", + "left": { + "type": "Identifier", + "start": 3958, + "end": 3961, + "loc": { + "start": { + "line": 154, + "column": 6 + }, + "end": { + "line": 154, + "column": 9 + }, + "identifierName": "msg" + }, + "name": "msg" + }, + "right": { + "type": "TemplateLiteral", + "start": 3965, + "end": 3983, + "loc": { + "start": { + "line": 154, + "column": 13 + }, + "end": { + "line": 154, + "column": 31 + } + }, + "expressions": [ + { + "type": "CallExpression", + "start": 3969, + "end": 3981, + "loc": { + "start": { + "line": 154, + "column": 17 + }, + "end": { + "line": 154, + "column": 29 + } + }, + "callee": { + "type": "Identifier", + "start": 3969, + "end": 3978, + "loc": { + "start": { + "line": 154, + "column": 17 + }, + "end": { + "line": 154, + "column": 26 + }, + "identifierName": "stringify" + }, + "name": "stringify" + }, + "arguments": [ + { + "type": "Identifier", + "start": 3979, + "end": 3980, + "loc": { + "start": { + "line": 154, + "column": 27 + }, + "end": { + "line": 154, + "column": 28 + }, + "identifierName": "s" + }, + "name": "s" + } + ] + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 3966, + "end": 3967, + "loc": { + "start": { + "line": 154, + "column": 14 + }, + "end": { + "line": 154, + "column": 15 + } + }, + "value": { + "raw": "?", + "cooked": "?" + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 3982, + "end": 3982, + "loc": { + "start": { + "line": 154, + "column": 30 + }, + "end": { + "line": 154, + "column": 30 + } + }, + "value": { + "raw": "", + "cooked": "" + }, + "tail": true + } + ] + } + } + } + ], + "directives": [] + }, + "alternate": null + }, + { + "type": "ExpressionStatement", + "start": 3995, + "end": 4011, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 157, + "column": 20 + } + }, + "expression": { + "type": "CallExpression", + "start": 3995, + "end": 4011, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 157, + "column": 20 + } + }, + "callee": { + "type": "MemberExpression", + "start": 3995, + "end": 4006, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 157, + "column": 15 + } + }, + "object": { + "type": "ThisExpression", + "start": 3995, + "end": 3999, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 157, + "column": 8 + } + } + }, + "property": { + "type": "Identifier", + "start": 4000, + "end": 4006, + "loc": { + "start": { + "line": 157, + "column": 9 + }, + "end": { + "line": 157, + "column": 15 + }, + "identifierName": "_debug" + }, + "name": "_debug" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 4007, + "end": 4010, + "loc": { + "start": { + "line": 157, + "column": 16 + }, + "end": { + "line": 157, + "column": 19 + }, + "identifierName": "msg" + }, + "name": "msg" + } + ] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Print the debug message. \n * @param \n * {!string} method - The method of the HTTP request. \n * @param \n * {!string} uri - The uri of the HTTP request. \n * @param \n * {?Object} opts=this._opts - The options for the HTTP request. \n * @returns \n * {undefined} \n", + "start": 3441, + "end": 3700, + "loc": { + "start": { + "line": 138, + "column": 2 + }, + "end": { + "line": 144, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls.\n * @abstract\n * @implements {IHttpService}\n * @type {AbstractHttpService}\n ", + "start": 224, + "end": 337, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 15, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls.\n * @abstract\n * @implements {IHttpService}\n * @type {AbstractHttpService}\n ", + "start": 224, + "end": 337, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 15, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls.\n * @abstract\n * @implements {IHttpService}\n * @type {AbstractHttpService}\n ", + "start": 224, + "end": 337, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 15, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The base url of the website to scrape.\n * @type {string}\n ", + "start": 405, + "end": 478, + "loc": { + "start": { + "line": 18, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 500, + "end": 577, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 599, + "end": 672, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new Request object.\n * @param {!string} baseUrl - The base url of the website to scrape.\n * @param {?Object} options={} - The default options for the HTTP requests.\n ", + "start": 695, + "end": 887, + "loc": { + "start": { + "line": 36, + "column": 2 + }, + "end": { + "line": 40, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The the base url of hte website to scrape.\n * @type {string}\n ", + "start": 960, + "end": 1043, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 47, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 1075, + "end": 1158, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 1190, + "end": 1269, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a GET request.\n * @param {!string} [endpoint=''] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1317, + "end": 1651, + "loc": { + "start": { + "line": 61, + "column": 2 + }, + "end": { + "line": 69, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1824, + "end": 2101, + "loc": { + "start": { + "line": 78, + "column": 2 + }, + "end": { + "line": 85, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2238, + "end": 2512, + "loc": { + "start": { + "line": 93, + "column": 2 + }, + "end": { + "line": 100, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2647, + "end": 2930, + "loc": { + "start": { + "line": 108, + "column": 2 + }, + "end": { + "line": 115, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Handle the body response string.\n * @param {!string} body - The body to parse.\n * @param {?boolean} raw - Return the raw body.\n * @returns {Function|string} - The raw body or the body parsed by\n * cheerio.\n ", + "start": 3071, + "end": 3300, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 129, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @returns {undefined}\n ", + "start": 3441, + "end": 3700, + "loc": { + "start": { + "line": 138, + "column": 2 + }, + "end": { + "line": 144, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 42, + "end": 48, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cheerio", + "start": 49, + "end": 56, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 57, + "end": 61, + "loc": { + "start": { + "line": 3, + "column": 15 + }, + "end": { + "line": 3, + "column": 19 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "cheerio", + "start": 62, + "end": 71, + "loc": { + "start": { + "line": 3, + "column": 20 + }, + "end": { + "line": 3, + "column": 29 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 72, + "end": 78, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "debug", + "start": 79, + "end": 84, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 85, + "end": 89, + "loc": { + "start": { + "line": 4, + "column": 13 + }, + "end": { + "line": 4, + "column": 17 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "debug", + "start": 90, + "end": 97, + "loc": { + "start": { + "line": 4, + "column": 18 + }, + "end": { + "line": 4, + "column": 25 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 98, + "end": 104, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 105, + "end": 106, + "loc": { + "start": { + "line": 5, + "column": 7 + }, + "end": { + "line": 5, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stringify", + "start": 107, + "end": 116, + "loc": { + "start": { + "line": 5, + "column": 9 + }, + "end": { + "line": 5, + "column": 18 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 117, + "end": 118, + "loc": { + "start": { + "line": 5, + "column": 19 + }, + "end": { + "line": 5, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 119, + "end": 123, + "loc": { + "start": { + "line": 5, + "column": 21 + }, + "end": { + "line": 5, + "column": 25 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "querystring", + "start": 124, + "end": 137, + "loc": { + "start": { + "line": 5, + "column": 26 + }, + "end": { + "line": 5, + "column": 39 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 139, + "end": 145, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 7, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IHttpService", + "start": 146, + "end": 158, + "loc": { + "start": { + "line": 7, + "column": 7 + }, + "end": { + "line": 7, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 159, + "end": 163, + "loc": { + "start": { + "line": 7, + "column": 20 + }, + "end": { + "line": 7, + "column": 24 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./IHttpService", + "start": 164, + "end": 180, + "loc": { + "start": { + "line": 7, + "column": 25 + }, + "end": { + "line": 7, + "column": 41 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 181, + "end": 187, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 188, + "end": 189, + "loc": { + "start": { + "line": 8, + "column": 7 + }, + "end": { + "line": 8, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 190, + "end": 194, + "loc": { + "start": { + "line": 8, + "column": 9 + }, + "end": { + "line": 8, + "column": 13 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 195, + "end": 196, + "loc": { + "start": { + "line": 8, + "column": 14 + }, + "end": { + "line": 8, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 197, + "end": 201, + "loc": { + "start": { + "line": 8, + "column": 16 + }, + "end": { + "line": 8, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "../../package.json", + "start": 202, + "end": 222, + "loc": { + "start": { + "line": 8, + "column": 21 + }, + "end": { + "line": 8, + "column": 41 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls.\n * @abstract\n * @implements {IHttpService}\n * @type {AbstractHttpService}\n ", + "start": 224, + "end": 337, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 15, + "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": 338, + "end": 344, + "loc": { + "start": { + "line": 16, + "column": 0 + }, + "end": { + "line": 16, + "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": 345, + "end": 352, + "loc": { + "start": { + "line": 16, + "column": 7 + }, + "end": { + "line": 16, + "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": 353, + "end": 358, + "loc": { + "start": { + "line": 16, + "column": 15 + }, + "end": { + "line": 16, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "AbstractHttpService", + "start": 359, + "end": 378, + "loc": { + "start": { + "line": 16, + "column": 21 + }, + "end": { + "line": 16, + "column": 40 + } + } + }, + { + "type": { + "label": "extends", + "keyword": "extends", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "extends", + "start": 379, + "end": 386, + "loc": { + "start": { + "line": 16, + "column": 41 + }, + "end": { + "line": 16, + "column": 48 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IHttpService", + "start": 387, + "end": 399, + "loc": { + "start": { + "line": 16, + "column": 49 + }, + "end": { + "line": 16, + "column": 61 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 400, + "end": 401, + "loc": { + "start": { + "line": 16, + "column": 62 + }, + "end": { + "line": 16, + "column": 63 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The base url of the website to scrape.\n * @type {string}\n ", + "start": 405, + "end": 478, + "loc": { + "start": { + "line": 18, + "column": 2 + }, + "end": { + "line": 21, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "baseUrl", + "start": 481, + "end": 488, + "loc": { + "start": { + "line": 22, + "column": 2 + }, + "end": { + "line": 22, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 488, + "end": 489, + "loc": { + "start": { + "line": 22, + "column": 9 + }, + "end": { + "line": 22, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 490, + "end": 496, + "loc": { + "start": { + "line": 22, + "column": 11 + }, + "end": { + "line": 22, + "column": 17 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 500, + "end": 577, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 580, + "end": 587, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 587, + "end": 588, + "loc": { + "start": { + "line": 28, + "column": 9 + }, + "end": { + "line": 28, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 589, + "end": 595, + "loc": { + "start": { + "line": 28, + "column": 11 + }, + "end": { + "line": 28, + "column": 17 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 599, + "end": 672, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 33, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_debug", + "start": 675, + "end": 681, + "loc": { + "start": { + "line": 34, + "column": 2 + }, + "end": { + "line": 34, + "column": 8 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 681, + "end": 682, + "loc": { + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Function", + "start": 683, + "end": 691, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 18 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a new Request object.\n * @param {!string} baseUrl - The base url of the website to scrape.\n * @param {?Object} options={} - The default options for the HTTP requests.\n ", + "start": 695, + "end": 887, + "loc": { + "start": { + "line": 36, + "column": 2 + }, + "end": { + "line": 40, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 890, + "end": 901, + "loc": { + "start": { + "line": 41, + "column": 2 + }, + "end": { + "line": 41, + "column": 13 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 901, + "end": 902, + "loc": { + "start": { + "line": 41, + "column": 13 + }, + "end": { + "line": 41, + "column": 14 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 902, + "end": 903, + "loc": { + "start": { + "line": 41, + "column": 14 + }, + "end": { + "line": 41, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "baseUrl", + "start": 903, + "end": 910, + "loc": { + "start": { + "line": 41, + "column": 15 + }, + "end": { + "line": 41, + "column": 22 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 910, + "end": 911, + "loc": { + "start": { + "line": 41, + "column": 22 + }, + "end": { + "line": 41, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 912, + "end": 919, + "loc": { + "start": { + "line": 41, + "column": 24 + }, + "end": { + "line": 41, + "column": 31 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 920, + "end": 921, + "loc": { + "start": { + "line": 41, + "column": 32 + }, + "end": { + "line": 41, + "column": 33 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 922, + "end": 923, + "loc": { + "start": { + "line": 41, + "column": 34 + }, + "end": { + "line": 41, + "column": 35 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 923, + "end": 924, + "loc": { + "start": { + "line": 41, + "column": 35 + }, + "end": { + "line": 41, + "column": 36 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 924, + "end": 925, + "loc": { + "start": { + "line": 41, + "column": 36 + }, + "end": { + "line": 41, + "column": 37 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 925, + "end": 926, + "loc": { + "start": { + "line": 41, + "column": 37 + }, + "end": { + "line": 41, + "column": 38 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 927, + "end": 933, + "loc": { + "start": { + "line": 41, + "column": 39 + }, + "end": { + "line": 41, + "column": 45 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 933, + "end": 934, + "loc": { + "start": { + "line": 41, + "column": 45 + }, + "end": { + "line": 41, + "column": 46 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 934, + "end": 935, + "loc": { + "start": { + "line": 41, + "column": 46 + }, + "end": { + "line": 41, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "void", + "start": 936, + "end": 940, + "loc": { + "start": { + "line": 41, + "column": 48 + }, + "end": { + "line": 41, + "column": 52 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 941, + "end": 942, + "loc": { + "start": { + "line": 41, + "column": 53 + }, + "end": { + "line": 41, + "column": 54 + } + } + }, + { + "type": { + "label": "super", + "keyword": "super", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "super", + "start": 947, + "end": 952, + "loc": { + "start": { + "line": 42, + "column": 4 + }, + "end": { + "line": 42, + "column": 9 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 952, + "end": 953, + "loc": { + "start": { + "line": 42, + "column": 9 + }, + "end": { + "line": 42, + "column": 10 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 953, + "end": 954, + "loc": { + "start": { + "line": 42, + "column": 10 + }, + "end": { + "line": 42, + "column": 11 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The the base url of hte website to scrape.\n * @type {string}\n ", + "start": 960, + "end": 1043, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 47, + "column": 7 + } + } + }, + { + "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": 1048, + "end": 1052, + "loc": { + "start": { + "line": 48, + "column": 4 + }, + "end": { + "line": 48, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1052, + "end": 1053, + "loc": { + "start": { + "line": 48, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "baseUrl", + "start": 1053, + "end": 1060, + "loc": { + "start": { + "line": 48, + "column": 9 + }, + "end": { + "line": 48, + "column": 16 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1061, + "end": 1062, + "loc": { + "start": { + "line": 48, + "column": 17 + }, + "end": { + "line": 48, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "baseUrl", + "start": 1063, + "end": 1070, + "loc": { + "start": { + "line": 48, + "column": 19 + }, + "end": { + "line": 48, + "column": 26 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The default options for the HTTP requests.\n * @type {Object}\n ", + "start": 1075, + "end": 1158, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + }, + { + "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": 1163, + "end": 1167, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1167, + "end": 1168, + "loc": { + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 53, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 1168, + "end": 1175, + "loc": { + "start": { + "line": 53, + "column": 9 + }, + "end": { + "line": 53, + "column": 16 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1176, + "end": 1177, + "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": "options", + "start": 1178, + "end": 1185, + "loc": { + "start": { + "line": 53, + "column": 19 + }, + "end": { + "line": 53, + "column": 26 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The debug function for extra output.\n * @type {Function}\n ", + "start": 1190, + "end": 1269, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + }, + { + "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": 1274, + "end": 1278, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1278, + "end": 1279, + "loc": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 58, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_debug", + "start": 1279, + "end": 1285, + "loc": { + "start": { + "line": 58, + "column": 9 + }, + "end": { + "line": 58, + "column": 15 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1286, + "end": 1287, + "loc": { + "start": { + "line": 58, + "column": 16 + }, + "end": { + "line": 58, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "debug", + "start": 1288, + "end": 1293, + "loc": { + "start": { + "line": 58, + "column": 18 + }, + "end": { + "line": 58, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1293, + "end": 1294, + "loc": { + "start": { + "line": 58, + "column": 23 + }, + "end": { + "line": 58, + "column": 24 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1294, + "end": 1295, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 25 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "", + "start": 1295, + "end": 1295, + "loc": { + "start": { + "line": 58, + "column": 25 + }, + "end": { + "line": 58, + "column": 25 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1295, + "end": 1297, + "loc": { + "start": { + "line": 58, + "column": 25 + }, + "end": { + "line": 58, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1297, + "end": 1301, + "loc": { + "start": { + "line": 58, + "column": 27 + }, + "end": { + "line": 58, + "column": 31 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1301, + "end": 1302, + "loc": { + "start": { + "line": 58, + "column": 31 + }, + "end": { + "line": 58, + "column": 32 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": ":Http", + "start": 1302, + "end": 1307, + "loc": { + "start": { + "line": 58, + "column": 32 + }, + "end": { + "line": 58, + "column": 37 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1307, + "end": 1308, + "loc": { + "start": { + "line": 58, + "column": 37 + }, + "end": { + "line": 58, + "column": 38 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1308, + "end": 1309, + "loc": { + "start": { + "line": 58, + "column": 38 + }, + "end": { + "line": 58, + "column": 39 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1312, + "end": 1313, + "loc": { + "start": { + "line": 59, + "column": 2 + }, + "end": { + "line": 59, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a GET request.\n * @param {!string} [endpoint=''] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1317, + "end": 1651, + "loc": { + "start": { + "line": 61, + "column": 2 + }, + "end": { + "line": 69, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "get", + "start": 1654, + "end": 1657, + "loc": { + "start": { + "line": 70, + "column": 2 + }, + "end": { + "line": 70, + "column": 5 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1657, + "end": 1658, + "loc": { + "start": { + "line": 70, + "column": 5 + }, + "end": { + "line": 70, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 1663, + "end": 1671, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 12 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1671, + "end": 1672, + "loc": { + "start": { + "line": 71, + "column": 12 + }, + "end": { + "line": 71, + "column": 13 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1672, + "end": 1673, + "loc": { + "start": { + "line": 71, + "column": 13 + }, + "end": { + "line": 71, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1674, + "end": 1680, + "loc": { + "start": { + "line": 71, + "column": 15 + }, + "end": { + "line": 71, + "column": 21 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1681, + "end": 1682, + "loc": { + "start": { + "line": 71, + "column": 22 + }, + "end": { + "line": 71, + "column": 23 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "", + "start": 1683, + "end": 1685, + "loc": { + "start": { + "line": 71, + "column": 24 + }, + "end": { + "line": 71, + "column": 26 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1685, + "end": 1686, + "loc": { + "start": { + "line": 71, + "column": 26 + }, + "end": { + "line": 71, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 1691, + "end": 1695, + "loc": { + "start": { + "line": 72, + "column": 4 + }, + "end": { + "line": 72, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1695, + "end": 1696, + "loc": { + "start": { + "line": 72, + "column": 8 + }, + "end": { + "line": 72, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1696, + "end": 1697, + "loc": { + "start": { + "line": 72, + "column": 9 + }, + "end": { + "line": 72, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1698, + "end": 1704, + "loc": { + "start": { + "line": 72, + "column": 11 + }, + "end": { + "line": 72, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1705, + "end": 1706, + "loc": { + "start": { + "line": 72, + "column": 18 + }, + "end": { + "line": 72, + "column": 19 + } + } + }, + { + "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": 72, + "column": 20 + }, + "end": { + "line": 72, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1708, + "end": 1709, + "loc": { + "start": { + "line": 72, + "column": 21 + }, + "end": { + "line": 72, + "column": 22 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1709, + "end": 1710, + "loc": { + "start": { + "line": 72, + "column": 22 + }, + "end": { + "line": 72, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 1715, + "end": 1718, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 73, + "column": 7 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1718, + "end": 1719, + "loc": { + "start": { + "line": 73, + "column": 7 + }, + "end": { + "line": 73, + "column": 8 + } + } + }, + { + "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": 73, + "column": 8 + }, + "end": { + "line": 73, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "boolean", + "start": 1721, + "end": 1728, + "loc": { + "start": { + "line": 73, + "column": 10 + }, + "end": { + "line": 73, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1729, + "end": 1730, + "loc": { + "start": { + "line": 73, + "column": 18 + }, + "end": { + "line": 73, + "column": 19 + } + } + }, + { + "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": 1731, + "end": 1736, + "loc": { + "start": { + "line": 73, + "column": 20 + }, + "end": { + "line": 73, + "column": 25 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1739, + "end": 1740, + "loc": { + "start": { + "line": 74, + "column": 2 + }, + "end": { + "line": 74, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1740, + "end": 1741, + "loc": { + "start": { + "line": 74, + "column": 3 + }, + "end": { + "line": 74, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 1742, + "end": 1749, + "loc": { + "start": { + "line": 74, + "column": 5 + }, + "end": { + "line": 74, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 1749, + "end": 1750, + "loc": { + "start": { + "line": 74, + "column": 12 + }, + "end": { + "line": 74, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 1750, + "end": 1753, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 1754, + "end": 1755, + "loc": { + "start": { + "line": 74, + "column": 17 + }, + "end": { + "line": 74, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1756, + "end": 1761, + "loc": { + "start": { + "line": 74, + "column": 19 + }, + "end": { + "line": 74, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 1761, + "end": 1762, + "loc": { + "start": { + "line": 74, + "column": 24 + }, + "end": { + "line": 74, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1763, + "end": 1764, + "loc": { + "start": { + "line": 74, + "column": 26 + }, + "end": { + "line": 74, + "column": 27 + } + } + }, + { + "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": 1769, + "end": 1775, + "loc": { + "start": { + "line": 75, + "column": 4 + }, + "end": { + "line": 75, + "column": 10 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 1776, + "end": 1780, + "loc": { + "start": { + "line": 75, + "column": 11 + }, + "end": { + "line": 75, + "column": 15 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1780, + "end": 1781, + "loc": { + "start": { + "line": 75, + "column": 15 + }, + "end": { + "line": 75, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "request", + "start": 1781, + "end": 1788, + "loc": { + "start": { + "line": 75, + "column": 16 + }, + "end": { + "line": 75, + "column": 23 + } + } + }, + { + "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": 75, + "column": 23 + }, + "end": { + "line": 75, + "column": 24 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "GET", + "start": 1789, + "end": 1794, + "loc": { + "start": { + "line": 75, + "column": 24 + }, + "end": { + "line": 75, + "column": 29 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1794, + "end": 1795, + "loc": { + "start": { + "line": 75, + "column": 29 + }, + "end": { + "line": 75, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 1796, + "end": 1804, + "loc": { + "start": { + "line": 75, + "column": 31 + }, + "end": { + "line": 75, + "column": 39 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1804, + "end": 1805, + "loc": { + "start": { + "line": 75, + "column": 39 + }, + "end": { + "line": 75, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 1806, + "end": 1810, + "loc": { + "start": { + "line": 75, + "column": 41 + }, + "end": { + "line": 75, + "column": 45 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1810, + "end": 1811, + "loc": { + "start": { + "line": 75, + "column": 45 + }, + "end": { + "line": 75, + "column": 46 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 1812, + "end": 1815, + "loc": { + "start": { + "line": 75, + "column": 47 + }, + "end": { + "line": 75, + "column": 50 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1815, + "end": 1816, + "loc": { + "start": { + "line": 75, + "column": 50 + }, + "end": { + "line": 75, + "column": 51 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1819, + "end": 1820, + "loc": { + "start": { + "line": 76, + "column": 2 + }, + "end": { + "line": 76, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1824, + "end": 2101, + "loc": { + "start": { + "line": 78, + "column": 2 + }, + "end": { + "line": 85, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "post", + "start": 2104, + "end": 2108, + "loc": { + "start": { + "line": 86, + "column": 2 + }, + "end": { + "line": 86, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2108, + "end": 2109, + "loc": { + "start": { + "line": 86, + "column": 6 + }, + "end": { + "line": 86, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 2114, + "end": 2122, + "loc": { + "start": { + "line": 87, + "column": 4 + }, + "end": { + "line": 87, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2122, + "end": 2123, + "loc": { + "start": { + "line": 87, + "column": 12 + }, + "end": { + "line": 87, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2124, + "end": 2130, + "loc": { + "start": { + "line": 87, + "column": 14 + }, + "end": { + "line": 87, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2130, + "end": 2131, + "loc": { + "start": { + "line": 87, + "column": 20 + }, + "end": { + "line": 87, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 2136, + "end": 2140, + "loc": { + "start": { + "line": 88, + "column": 4 + }, + "end": { + "line": 88, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2140, + "end": 2141, + "loc": { + "start": { + "line": 88, + "column": 8 + }, + "end": { + "line": 88, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2141, + "end": 2142, + "loc": { + "start": { + "line": 88, + "column": 9 + }, + "end": { + "line": 88, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 2143, + "end": 2149, + "loc": { + "start": { + "line": 88, + "column": 11 + }, + "end": { + "line": 88, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 2150, + "end": 2151, + "loc": { + "start": { + "line": 88, + "column": 18 + }, + "end": { + "line": 88, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2152, + "end": 2153, + "loc": { + "start": { + "line": 88, + "column": 20 + }, + "end": { + "line": 88, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2153, + "end": 2154, + "loc": { + "start": { + "line": 88, + "column": 21 + }, + "end": { + "line": 88, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2157, + "end": 2158, + "loc": { + "start": { + "line": 89, + "column": 2 + }, + "end": { + "line": 89, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2158, + "end": 2159, + "loc": { + "start": { + "line": 89, + "column": 3 + }, + "end": { + "line": 89, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2160, + "end": 2167, + "loc": { + "start": { + "line": 89, + "column": 5 + }, + "end": { + "line": 89, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2167, + "end": 2168, + "loc": { + "start": { + "line": 89, + "column": 12 + }, + "end": { + "line": 89, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 2168, + "end": 2171, + "loc": { + "start": { + "line": 89, + "column": 13 + }, + "end": { + "line": 89, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2172, + "end": 2173, + "loc": { + "start": { + "line": 89, + "column": 17 + }, + "end": { + "line": 89, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2174, + "end": 2179, + "loc": { + "start": { + "line": 89, + "column": 19 + }, + "end": { + "line": 89, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2179, + "end": 2180, + "loc": { + "start": { + "line": 89, + "column": 24 + }, + "end": { + "line": 89, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2181, + "end": 2182, + "loc": { + "start": { + "line": 89, + "column": 26 + }, + "end": { + "line": 89, + "column": 27 + } + } + }, + { + "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": 2187, + "end": 2193, + "loc": { + "start": { + "line": 90, + "column": 4 + }, + "end": { + "line": 90, + "column": 10 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 2194, + "end": 2198, + "loc": { + "start": { + "line": 90, + "column": 11 + }, + "end": { + "line": 90, + "column": 15 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2198, + "end": 2199, + "loc": { + "start": { + "line": 90, + "column": 15 + }, + "end": { + "line": 90, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "request", + "start": 2199, + "end": 2206, + "loc": { + "start": { + "line": 90, + "column": 16 + }, + "end": { + "line": 90, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2206, + "end": 2207, + "loc": { + "start": { + "line": 90, + "column": 23 + }, + "end": { + "line": 90, + "column": 24 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "POST", + "start": 2207, + "end": 2213, + "loc": { + "start": { + "line": 90, + "column": 24 + }, + "end": { + "line": 90, + "column": 30 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2213, + "end": 2214, + "loc": { + "start": { + "line": 90, + "column": 30 + }, + "end": { + "line": 90, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 2215, + "end": 2223, + "loc": { + "start": { + "line": 90, + "column": 32 + }, + "end": { + "line": 90, + "column": 40 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2223, + "end": 2224, + "loc": { + "start": { + "line": 90, + "column": 40 + }, + "end": { + "line": 90, + "column": 41 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 2225, + "end": 2229, + "loc": { + "start": { + "line": 90, + "column": 42 + }, + "end": { + "line": 90, + "column": 46 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2229, + "end": 2230, + "loc": { + "start": { + "line": 90, + "column": 46 + }, + "end": { + "line": 90, + "column": 47 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2233, + "end": 2234, + "loc": { + "start": { + "line": 91, + "column": 2 + }, + "end": { + "line": 91, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2238, + "end": 2512, + "loc": { + "start": { + "line": 93, + "column": 2 + }, + "end": { + "line": 100, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "put", + "start": 2515, + "end": 2518, + "loc": { + "start": { + "line": 101, + "column": 2 + }, + "end": { + "line": 101, + "column": 5 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2518, + "end": 2519, + "loc": { + "start": { + "line": 101, + "column": 5 + }, + "end": { + "line": 101, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 2524, + "end": 2532, + "loc": { + "start": { + "line": 102, + "column": 4 + }, + "end": { + "line": 102, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2532, + "end": 2533, + "loc": { + "start": { + "line": 102, + "column": 12 + }, + "end": { + "line": 102, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2534, + "end": 2540, + "loc": { + "start": { + "line": 102, + "column": 14 + }, + "end": { + "line": 102, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2540, + "end": 2541, + "loc": { + "start": { + "line": 102, + "column": 20 + }, + "end": { + "line": 102, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 2546, + "end": 2550, + "loc": { + "start": { + "line": 103, + "column": 4 + }, + "end": { + "line": 103, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2550, + "end": 2551, + "loc": { + "start": { + "line": 103, + "column": 8 + }, + "end": { + "line": 103, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2551, + "end": 2552, + "loc": { + "start": { + "line": 103, + "column": 9 + }, + "end": { + "line": 103, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 2553, + "end": 2559, + "loc": { + "start": { + "line": 103, + "column": 11 + }, + "end": { + "line": 103, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 2560, + "end": 2561, + "loc": { + "start": { + "line": 103, + "column": 18 + }, + "end": { + "line": 103, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2562, + "end": 2563, + "loc": { + "start": { + "line": 103, + "column": 20 + }, + "end": { + "line": 103, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2563, + "end": 2564, + "loc": { + "start": { + "line": 103, + "column": 21 + }, + "end": { + "line": 103, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2567, + "end": 2568, + "loc": { + "start": { + "line": 104, + "column": 2 + }, + "end": { + "line": 104, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2568, + "end": 2569, + "loc": { + "start": { + "line": 104, + "column": 3 + }, + "end": { + "line": 104, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2570, + "end": 2577, + "loc": { + "start": { + "line": 104, + "column": 5 + }, + "end": { + "line": 104, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2577, + "end": 2578, + "loc": { + "start": { + "line": 104, + "column": 12 + }, + "end": { + "line": 104, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 2578, + "end": 2581, + "loc": { + "start": { + "line": 104, + "column": 13 + }, + "end": { + "line": 104, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2582, + "end": 2583, + "loc": { + "start": { + "line": 104, + "column": 17 + }, + "end": { + "line": 104, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2584, + "end": 2589, + "loc": { + "start": { + "line": 104, + "column": 19 + }, + "end": { + "line": 104, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2589, + "end": 2590, + "loc": { + "start": { + "line": 104, + "column": 24 + }, + "end": { + "line": 104, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2591, + "end": 2592, + "loc": { + "start": { + "line": 104, + "column": 26 + }, + "end": { + "line": 104, + "column": 27 + } + } + }, + { + "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": 2597, + "end": 2603, + "loc": { + "start": { + "line": 105, + "column": 4 + }, + "end": { + "line": 105, + "column": 10 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 2604, + "end": 2608, + "loc": { + "start": { + "line": 105, + "column": 11 + }, + "end": { + "line": 105, + "column": 15 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2608, + "end": 2609, + "loc": { + "start": { + "line": 105, + "column": 15 + }, + "end": { + "line": 105, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "request", + "start": 2609, + "end": 2616, + "loc": { + "start": { + "line": 105, + "column": 16 + }, + "end": { + "line": 105, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2616, + "end": 2617, + "loc": { + "start": { + "line": 105, + "column": 23 + }, + "end": { + "line": 105, + "column": 24 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "PUT", + "start": 2617, + "end": 2622, + "loc": { + "start": { + "line": 105, + "column": 24 + }, + "end": { + "line": 105, + "column": 29 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2622, + "end": 2623, + "loc": { + "start": { + "line": 105, + "column": 29 + }, + "end": { + "line": 105, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 2624, + "end": 2632, + "loc": { + "start": { + "line": 105, + "column": 31 + }, + "end": { + "line": 105, + "column": 39 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2632, + "end": 2633, + "loc": { + "start": { + "line": 105, + "column": 39 + }, + "end": { + "line": 105, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 2634, + "end": 2638, + "loc": { + "start": { + "line": 105, + "column": 41 + }, + "end": { + "line": 105, + "column": 45 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2638, + "end": 2639, + "loc": { + "start": { + "line": 105, + "column": 45 + }, + "end": { + "line": 105, + "column": 46 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2642, + "end": 2643, + "loc": { + "start": { + "line": 106, + "column": 2 + }, + "end": { + "line": 106, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2647, + "end": 2930, + "loc": { + "start": { + "line": 108, + "column": 2 + }, + "end": { + "line": 115, + "column": 5 + } + } + }, + { + "type": { + "label": "delete", + "keyword": "delete", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": true, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "delete", + "start": 2933, + "end": 2939, + "loc": { + "start": { + "line": 116, + "column": 2 + }, + "end": { + "line": 116, + "column": 8 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2939, + "end": 2940, + "loc": { + "start": { + "line": 116, + "column": 8 + }, + "end": { + "line": 116, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 2945, + "end": 2953, + "loc": { + "start": { + "line": 117, + "column": 4 + }, + "end": { + "line": 117, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2953, + "end": 2954, + "loc": { + "start": { + "line": 117, + "column": 12 + }, + "end": { + "line": 117, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2955, + "end": 2961, + "loc": { + "start": { + "line": 117, + "column": 14 + }, + "end": { + "line": 117, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2961, + "end": 2962, + "loc": { + "start": { + "line": 117, + "column": 20 + }, + "end": { + "line": 117, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 2967, + "end": 2971, + "loc": { + "start": { + "line": 118, + "column": 4 + }, + "end": { + "line": 118, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2971, + "end": 2972, + "loc": { + "start": { + "line": 118, + "column": 8 + }, + "end": { + "line": 118, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2972, + "end": 2973, + "loc": { + "start": { + "line": 118, + "column": 9 + }, + "end": { + "line": 118, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 2974, + "end": 2980, + "loc": { + "start": { + "line": 118, + "column": 11 + }, + "end": { + "line": 118, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 2981, + "end": 2982, + "loc": { + "start": { + "line": 118, + "column": 18 + }, + "end": { + "line": 118, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2983, + "end": 2984, + "loc": { + "start": { + "line": 118, + "column": 20 + }, + "end": { + "line": 118, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2984, + "end": 2985, + "loc": { + "start": { + "line": 118, + "column": 21 + }, + "end": { + "line": 118, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2988, + "end": 2989, + "loc": { + "start": { + "line": 119, + "column": 2 + }, + "end": { + "line": 119, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2989, + "end": 2990, + "loc": { + "start": { + "line": 119, + "column": 3 + }, + "end": { + "line": 119, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2991, + "end": 2998, + "loc": { + "start": { + "line": 119, + "column": 5 + }, + "end": { + "line": 119, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2998, + "end": 2999, + "loc": { + "start": { + "line": 119, + "column": 12 + }, + "end": { + "line": 119, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 2999, + "end": 3002, + "loc": { + "start": { + "line": 119, + "column": 13 + }, + "end": { + "line": 119, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 3003, + "end": 3004, + "loc": { + "start": { + "line": 119, + "column": 17 + }, + "end": { + "line": 119, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 3005, + "end": 3010, + "loc": { + "start": { + "line": 119, + "column": 19 + }, + "end": { + "line": 119, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 3010, + "end": 3011, + "loc": { + "start": { + "line": 119, + "column": 24 + }, + "end": { + "line": 119, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3012, + "end": 3013, + "loc": { + "start": { + "line": 119, + "column": 26 + }, + "end": { + "line": 119, + "column": 27 + } + } + }, + { + "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": 3018, + "end": 3024, + "loc": { + "start": { + "line": 120, + "column": 4 + }, + "end": { + "line": 120, + "column": 10 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 3025, + "end": 3029, + "loc": { + "start": { + "line": 120, + "column": 11 + }, + "end": { + "line": 120, + "column": 15 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3029, + "end": 3030, + "loc": { + "start": { + "line": 120, + "column": 15 + }, + "end": { + "line": 120, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "request", + "start": 3030, + "end": 3037, + "loc": { + "start": { + "line": 120, + "column": 16 + }, + "end": { + "line": 120, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3037, + "end": 3038, + "loc": { + "start": { + "line": 120, + "column": 23 + }, + "end": { + "line": 120, + "column": 24 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "DELETE", + "start": 3038, + "end": 3046, + "loc": { + "start": { + "line": 120, + "column": 24 + }, + "end": { + "line": 120, + "column": 32 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3046, + "end": 3047, + "loc": { + "start": { + "line": 120, + "column": 32 + }, + "end": { + "line": 120, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 3048, + "end": 3056, + "loc": { + "start": { + "line": 120, + "column": 34 + }, + "end": { + "line": 120, + "column": 42 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3056, + "end": 3057, + "loc": { + "start": { + "line": 120, + "column": 42 + }, + "end": { + "line": 120, + "column": 43 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 3058, + "end": 3062, + "loc": { + "start": { + "line": 120, + "column": 44 + }, + "end": { + "line": 120, + "column": 48 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3062, + "end": 3063, + "loc": { + "start": { + "line": 120, + "column": 48 + }, + "end": { + "line": 120, + "column": 49 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3066, + "end": 3067, + "loc": { + "start": { + "line": 121, + "column": 2 + }, + "end": { + "line": 121, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Handle the body response string.\n * @param {!string} body - The body to parse.\n * @param {?boolean} raw - Return the raw body.\n * @returns {Function|string} - The raw body or the body parsed by\n * cheerio.\n ", + "start": 3071, + "end": 3300, + "loc": { + "start": { + "line": 123, + "column": 2 + }, + "end": { + "line": 129, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "handleBody", + "start": 3303, + "end": 3313, + "loc": { + "start": { + "line": 130, + "column": 2 + }, + "end": { + "line": 130, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3313, + "end": 3314, + "loc": { + "start": { + "line": 130, + "column": 12 + }, + "end": { + "line": 130, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 3314, + "end": 3318, + "loc": { + "start": { + "line": 130, + "column": 13 + }, + "end": { + "line": 130, + "column": 17 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3318, + "end": 3319, + "loc": { + "start": { + "line": 130, + "column": 17 + }, + "end": { + "line": 130, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3320, + "end": 3326, + "loc": { + "start": { + "line": 130, + "column": 19 + }, + "end": { + "line": 130, + "column": 25 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3326, + "end": 3327, + "loc": { + "start": { + "line": 130, + "column": 25 + }, + "end": { + "line": 130, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 3328, + "end": 3331, + "loc": { + "start": { + "line": 130, + "column": 27 + }, + "end": { + "line": 130, + "column": 30 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3331, + "end": 3332, + "loc": { + "start": { + "line": 130, + "column": 30 + }, + "end": { + "line": 130, + "column": 31 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3332, + "end": 3333, + "loc": { + "start": { + "line": 130, + "column": 31 + }, + "end": { + "line": 130, + "column": 32 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "boolean", + "start": 3334, + "end": 3341, + "loc": { + "start": { + "line": 130, + "column": 33 + }, + "end": { + "line": 130, + "column": 40 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3341, + "end": 3342, + "loc": { + "start": { + "line": 130, + "column": 40 + }, + "end": { + "line": 130, + "column": 41 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3342, + "end": 3343, + "loc": { + "start": { + "line": 130, + "column": 41 + }, + "end": { + "line": 130, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Function", + "start": 3344, + "end": 3352, + "loc": { + "start": { + "line": 130, + "column": 43 + }, + "end": { + "line": 130, + "column": 51 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 3353, + "end": 3354, + "loc": { + "start": { + "line": 130, + "column": 52 + }, + "end": { + "line": 130, + "column": 53 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3355, + "end": 3361, + "loc": { + "start": { + "line": 130, + "column": 54 + }, + "end": { + "line": 130, + "column": 60 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3362, + "end": 3363, + "loc": { + "start": { + "line": 130, + "column": 61 + }, + "end": { + "line": 130, + "column": 62 + } + } + }, + { + "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": 3368, + "end": 3370, + "loc": { + "start": { + "line": 131, + "column": 4 + }, + "end": { + "line": 131, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3371, + "end": 3372, + "loc": { + "start": { + "line": 131, + "column": 7 + }, + "end": { + "line": 131, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 3372, + "end": 3375, + "loc": { + "start": { + "line": 131, + "column": 8 + }, + "end": { + "line": 131, + "column": 11 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3375, + "end": 3376, + "loc": { + "start": { + "line": 131, + "column": 11 + }, + "end": { + "line": 131, + "column": 12 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3377, + "end": 3378, + "loc": { + "start": { + "line": 131, + "column": 13 + }, + "end": { + "line": 131, + "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": 3385, + "end": 3391, + "loc": { + "start": { + "line": 132, + "column": 6 + }, + "end": { + "line": 132, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 3392, + "end": 3396, + "loc": { + "start": { + "line": 132, + "column": 13 + }, + "end": { + "line": 132, + "column": 17 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3401, + "end": 3402, + "loc": { + "start": { + "line": 133, + "column": 4 + }, + "end": { + "line": 133, + "column": 5 + } + } + }, + { + "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": 3408, + "end": 3414, + "loc": { + "start": { + "line": 135, + "column": 4 + }, + "end": { + "line": 135, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "cheerio", + "start": 3415, + "end": 3422, + "loc": { + "start": { + "line": 135, + "column": 11 + }, + "end": { + "line": 135, + "column": 18 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3422, + "end": 3423, + "loc": { + "start": { + "line": 135, + "column": 18 + }, + "end": { + "line": 135, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "load", + "start": 3423, + "end": 3427, + "loc": { + "start": { + "line": 135, + "column": 19 + }, + "end": { + "line": 135, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3427, + "end": 3428, + "loc": { + "start": { + "line": 135, + "column": 23 + }, + "end": { + "line": 135, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 3428, + "end": 3432, + "loc": { + "start": { + "line": 135, + "column": 24 + }, + "end": { + "line": 135, + "column": 28 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3432, + "end": 3433, + "loc": { + "start": { + "line": 135, + "column": 28 + }, + "end": { + "line": 135, + "column": 29 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3436, + "end": 3437, + "loc": { + "start": { + "line": 136, + "column": 2 + }, + "end": { + "line": 136, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @returns {undefined}\n ", + "start": 3441, + "end": 3700, + "loc": { + "start": { + "line": 138, + "column": 2 + }, + "end": { + "line": 144, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "printDebug", + "start": 3703, + "end": 3713, + "loc": { + "start": { + "line": 145, + "column": 2 + }, + "end": { + "line": 145, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3713, + "end": 3714, + "loc": { + "start": { + "line": 145, + "column": 12 + }, + "end": { + "line": 145, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 3714, + "end": 3720, + "loc": { + "start": { + "line": 145, + "column": 13 + }, + "end": { + "line": 145, + "column": 19 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3720, + "end": 3721, + "loc": { + "start": { + "line": 145, + "column": 19 + }, + "end": { + "line": 145, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3722, + "end": 3728, + "loc": { + "start": { + "line": 145, + "column": 21 + }, + "end": { + "line": 145, + "column": 27 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3728, + "end": 3729, + "loc": { + "start": { + "line": 145, + "column": 27 + }, + "end": { + "line": 145, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "uri", + "start": 3730, + "end": 3733, + "loc": { + "start": { + "line": 145, + "column": 29 + }, + "end": { + "line": 145, + "column": 32 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3733, + "end": 3734, + "loc": { + "start": { + "line": 145, + "column": 32 + }, + "end": { + "line": 145, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3735, + "end": 3741, + "loc": { + "start": { + "line": 145, + "column": 34 + }, + "end": { + "line": 145, + "column": 40 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3741, + "end": 3742, + "loc": { + "start": { + "line": 145, + "column": 40 + }, + "end": { + "line": 145, + "column": 41 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 3743, + "end": 3747, + "loc": { + "start": { + "line": 145, + "column": 42 + }, + "end": { + "line": 145, + "column": 46 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3747, + "end": 3748, + "loc": { + "start": { + "line": 145, + "column": 46 + }, + "end": { + "line": 145, + "column": 47 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3748, + "end": 3749, + "loc": { + "start": { + "line": 145, + "column": 47 + }, + "end": { + "line": 145, + "column": 48 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 3750, + "end": 3756, + "loc": { + "start": { + "line": 145, + "column": 49 + }, + "end": { + "line": 145, + "column": 55 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3756, + "end": 3757, + "loc": { + "start": { + "line": 145, + "column": 55 + }, + "end": { + "line": 145, + "column": 56 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3757, + "end": 3758, + "loc": { + "start": { + "line": 145, + "column": 56 + }, + "end": { + "line": 145, + "column": 57 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "void", + "start": 3759, + "end": 3763, + "loc": { + "start": { + "line": 145, + "column": 58 + }, + "end": { + "line": 145, + "column": 62 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3764, + "end": 3765, + "loc": { + "start": { + "line": 145, + "column": 63 + }, + "end": { + "line": 145, + "column": 64 + } + } + }, + { + "type": { + "label": "let", + "keyword": "let", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "let", + "start": 3770, + "end": 3773, + "loc": { + "start": { + "line": 146, + "column": 4 + }, + "end": { + "line": 146, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "msg", + "start": 3774, + "end": 3777, + "loc": { + "start": { + "line": 146, + "column": 8 + }, + "end": { + "line": 146, + "column": 11 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 3778, + "end": 3779, + "loc": { + "start": { + "line": 146, + "column": 12 + }, + "end": { + "line": 146, + "column": 13 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3780, + "end": 3781, + "loc": { + "start": { + "line": 146, + "column": 14 + }, + "end": { + "line": 146, + "column": 15 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Making ", + "start": 3781, + "end": 3788, + "loc": { + "start": { + "line": 146, + "column": 15 + }, + "end": { + "line": 146, + "column": 22 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3788, + "end": 3790, + "loc": { + "start": { + "line": 146, + "column": 22 + }, + "end": { + "line": 146, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 3790, + "end": 3796, + "loc": { + "start": { + "line": 146, + "column": 24 + }, + "end": { + "line": 146, + "column": 30 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3796, + "end": 3797, + "loc": { + "start": { + "line": 146, + "column": 30 + }, + "end": { + "line": 146, + "column": 31 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": " request to: ", + "start": 3797, + "end": 3810, + "loc": { + "start": { + "line": 146, + "column": 31 + }, + "end": { + "line": 146, + "column": 44 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3810, + "end": 3812, + "loc": { + "start": { + "line": 146, + "column": 44 + }, + "end": { + "line": 146, + "column": 46 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "uri", + "start": 3812, + "end": 3815, + "loc": { + "start": { + "line": 146, + "column": 46 + }, + "end": { + "line": 146, + "column": 49 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3815, + "end": 3816, + "loc": { + "start": { + "line": 146, + "column": 49 + }, + "end": { + "line": 146, + "column": 50 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "", + "start": 3816, + "end": 3816, + "loc": { + "start": { + "line": 146, + "column": 50 + }, + "end": { + "line": 146, + "column": 50 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3816, + "end": 3817, + "loc": { + "start": { + "line": 146, + "column": 50 + }, + "end": { + "line": 146, + "column": 51 + } + } + }, + { + "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": 3822, + "end": 3824, + "loc": { + "start": { + "line": 147, + "column": 4 + }, + "end": { + "line": 147, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3825, + "end": 3826, + "loc": { + "start": { + "line": 147, + "column": 7 + }, + "end": { + "line": 147, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 3826, + "end": 3830, + "loc": { + "start": { + "line": 147, + "column": 8 + }, + "end": { + "line": 147, + "column": 12 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3830, + "end": 3831, + "loc": { + "start": { + "line": 147, + "column": 12 + }, + "end": { + "line": 147, + "column": 13 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3832, + "end": 3833, + "loc": { + "start": { + "line": 147, + "column": 14 + }, + "end": { + "line": 147, + "column": 15 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 3840, + "end": 3845, + "loc": { + "start": { + "line": 148, + "column": 6 + }, + "end": { + "line": 148, + "column": 11 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3846, + "end": 3847, + "loc": { + "start": { + "line": 148, + "column": 12 + }, + "end": { + "line": 148, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 3848, + "end": 3852, + "loc": { + "start": { + "line": 148, + "column": 14 + }, + "end": { + "line": 148, + "column": 18 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3852, + "end": 3853, + "loc": { + "start": { + "line": 148, + "column": 18 + }, + "end": { + "line": 148, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "query", + "start": 3854, + "end": 3859, + "loc": { + "start": { + "line": 148, + "column": 20 + }, + "end": { + "line": 148, + "column": 25 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3859, + "end": 3860, + "loc": { + "start": { + "line": 148, + "column": 25 + }, + "end": { + "line": 148, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "form", + "start": 3861, + "end": 3865, + "loc": { + "start": { + "line": 148, + "column": 27 + }, + "end": { + "line": 148, + "column": 31 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3866, + "end": 3867, + "loc": { + "start": { + "line": 148, + "column": 32 + }, + "end": { + "line": 148, + "column": 33 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 3868, + "end": 3869, + "loc": { + "start": { + "line": 148, + "column": 34 + }, + "end": { + "line": 148, + "column": 35 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 3870, + "end": 3874, + "loc": { + "start": { + "line": 148, + "column": 36 + }, + "end": { + "line": 148, + "column": 40 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 3881, + "end": 3886, + "loc": { + "start": { + "line": 149, + "column": 6 + }, + "end": { + "line": 149, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "s", + "start": 3887, + "end": 3888, + "loc": { + "start": { + "line": 149, + "column": 12 + }, + "end": { + "line": 149, + "column": 13 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 3889, + "end": 3890, + "loc": { + "start": { + "line": 149, + "column": 14 + }, + "end": { + "line": 149, + "column": 15 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3891, + "end": 3892, + "loc": { + "start": { + "line": 149, + "column": 16 + }, + "end": { + "line": 149, + "column": 17 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3901, + "end": 3904, + "loc": { + "start": { + "line": 150, + "column": 8 + }, + "end": { + "line": 150, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 3904, + "end": 3908, + "loc": { + "start": { + "line": 150, + "column": 11 + }, + "end": { + "line": 150, + "column": 15 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3908, + "end": 3909, + "loc": { + "start": { + "line": 150, + "column": 15 + }, + "end": { + "line": 150, + "column": 16 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3918, + "end": 3921, + "loc": { + "start": { + "line": 151, + "column": 8 + }, + "end": { + "line": 151, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "query", + "start": 3921, + "end": 3926, + "loc": { + "start": { + "line": 151, + "column": 11 + }, + "end": { + "line": 151, + "column": 16 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3926, + "end": 3927, + "loc": { + "start": { + "line": 151, + "column": 16 + }, + "end": { + "line": 151, + "column": 17 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3936, + "end": 3939, + "loc": { + "start": { + "line": 152, + "column": 8 + }, + "end": { + "line": 152, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "form", + "start": 3939, + "end": 3943, + "loc": { + "start": { + "line": 152, + "column": 11 + }, + "end": { + "line": 152, + "column": 15 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3950, + "end": 3951, + "loc": { + "start": { + "line": 153, + "column": 6 + }, + "end": { + "line": 153, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "msg", + "start": 3958, + "end": 3961, + "loc": { + "start": { + "line": 154, + "column": 6 + }, + "end": { + "line": 154, + "column": 9 + } + } + }, + { + "type": { + "label": "_=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "+=", + "start": 3962, + "end": 3964, + "loc": { + "start": { + "line": 154, + "column": 10 + }, + "end": { + "line": 154, + "column": 12 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3965, + "end": 3966, + "loc": { + "start": { + "line": 154, + "column": 13 + }, + "end": { + "line": 154, + "column": 14 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "?", + "start": 3966, + "end": 3967, + "loc": { + "start": { + "line": 154, + "column": 14 + }, + "end": { + "line": 154, + "column": 15 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3967, + "end": 3969, + "loc": { + "start": { + "line": 154, + "column": 15 + }, + "end": { + "line": 154, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stringify", + "start": 3969, + "end": 3978, + "loc": { + "start": { + "line": 154, + "column": 17 + }, + "end": { + "line": 154, + "column": 26 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3978, + "end": 3979, + "loc": { + "start": { + "line": 154, + "column": 26 + }, + "end": { + "line": 154, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "s", + "start": 3979, + "end": 3980, + "loc": { + "start": { + "line": 154, + "column": 27 + }, + "end": { + "line": 154, + "column": 28 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3980, + "end": 3981, + "loc": { + "start": { + "line": 154, + "column": 28 + }, + "end": { + "line": 154, + "column": 29 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3981, + "end": 3982, + "loc": { + "start": { + "line": 154, + "column": 29 + }, + "end": { + "line": 154, + "column": 30 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "", + "start": 3982, + "end": 3982, + "loc": { + "start": { + "line": 154, + "column": 30 + }, + "end": { + "line": 154, + "column": 30 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3982, + "end": 3983, + "loc": { + "start": { + "line": 154, + "column": 30 + }, + "end": { + "line": 154, + "column": 31 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3988, + "end": 3989, + "loc": { + "start": { + "line": 155, + "column": 4 + }, + "end": { + "line": 155, + "column": 5 + } + } + }, + { + "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": 3995, + "end": 3999, + "loc": { + "start": { + "line": 157, + "column": 4 + }, + "end": { + "line": 157, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3999, + "end": 4000, + "loc": { + "start": { + "line": 157, + "column": 8 + }, + "end": { + "line": 157, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "_debug", + "start": 4000, + "end": 4006, + "loc": { + "start": { + "line": 157, + "column": 9 + }, + "end": { + "line": 157, + "column": 15 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4006, + "end": 4007, + "loc": { + "start": { + "line": 157, + "column": 15 + }, + "end": { + "line": 157, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "msg", + "start": 4007, + "end": 4010, + "loc": { + "start": { + "line": 157, + "column": 16 + }, + "end": { + "line": 157, + "column": 19 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4010, + "end": 4011, + "loc": { + "start": { + "line": 157, + "column": 19 + }, + "end": { + "line": 157, + "column": 20 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4014, + "end": 4015, + "loc": { + "start": { + "line": 158, + "column": 2 + }, + "end": { + "line": 158, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 4017, + "end": 4018, + "loc": { + "start": { + "line": 160, + "column": 0 + }, + "end": { + "line": 160, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 4019, + "end": 4019, + "loc": { + "start": { + "line": 161, + "column": 0 + }, + "end": { + "line": 161, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/http/HttpService.js.json b/docs/ast/source/http/HttpService.js.json new file mode 100644 index 0000000..b60467c --- /dev/null +++ b/docs/ast/source/http/HttpService.js.json @@ -0,0 +1,11562 @@ +{ + "type": "File", + "start": 0, + "end": 2094, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 81, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 2094, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 81, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ImportDeclaration", + "start": 42, + "end": 63, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 21 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 49, + "end": 52, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 10 + } + }, + "local": { + "type": "Identifier", + "start": 49, + "end": 52, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 10 + }, + "identifierName": "got" + }, + "name": "got", + "leadingComments": null + }, + "leadingComments": null + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 58, + "end": 63, + "loc": { + "start": { + "line": 3, + "column": 16 + }, + "end": { + "line": 3, + "column": 21 + } + }, + "extra": { + "rawValue": "got", + "raw": "'got'" + }, + "value": "got" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + } + ] + }, + { + "type": "ImportDeclaration", + "start": 64, + "end": 89, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 25 + } + }, + "specifiers": [ + { + "type": "ImportSpecifier", + "start": 73, + "end": 76, + "loc": { + "start": { + "line": 4, + "column": 9 + }, + "end": { + "line": 4, + "column": 12 + } + }, + "imported": { + "type": "Identifier", + "start": 73, + "end": 76, + "loc": { + "start": { + "line": 4, + "column": 9 + }, + "end": { + "line": 4, + "column": 12 + }, + "identifierName": "URL" + }, + "name": "URL" + }, + "importKind": null, + "local": { + "type": "Identifier", + "start": 73, + "end": 76, + "loc": { + "start": { + "line": 4, + "column": 9 + }, + "end": { + "line": 4, + "column": 12 + }, + "identifierName": "URL" + }, + "name": "URL" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 84, + "end": 89, + "loc": { + "start": { + "line": 4, + "column": 20 + }, + "end": { + "line": 4, + "column": 25 + } + }, + "extra": { + "rawValue": "url", + "raw": "'url'" + }, + "value": "url" + } + }, + { + "type": "ImportDeclaration", + "start": 90, + "end": 144, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 8, + "column": 11 + } + }, + "specifiers": [ + { + "type": "ImportSpecifier", + "start": 101, + "end": 118, + "loc": { + "start": { + "line": 6, + "column": 2 + }, + "end": { + "line": 6, + "column": 19 + } + }, + "imported": { + "type": "Identifier", + "start": 101, + "end": 118, + "loc": { + "start": { + "line": 6, + "column": 2 + }, + "end": { + "line": 6, + "column": 19 + }, + "identifierName": "createWriteStream" + }, + "name": "createWriteStream" + }, + "importKind": null, + "local": { + "type": "Identifier", + "start": 101, + "end": 118, + "loc": { + "start": { + "line": 6, + "column": 2 + }, + "end": { + "line": 6, + "column": 19 + }, + "identifierName": "createWriteStream" + }, + "name": "createWriteStream" + } + }, + { + "type": "ImportSpecifier", + "start": 122, + "end": 132, + "loc": { + "start": { + "line": 7, + "column": 2 + }, + "end": { + "line": 7, + "column": 12 + } + }, + "imported": { + "type": "Identifier", + "start": 122, + "end": 132, + "loc": { + "start": { + "line": 7, + "column": 2 + }, + "end": { + "line": 7, + "column": 12 + }, + "identifierName": "unlinkSync" + }, + "name": "unlinkSync" + }, + "importKind": null, + "local": { + "type": "Identifier", + "start": 122, + "end": 132, + "loc": { + "start": { + "line": 7, + "column": 2 + }, + "end": { + "line": 7, + "column": 12 + }, + "identifierName": "unlinkSync" + }, + "name": "unlinkSync" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 140, + "end": 144, + "loc": { + "start": { + "line": 8, + "column": 7 + }, + "end": { + "line": 8, + "column": 11 + } + }, + "extra": { + "rawValue": "fs", + "raw": "'fs'" + }, + "value": "fs" + } + }, + { + "type": "ImportDeclaration", + "start": 146, + "end": 201, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 10, + "column": 55 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 153, + "end": 172, + "loc": { + "start": { + "line": 10, + "column": 7 + }, + "end": { + "line": 10, + "column": 26 + } + }, + "local": { + "type": "Identifier", + "start": 153, + "end": 172, + "loc": { + "start": { + "line": 10, + "column": 7 + }, + "end": { + "line": 10, + "column": 26 + }, + "identifierName": "AbstractHttpService" + }, + "name": "AbstractHttpService" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 178, + "end": 201, + "loc": { + "start": { + "line": 10, + "column": 32 + }, + "end": { + "line": 10, + "column": 55 + } + }, + "extra": { + "rawValue": "./AbstractHttpService", + "raw": "'./AbstractHttpService'" + }, + "value": "./AbstractHttpService", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls with the got library.\n * @extends {AbstractHttpService}\n * @type {HttpService}\n ", + "start": 203, + "end": 320, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 16, + "column": 3 + } + } + } + ] + }, + { + "type": "ExportDefaultDeclaration", + "start": 321, + "end": 2093, + "loc": { + "start": { + "line": 17, + "column": 0 + }, + "end": { + "line": 80, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 336, + "end": 2093, + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 80, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 342, + "end": 353, + "loc": { + "start": { + "line": 17, + "column": 21 + }, + "end": { + "line": 17, + "column": 32 + }, + "identifierName": "HttpService" + }, + "name": "HttpService", + "leadingComments": null + }, + "superClass": { + "type": "Identifier", + "start": 362, + "end": 381, + "loc": { + "start": { + "line": 17, + "column": 41 + }, + "end": { + "line": 17, + "column": 60 + }, + "identifierName": "AbstractHttpService" + }, + "name": "AbstractHttpService" + }, + "body": { + "type": "ClassBody", + "start": 382, + "end": 2093, + "loc": { + "start": { + "line": 17, + "column": 61 + }, + "end": { + "line": 80, + "column": 1 + } + }, + "body": [ + { + "type": "ClassMethod", + "start": 769, + "end": 1149, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 45, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 769, + "end": 776, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 9 + }, + "identifierName": "request" + }, + "name": "request", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 782, + "end": 796, + "loc": { + "start": { + "line": 29, + "column": 4 + }, + "end": { + "line": 29, + "column": 18 + }, + "identifierName": "method" + }, + "name": "method", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 788, + "end": 796, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 18 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 790, + "end": 796, + "loc": { + "start": { + "line": 29, + "column": 12 + }, + "end": { + "line": 29, + "column": 18 + } + } + } + } + }, + { + "type": "Identifier", + "start": 802, + "end": 818, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 30, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 810, + "end": 818, + "loc": { + "start": { + "line": 30, + "column": 12 + }, + "end": { + "line": 30, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 812, + "end": 818, + "loc": { + "start": { + "line": 30, + "column": 14 + }, + "end": { + "line": 30, + "column": 20 + } + } + } + } + }, + { + "type": "Identifier", + "start": 824, + "end": 837, + "loc": { + "start": { + "line": 31, + "column": 4 + }, + "end": { + "line": 31, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 829, + "end": 837, + "loc": { + "start": { + "line": 31, + "column": 9 + }, + "end": { + "line": 31, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 831, + "end": 837, + "loc": { + "start": { + "line": 31, + "column": 11 + }, + "end": { + "line": 31, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 831, + "end": 837, + "loc": { + "start": { + "line": 31, + "column": 11 + }, + "end": { + "line": 31, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + { + "type": "Identifier", + "start": 843, + "end": 856, + "loc": { + "start": { + "line": 32, + "column": 4 + }, + "end": { + "line": 32, + "column": 17 + }, + "identifierName": "raw" + }, + "name": "raw", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 847, + "end": 856, + "loc": { + "start": { + "line": 32, + "column": 8 + }, + "end": { + "line": 32, + "column": 17 + } + }, + "typeAnnotation": { + "type": "BooleanTypeAnnotation", + "start": 849, + "end": 856, + "loc": { + "start": { + "line": 32, + "column": 10 + }, + "end": { + "line": 32, + "column": 17 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 860, + "end": 882, + "loc": { + "start": { + "line": 33, + "column": 3 + }, + "end": { + "line": 33, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 862, + "end": 882, + "loc": { + "start": { + "line": 33, + "column": 5 + }, + "end": { + "line": 33, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 869, + "end": 882, + "loc": { + "start": { + "line": 33, + "column": 12 + }, + "end": { + "line": 33, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 870, + "end": 881, + "loc": { + "start": { + "line": 33, + "column": 13 + }, + "end": { + "line": 33, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 870, + "end": 873, + "loc": { + "start": { + "line": 33, + "column": 13 + }, + "end": { + "line": 33, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 876, + "end": 881, + "loc": { + "start": { + "line": 33, + "column": 19 + }, + "end": { + "line": 33, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 876, + "end": 881, + "loc": { + "start": { + "line": 33, + "column": 19 + }, + "end": { + "line": 33, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 862, + "end": 869, + "loc": { + "start": { + "line": 33, + "column": 5 + }, + "end": { + "line": 33, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 883, + "end": 1149, + "loc": { + "start": { + "line": 33, + "column": 26 + }, + "end": { + "line": 45, + "column": 3 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 889, + "end": 937, + "loc": { + "start": { + "line": 34, + "column": 4 + }, + "end": { + "line": 34, + "column": 52 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 895, + "end": 937, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 52 + } + }, + "id": { + "type": "ObjectPattern", + "start": 895, + "end": 903, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 18 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 897, + "end": 901, + "loc": { + "start": { + "line": 34, + "column": 12 + }, + "end": { + "line": 34, + "column": 16 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 897, + "end": 901, + "loc": { + "start": { + "line": 34, + "column": 12 + }, + "end": { + "line": 34, + "column": 16 + }, + "identifierName": "href" + }, + "name": "href" + }, + "value": { + "type": "Identifier", + "start": 897, + "end": 901, + "loc": { + "start": { + "line": 34, + "column": 12 + }, + "end": { + "line": 34, + "column": 16 + }, + "identifierName": "href" + }, + "name": "href" + }, + "extra": { + "shorthand": true + } + } + ] + }, + "init": { + "type": "NewExpression", + "start": 906, + "end": 937, + "loc": { + "start": { + "line": 34, + "column": 21 + }, + "end": { + "line": 34, + "column": 52 + } + }, + "callee": { + "type": "Identifier", + "start": 910, + "end": 913, + "loc": { + "start": { + "line": 34, + "column": 25 + }, + "end": { + "line": 34, + "column": 28 + }, + "identifierName": "URL" + }, + "name": "URL" + }, + "arguments": [ + { + "type": "Identifier", + "start": 914, + "end": 922, + "loc": { + "start": { + "line": 34, + "column": 29 + }, + "end": { + "line": 34, + "column": 37 + }, + "identifierName": "endpoint" + }, + "name": "endpoint" + }, + { + "type": "MemberExpression", + "start": 924, + "end": 936, + "loc": { + "start": { + "line": 34, + "column": 39 + }, + "end": { + "line": 34, + "column": 51 + } + }, + "object": { + "type": "ThisExpression", + "start": 924, + "end": 928, + "loc": { + "start": { + "line": 34, + "column": 39 + }, + "end": { + "line": 34, + "column": 43 + } + } + }, + "property": { + "type": "Identifier", + "start": 929, + "end": 936, + "loc": { + "start": { + "line": 34, + "column": 44 + }, + "end": { + "line": 34, + "column": 51 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl" + }, + "computed": false + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "VariableDeclaration", + "start": 943, + "end": 1017, + "loc": { + "start": { + "line": 36, + "column": 4 + }, + "end": { + "line": 40, + "column": 5 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 949, + "end": 1017, + "loc": { + "start": { + "line": 36, + "column": 10 + }, + "end": { + "line": 40, + "column": 5 + } + }, + "id": { + "type": "Identifier", + "start": 949, + "end": 956, + "loc": { + "start": { + "line": 36, + "column": 10 + }, + "end": { + "line": 36, + "column": 17 + }, + "identifierName": "options" + }, + "name": "options" + }, + "init": { + "type": "ObjectExpression", + "start": 959, + "end": 1017, + "loc": { + "start": { + "line": 36, + "column": 20 + }, + "end": { + "line": 40, + "column": 5 + } + }, + "properties": [ + { + "type": "SpreadProperty", + "start": 967, + "end": 982, + "loc": { + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 37, + "column": 21 + } + }, + "argument": { + "type": "MemberExpression", + "start": 970, + "end": 982, + "loc": { + "start": { + "line": 37, + "column": 9 + }, + "end": { + "line": 37, + "column": 21 + } + }, + "object": { + "type": "ThisExpression", + "start": 970, + "end": 974, + "loc": { + "start": { + "line": 37, + "column": 9 + }, + "end": { + "line": 37, + "column": 13 + } + } + }, + "property": { + "type": "Identifier", + "start": 975, + "end": 982, + "loc": { + "start": { + "line": 37, + "column": 14 + }, + "end": { + "line": 37, + "column": 21 + }, + "identifierName": "options" + }, + "name": "options" + }, + "computed": false + } + }, + { + "type": "SpreadProperty", + "start": 990, + "end": 997, + "loc": { + "start": { + "line": 38, + "column": 6 + }, + "end": { + "line": 38, + "column": 13 + } + }, + "argument": { + "type": "Identifier", + "start": 993, + "end": 997, + "loc": { + "start": { + "line": 38, + "column": 9 + }, + "end": { + "line": 38, + "column": 13 + }, + "identifierName": "opts" + }, + "name": "opts" + } + }, + { + "type": "ObjectProperty", + "start": 1005, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 6 + }, + "end": { + "line": 39, + "column": 12 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1005, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 6 + }, + "end": { + "line": 39, + "column": 12 + }, + "identifierName": "method" + }, + "name": "method" + }, + "value": { + "type": "Identifier", + "start": 1005, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 6 + }, + "end": { + "line": 39, + "column": 12 + }, + "identifierName": "method" + }, + "name": "method" + }, + "extra": { + "shorthand": true + } + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 1022, + "end": 1060, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 42 + } + }, + "expression": { + "type": "CallExpression", + "start": 1022, + "end": 1060, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 42 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1022, + "end": 1037, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 19 + } + }, + "object": { + "type": "ThisExpression", + "start": 1022, + "end": 1026, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 8 + } + } + }, + "property": { + "type": "Identifier", + "start": 1027, + "end": 1037, + "loc": { + "start": { + "line": 41, + "column": 9 + }, + "end": { + "line": 41, + "column": 19 + }, + "identifierName": "printDebug" + }, + "name": "printDebug" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 1038, + "end": 1044, + "loc": { + "start": { + "line": 41, + "column": 20 + }, + "end": { + "line": 41, + "column": 26 + }, + "identifierName": "method" + }, + "name": "method" + }, + { + "type": "Identifier", + "start": 1046, + "end": 1050, + "loc": { + "start": { + "line": 41, + "column": 28 + }, + "end": { + "line": 41, + "column": 32 + }, + "identifierName": "href" + }, + "name": "href" + }, + { + "type": "Identifier", + "start": 1052, + "end": 1059, + "loc": { + "start": { + "line": 41, + "column": 34 + }, + "end": { + "line": 41, + "column": 41 + }, + "identifierName": "options" + }, + "name": "options" + } + ] + } + }, + { + "type": "ReturnStatement", + "start": 1066, + "end": 1145, + "loc": { + "start": { + "line": 43, + "column": 4 + }, + "end": { + "line": 44, + "column": 53 + } + }, + "argument": { + "type": "CallExpression", + "start": 1073, + "end": 1145, + "loc": { + "start": { + "line": 43, + "column": 11 + }, + "end": { + "line": 44, + "column": 53 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1073, + "end": 1103, + "loc": { + "start": { + "line": 43, + "column": 11 + }, + "end": { + "line": 44, + "column": 11 + } + }, + "object": { + "type": "CallExpression", + "start": 1073, + "end": 1091, + "loc": { + "start": { + "line": 43, + "column": 11 + }, + "end": { + "line": 43, + "column": 29 + } + }, + "callee": { + "type": "Identifier", + "start": 1073, + "end": 1076, + "loc": { + "start": { + "line": 43, + "column": 11 + }, + "end": { + "line": 43, + "column": 14 + }, + "identifierName": "got" + }, + "name": "got" + }, + "arguments": [ + { + "type": "Identifier", + "start": 1077, + "end": 1081, + "loc": { + "start": { + "line": 43, + "column": 15 + }, + "end": { + "line": 43, + "column": 19 + }, + "identifierName": "href" + }, + "name": "href" + }, + { + "type": "Identifier", + "start": 1083, + "end": 1090, + "loc": { + "start": { + "line": 43, + "column": 21 + }, + "end": { + "line": 43, + "column": 28 + }, + "identifierName": "options" + }, + "name": "options" + } + ] + }, + "property": { + "type": "Identifier", + "start": 1099, + "end": 1103, + "loc": { + "start": { + "line": 44, + "column": 7 + }, + "end": { + "line": 44, + "column": 11 + }, + "identifierName": "then" + }, + "name": "then" + }, + "computed": false + }, + "arguments": [ + { + "type": "ArrowFunctionExpression", + "start": 1104, + "end": 1144, + "loc": { + "start": { + "line": 44, + "column": 12 + }, + "end": { + "line": 44, + "column": 52 + } + }, + "id": null, + "generator": false, + "expression": true, + "async": false, + "params": [ + { + "type": "ObjectPattern", + "start": 1105, + "end": 1113, + "loc": { + "start": { + "line": 44, + "column": 13 + }, + "end": { + "line": 44, + "column": 21 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1107, + "end": 1111, + "loc": { + "start": { + "line": 44, + "column": 15 + }, + "end": { + "line": 44, + "column": 19 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1107, + "end": 1111, + "loc": { + "start": { + "line": 44, + "column": 15 + }, + "end": { + "line": 44, + "column": 19 + }, + "identifierName": "body" + }, + "name": "body" + }, + "value": { + "type": "Identifier", + "start": 1107, + "end": 1111, + "loc": { + "start": { + "line": 44, + "column": 15 + }, + "end": { + "line": 44, + "column": 19 + }, + "identifierName": "body" + }, + "name": "body" + }, + "extra": { + "shorthand": true + } + } + ] + } + ], + "body": { + "type": "CallExpression", + "start": 1118, + "end": 1144, + "loc": { + "start": { + "line": 44, + "column": 26 + }, + "end": { + "line": 44, + "column": 52 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1118, + "end": 1133, + "loc": { + "start": { + "line": 44, + "column": 26 + }, + "end": { + "line": 44, + "column": 41 + } + }, + "object": { + "type": "ThisExpression", + "start": 1118, + "end": 1122, + "loc": { + "start": { + "line": 44, + "column": 26 + }, + "end": { + "line": 44, + "column": 30 + } + } + }, + "property": { + "type": "Identifier", + "start": 1123, + "end": 1133, + "loc": { + "start": { + "line": 44, + "column": 31 + }, + "end": { + "line": 44, + "column": 41 + }, + "identifierName": "handleBody" + }, + "name": "handleBody" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 1134, + "end": 1138, + "loc": { + "start": { + "line": 44, + "column": 42 + }, + "end": { + "line": 44, + "column": 46 + }, + "identifierName": "body" + }, + "name": "body" + }, + { + "type": "Identifier", + "start": 1140, + "end": 1143, + "loc": { + "start": { + "line": 44, + "column": 48 + }, + "end": { + "line": 44, + "column": 51 + }, + "identifierName": "raw" + }, + "name": "raw" + } + ] + } + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a HTTP request. \n * @param \n * {!string} method - The method of the HTTP request. \n * @param \n * {!string} [endpoint] - The endpoint to make the HTTP request to. \n * @param \n * {?Object} [opts] - The options for the HTTP request. \n * @param \n * {?boolean} [raw] - Return the raw body. \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 387, + "end": 766, + "loc": { + "start": { + "line": 19, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @returns {Promise} - Message when it's finally\n * downloaded.\n ", + "start": 1153, + "end": 1406, + "loc": { + "start": { + "line": 47, + "column": 2 + }, + "end": { + "line": 53, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1409, + "end": 2090, + "loc": { + "start": { + "line": 54, + "column": 2 + }, + "end": { + "line": 78, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1409, + "end": 1417, + "loc": { + "start": { + "line": 54, + "column": 2 + }, + "end": { + "line": 54, + "column": 10 + }, + "identifierName": "download" + }, + "name": "download", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1418, + "end": 1434, + "loc": { + "start": { + "line": 54, + "column": 11 + }, + "end": { + "line": 54, + "column": 27 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1426, + "end": 1434, + "loc": { + "start": { + "line": 54, + "column": 19 + }, + "end": { + "line": 54, + "column": 27 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 1428, + "end": 1434, + "loc": { + "start": { + "line": 54, + "column": 21 + }, + "end": { + "line": 54, + "column": 27 + } + } + } + } + }, + { + "type": "Identifier", + "start": 1436, + "end": 1452, + "loc": { + "start": { + "line": 54, + "column": 29 + }, + "end": { + "line": 54, + "column": 45 + }, + "identifierName": "filePath" + }, + "name": "filePath", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1444, + "end": 1452, + "loc": { + "start": { + "line": 54, + "column": 37 + }, + "end": { + "line": 54, + "column": 45 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 1446, + "end": 1452, + "loc": { + "start": { + "line": 54, + "column": 39 + }, + "end": { + "line": 54, + "column": 45 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1453, + "end": 1478, + "loc": { + "start": { + "line": 54, + "column": 46 + }, + "end": { + "line": 54, + "column": 71 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1455, + "end": 1478, + "loc": { + "start": { + "line": 54, + "column": 48 + }, + "end": { + "line": 54, + "column": 71 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 1462, + "end": 1478, + "loc": { + "start": { + "line": 54, + "column": 55 + }, + "end": { + "line": 54, + "column": 71 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 1463, + "end": 1477, + "loc": { + "start": { + "line": 54, + "column": 56 + }, + "end": { + "line": 54, + "column": 70 + } + }, + "types": [ + { + "type": "StringTypeAnnotation", + "start": 1463, + "end": 1469, + "loc": { + "start": { + "line": 54, + "column": 56 + }, + "end": { + "line": 54, + "column": 62 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 1472, + "end": 1477, + "loc": { + "start": { + "line": 54, + "column": 65 + }, + "end": { + "line": 54, + "column": 70 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1472, + "end": 1477, + "loc": { + "start": { + "line": 54, + "column": 65 + }, + "end": { + "line": 54, + "column": 70 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 1455, + "end": 1462, + "loc": { + "start": { + "line": 54, + "column": 48 + }, + "end": { + "line": 54, + "column": 55 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1479, + "end": 2090, + "loc": { + "start": { + "line": 54, + "column": 72 + }, + "end": { + "line": 78, + "column": 3 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 1485, + "end": 1533, + "loc": { + "start": { + "line": 55, + "column": 4 + }, + "end": { + "line": 55, + "column": 52 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 1491, + "end": 1533, + "loc": { + "start": { + "line": 55, + "column": 10 + }, + "end": { + "line": 55, + "column": 52 + } + }, + "id": { + "type": "ObjectPattern", + "start": 1491, + "end": 1499, + "loc": { + "start": { + "line": 55, + "column": 10 + }, + "end": { + "line": 55, + "column": 18 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1493, + "end": 1497, + "loc": { + "start": { + "line": 55, + "column": 12 + }, + "end": { + "line": 55, + "column": 16 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1493, + "end": 1497, + "loc": { + "start": { + "line": 55, + "column": 12 + }, + "end": { + "line": 55, + "column": 16 + }, + "identifierName": "href" + }, + "name": "href" + }, + "value": { + "type": "Identifier", + "start": 1493, + "end": 1497, + "loc": { + "start": { + "line": 55, + "column": 12 + }, + "end": { + "line": 55, + "column": 16 + }, + "identifierName": "href" + }, + "name": "href" + }, + "extra": { + "shorthand": true + } + } + ] + }, + "init": { + "type": "NewExpression", + "start": 1502, + "end": 1533, + "loc": { + "start": { + "line": 55, + "column": 21 + }, + "end": { + "line": 55, + "column": 52 + } + }, + "callee": { + "type": "Identifier", + "start": 1506, + "end": 1509, + "loc": { + "start": { + "line": 55, + "column": 25 + }, + "end": { + "line": 55, + "column": 28 + }, + "identifierName": "URL" + }, + "name": "URL" + }, + "arguments": [ + { + "type": "Identifier", + "start": 1510, + "end": 1518, + "loc": { + "start": { + "line": 55, + "column": 29 + }, + "end": { + "line": 55, + "column": 37 + }, + "identifierName": "endpoint" + }, + "name": "endpoint" + }, + { + "type": "MemberExpression", + "start": 1520, + "end": 1532, + "loc": { + "start": { + "line": 55, + "column": 39 + }, + "end": { + "line": 55, + "column": 51 + } + }, + "object": { + "type": "ThisExpression", + "start": 1520, + "end": 1524, + "loc": { + "start": { + "line": 55, + "column": 39 + }, + "end": { + "line": 55, + "column": 43 + } + } + }, + "property": { + "type": "Identifier", + "start": 1525, + "end": 1532, + "loc": { + "start": { + "line": 55, + "column": 44 + }, + "end": { + "line": 55, + "column": 51 + }, + "identifierName": "baseUrl" + }, + "name": "baseUrl" + }, + "computed": false + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 1538, + "end": 1566, + "loc": { + "start": { + "line": 56, + "column": 4 + }, + "end": { + "line": 56, + "column": 32 + } + }, + "expression": { + "type": "CallExpression", + "start": 1538, + "end": 1566, + "loc": { + "start": { + "line": 56, + "column": 4 + }, + "end": { + "line": 56, + "column": 32 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1538, + "end": 1553, + "loc": { + "start": { + "line": 56, + "column": 4 + }, + "end": { + "line": 56, + "column": 19 + } + }, + "object": { + "type": "ThisExpression", + "start": 1538, + "end": 1542, + "loc": { + "start": { + "line": 56, + "column": 4 + }, + "end": { + "line": 56, + "column": 8 + } + } + }, + "property": { + "type": "Identifier", + "start": 1543, + "end": 1553, + "loc": { + "start": { + "line": 56, + "column": 9 + }, + "end": { + "line": 56, + "column": 19 + }, + "identifierName": "printDebug" + }, + "name": "printDebug" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1554, + "end": 1559, + "loc": { + "start": { + "line": 56, + "column": 20 + }, + "end": { + "line": 56, + "column": 25 + } + }, + "extra": { + "rawValue": "GET", + "raw": "'GET'" + }, + "value": "GET" + }, + { + "type": "Identifier", + "start": 1561, + "end": 1565, + "loc": { + "start": { + "line": 56, + "column": 27 + }, + "end": { + "line": 56, + "column": 31 + }, + "identifierName": "href" + }, + "name": "href" + } + ] + } + }, + { + "type": "ReturnStatement", + "start": 1572, + "end": 2086, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 77, + "column": 6 + } + }, + "argument": { + "type": "NewExpression", + "start": 1579, + "end": 2086, + "loc": { + "start": { + "line": 58, + "column": 11 + }, + "end": { + "line": 77, + "column": 6 + } + }, + "callee": { + "type": "Identifier", + "start": 1583, + "end": 1590, + "loc": { + "start": { + "line": 58, + "column": 15 + }, + "end": { + "line": 58, + "column": 22 + }, + "identifierName": "Promise" + }, + "name": "Promise" + }, + "arguments": [ + { + "type": "ArrowFunctionExpression", + "start": 1591, + "end": 2085, + "loc": { + "start": { + "line": 58, + "column": 23 + }, + "end": { + "line": 77, + "column": 5 + } + }, + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1592, + "end": 1599, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 31 + }, + "identifierName": "resolve" + }, + "name": "resolve" + }, + { + "type": "Identifier", + "start": 1601, + "end": 1607, + "loc": { + "start": { + "line": 58, + "column": 33 + }, + "end": { + "line": 58, + "column": 39 + }, + "identifierName": "reject" + }, + "name": "reject" + } + ], + "body": { + "type": "BlockStatement", + "start": 1612, + "end": 2085, + "loc": { + "start": { + "line": 58, + "column": 44 + }, + "end": { + "line": 77, + "column": 5 + } + }, + "body": [ + { + "type": "VariableDeclaration", + "start": 1620, + "end": 1662, + "loc": { + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 59, + "column": 48 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 1626, + "end": 1662, + "loc": { + "start": { + "line": 59, + "column": 12 + }, + "end": { + "line": 59, + "column": 48 + } + }, + "id": { + "type": "Identifier", + "start": 1626, + "end": 1632, + "loc": { + "start": { + "line": 59, + "column": 12 + }, + "end": { + "line": 59, + "column": 18 + }, + "identifierName": "stream" + }, + "name": "stream" + }, + "init": { + "type": "CallExpression", + "start": 1635, + "end": 1662, + "loc": { + "start": { + "line": 59, + "column": 21 + }, + "end": { + "line": 59, + "column": 48 + } + }, + "callee": { + "type": "Identifier", + "start": 1635, + "end": 1652, + "loc": { + "start": { + "line": 59, + "column": 21 + }, + "end": { + "line": 59, + "column": 38 + }, + "identifierName": "createWriteStream" + }, + "name": "createWriteStream" + }, + "arguments": [ + { + "type": "Identifier", + "start": 1653, + "end": 1661, + "loc": { + "start": { + "line": 59, + "column": 39 + }, + "end": { + "line": 59, + "column": 47 + }, + "identifierName": "filePath" + }, + "name": "filePath" + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "VariableDeclaration", + "start": 1669, + "end": 1711, + "loc": { + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 60, + "column": 48 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 1675, + "end": 1711, + "loc": { + "start": { + "line": 60, + "column": 12 + }, + "end": { + "line": 60, + "column": 48 + } + }, + "id": { + "type": "Identifier", + "start": 1675, + "end": 1678, + "loc": { + "start": { + "line": 60, + "column": 12 + }, + "end": { + "line": 60, + "column": 15 + }, + "identifierName": "req" + }, + "name": "req" + }, + "init": { + "type": "CallExpression", + "start": 1681, + "end": 1711, + "loc": { + "start": { + "line": 60, + "column": 18 + }, + "end": { + "line": 60, + "column": 48 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1681, + "end": 1691, + "loc": { + "start": { + "line": 60, + "column": 18 + }, + "end": { + "line": 60, + "column": 28 + } + }, + "object": { + "type": "Identifier", + "start": 1681, + "end": 1684, + "loc": { + "start": { + "line": 60, + "column": 18 + }, + "end": { + "line": 60, + "column": 21 + }, + "identifierName": "got" + }, + "name": "got" + }, + "property": { + "type": "Identifier", + "start": 1685, + "end": 1691, + "loc": { + "start": { + "line": 60, + "column": 22 + }, + "end": { + "line": 60, + "column": 28 + }, + "identifierName": "stream" + }, + "name": "stream" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 1692, + "end": 1696, + "loc": { + "start": { + "line": 60, + "column": 29 + }, + "end": { + "line": 60, + "column": 33 + }, + "identifierName": "href" + }, + "name": "href" + }, + { + "type": "MemberExpression", + "start": 1698, + "end": 1710, + "loc": { + "start": { + "line": 60, + "column": 35 + }, + "end": { + "line": 60, + "column": 47 + } + }, + "object": { + "type": "ThisExpression", + "start": 1698, + "end": 1702, + "loc": { + "start": { + "line": 60, + "column": 35 + }, + "end": { + "line": 60, + "column": 39 + } + } + }, + "property": { + "type": "Identifier", + "start": 1703, + "end": 1710, + "loc": { + "start": { + "line": 60, + "column": 40 + }, + "end": { + "line": 60, + "column": 47 + }, + "identifierName": "options" + }, + "name": "options" + }, + "computed": false + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "ExpressionStatement", + "start": 1719, + "end": 1951, + "loc": { + "start": { + "line": 62, + "column": 6 + }, + "end": { + "line": 71, + "column": 8 + } + }, + "expression": { + "type": "CallExpression", + "start": 1719, + "end": 1951, + "loc": { + "start": { + "line": 62, + "column": 6 + }, + "end": { + "line": 71, + "column": 8 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1719, + "end": 1725, + "loc": { + "start": { + "line": 62, + "column": 6 + }, + "end": { + "line": 62, + "column": 12 + } + }, + "object": { + "type": "Identifier", + "start": 1719, + "end": 1722, + "loc": { + "start": { + "line": 62, + "column": 6 + }, + "end": { + "line": 62, + "column": 9 + }, + "identifierName": "req" + }, + "name": "req" + }, + "property": { + "type": "Identifier", + "start": 1723, + "end": 1725, + "loc": { + "start": { + "line": 62, + "column": 10 + }, + "end": { + "line": 62, + "column": 12 + }, + "identifierName": "on" + }, + "name": "on" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1726, + "end": 1733, + "loc": { + "start": { + "line": 62, + "column": 13 + }, + "end": { + "line": 62, + "column": 20 + } + }, + "extra": { + "rawValue": "error", + "raw": "'error'" + }, + "value": "error" + }, + { + "type": "ArrowFunctionExpression", + "start": 1735, + "end": 1950, + "loc": { + "start": { + "line": 62, + "column": 22 + }, + "end": { + "line": 71, + "column": 7 + } + }, + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1735, + "end": 1738, + "loc": { + "start": { + "line": 62, + "column": 22 + }, + "end": { + "line": 62, + "column": 25 + }, + "identifierName": "err" + }, + "name": "err" + } + ], + "body": { + "type": "BlockStatement", + "start": 1742, + "end": 1950, + "loc": { + "start": { + "line": 62, + "column": 29 + }, + "end": { + "line": 71, + "column": 7 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 1752, + "end": 1761, + "loc": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 63, + "column": 17 + } + }, + "expression": { + "type": "CallExpression", + "start": 1752, + "end": 1761, + "loc": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 63, + "column": 17 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1752, + "end": 1759, + "loc": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 63, + "column": 15 + } + }, + "object": { + "type": "Identifier", + "start": 1752, + "end": 1755, + "loc": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 63, + "column": 11 + }, + "identifierName": "req" + }, + "name": "req" + }, + "property": { + "type": "Identifier", + "start": 1756, + "end": 1759, + "loc": { + "start": { + "line": 63, + "column": 12 + }, + "end": { + "line": 63, + "column": 15 + }, + "identifierName": "end" + }, + "name": "end" + }, + "computed": false + }, + "arguments": [] + } + }, + { + "type": "ExpressionStatement", + "start": 1771, + "end": 1809, + "loc": { + "start": { + "line": 65, + "column": 8 + }, + "end": { + "line": 65, + "column": 46 + } + }, + "expression": { + "type": "CallExpression", + "start": 1771, + "end": 1809, + "loc": { + "start": { + "line": 65, + "column": 8 + }, + "end": { + "line": 65, + "column": 46 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1771, + "end": 1781, + "loc": { + "start": { + "line": 65, + "column": 8 + }, + "end": { + "line": 65, + "column": 18 + } + }, + "object": { + "type": "Identifier", + "start": 1771, + "end": 1777, + "loc": { + "start": { + "line": 65, + "column": 8 + }, + "end": { + "line": 65, + "column": 14 + }, + "identifierName": "stream" + }, + "name": "stream" + }, + "property": { + "type": "Identifier", + "start": 1778, + "end": 1781, + "loc": { + "start": { + "line": 65, + "column": 15 + }, + "end": { + "line": 65, + "column": 18 + }, + "identifierName": "end" + }, + "name": "end" + }, + "computed": false + }, + "arguments": [ + { + "type": "ArrowFunctionExpression", + "start": 1782, + "end": 1808, + "loc": { + "start": { + "line": 65, + "column": 19 + }, + "end": { + "line": 65, + "column": 45 + } + }, + "id": null, + "generator": false, + "expression": true, + "async": false, + "params": [], + "body": { + "type": "CallExpression", + "start": 1788, + "end": 1808, + "loc": { + "start": { + "line": 65, + "column": 25 + }, + "end": { + "line": 65, + "column": 45 + } + }, + "callee": { + "type": "Identifier", + "start": 1788, + "end": 1798, + "loc": { + "start": { + "line": 65, + "column": 25 + }, + "end": { + "line": 65, + "column": 35 + }, + "identifierName": "unlinkSync" + }, + "name": "unlinkSync" + }, + "arguments": [ + { + "type": "Identifier", + "start": 1799, + "end": 1807, + "loc": { + "start": { + "line": 65, + "column": 36 + }, + "end": { + "line": 65, + "column": 44 + }, + "identifierName": "filePath" + }, + "name": "filePath" + } + ] + } + } + ] + } + }, + { + "type": "VariableDeclaration", + "start": 1819, + "end": 1913, + "loc": { + "start": { + "line": 67, + "column": 8 + }, + "end": { + "line": 69, + "column": 9 + } + }, + "declarations": [ + { + "type": "VariableDeclarator", + "start": 1825, + "end": 1913, + "loc": { + "start": { + "line": 67, + "column": 14 + }, + "end": { + "line": 69, + "column": 9 + } + }, + "id": { + "type": "Identifier", + "start": 1825, + "end": 1830, + "loc": { + "start": { + "line": 67, + "column": 14 + }, + "end": { + "line": 67, + "column": 19 + }, + "identifierName": "error" + }, + "name": "error" + }, + "init": { + "type": "NewExpression", + "start": 1833, + "end": 1913, + "loc": { + "start": { + "line": 67, + "column": 22 + }, + "end": { + "line": 69, + "column": 9 + } + }, + "callee": { + "type": "Identifier", + "start": 1837, + "end": 1842, + "loc": { + "start": { + "line": 67, + "column": 26 + }, + "end": { + "line": 67, + "column": 31 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "TemplateLiteral", + "start": 1854, + "end": 1903, + "loc": { + "start": { + "line": 68, + "column": 10 + }, + "end": { + "line": 68, + "column": 59 + } + }, + "expressions": [ + { + "type": "Identifier", + "start": 1868, + "end": 1876, + "loc": { + "start": { + "line": 68, + "column": 24 + }, + "end": { + "line": 68, + "column": 32 + }, + "identifierName": "filePath" + }, + "name": "filePath" + }, + { + "type": "Identifier", + "start": 1888, + "end": 1892, + "loc": { + "start": { + "line": 68, + "column": 44 + }, + "end": { + "line": 68, + "column": 48 + }, + "identifierName": "href" + }, + "name": "href" + }, + { + "type": "Identifier", + "start": 1898, + "end": 1901, + "loc": { + "start": { + "line": 68, + "column": 54 + }, + "end": { + "line": 68, + "column": 57 + }, + "identifierName": "err" + }, + "name": "err" + } + ], + "quasis": [ + { + "type": "TemplateElement", + "start": 1855, + "end": 1866, + "loc": { + "start": { + "line": 68, + "column": 11 + }, + "end": { + "line": 68, + "column": 22 + } + }, + "value": { + "raw": "Error on: '", + "cooked": "Error on: '" + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 1877, + "end": 1886, + "loc": { + "start": { + "line": 68, + "column": 33 + }, + "end": { + "line": 68, + "column": 42 + } + }, + "value": { + "raw": "', uri: '", + "cooked": "', uri: '" + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 1893, + "end": 1896, + "loc": { + "start": { + "line": 68, + "column": 49 + }, + "end": { + "line": 68, + "column": 52 + } + }, + "value": { + "raw": "', ", + "cooked": "', " + }, + "tail": false + }, + { + "type": "TemplateElement", + "start": 1902, + "end": 1902, + "loc": { + "start": { + "line": 68, + "column": 58 + }, + "end": { + "line": 68, + "column": 58 + } + }, + "value": { + "raw": "", + "cooked": "" + }, + "tail": true + } + ] + } + ] + } + } + ], + "kind": "const" + }, + { + "type": "ReturnStatement", + "start": 1922, + "end": 1942, + "loc": { + "start": { + "line": 70, + "column": 8 + }, + "end": { + "line": 70, + "column": 28 + } + }, + "argument": { + "type": "CallExpression", + "start": 1929, + "end": 1942, + "loc": { + "start": { + "line": 70, + "column": 15 + }, + "end": { + "line": 70, + "column": 28 + } + }, + "callee": { + "type": "Identifier", + "start": 1929, + "end": 1935, + "loc": { + "start": { + "line": 70, + "column": 15 + }, + "end": { + "line": 70, + "column": 21 + }, + "identifierName": "reject" + }, + "name": "reject" + }, + "arguments": [ + { + "type": "Identifier", + "start": 1936, + "end": 1941, + "loc": { + "start": { + "line": 70, + "column": 22 + }, + "end": { + "line": 70, + "column": 27 + }, + "identifierName": "error" + }, + "name": "error" + } + ] + } + } + ], + "directives": [] + } + } + ] + } + }, + { + "type": "ExpressionStatement", + "start": 1959, + "end": 2079, + "loc": { + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 76, + "column": 8 + } + }, + "expression": { + "type": "CallExpression", + "start": 1959, + "end": 2079, + "loc": { + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 76, + "column": 8 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1959, + "end": 1965, + "loc": { + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 73, + "column": 12 + } + }, + "object": { + "type": "Identifier", + "start": 1959, + "end": 1962, + "loc": { + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 73, + "column": 9 + }, + "identifierName": "req" + }, + "name": "req" + }, + "property": { + "type": "Identifier", + "start": 1963, + "end": 1965, + "loc": { + "start": { + "line": 73, + "column": 10 + }, + "end": { + "line": 73, + "column": 12 + }, + "identifierName": "on" + }, + "name": "on" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1966, + "end": 1976, + "loc": { + "start": { + "line": 73, + "column": 13 + }, + "end": { + "line": 73, + "column": 23 + } + }, + "extra": { + "rawValue": "response", + "raw": "'response'" + }, + "value": "response" + }, + { + "type": "FunctionExpression", + "start": 1978, + "end": 2078, + "loc": { + "start": { + "line": 73, + "column": 25 + }, + "end": { + "line": 76, + "column": 7 + } + }, + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [], + "body": { + "type": "BlockStatement", + "start": 1990, + "end": 2078, + "loc": { + "start": { + "line": 73, + "column": 37 + }, + "end": { + "line": 76, + "column": 7 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 2000, + "end": 2017, + "loc": { + "start": { + "line": 74, + "column": 8 + }, + "end": { + "line": 74, + "column": 25 + } + }, + "expression": { + "type": "CallExpression", + "start": 2000, + "end": 2017, + "loc": { + "start": { + "line": 74, + "column": 8 + }, + "end": { + "line": 74, + "column": 25 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2000, + "end": 2009, + "loc": { + "start": { + "line": 74, + "column": 8 + }, + "end": { + "line": 74, + "column": 17 + } + }, + "object": { + "type": "ThisExpression", + "start": 2000, + "end": 2004, + "loc": { + "start": { + "line": 74, + "column": 8 + }, + "end": { + "line": 74, + "column": 12 + } + } + }, + "property": { + "type": "Identifier", + "start": 2005, + "end": 2009, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 17 + }, + "identifierName": "pipe" + }, + "name": "pipe" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 2010, + "end": 2016, + "loc": { + "start": { + "line": 74, + "column": 18 + }, + "end": { + "line": 74, + "column": 24 + }, + "identifierName": "stream" + }, + "name": "stream" + } + ] + } + }, + { + "type": "ExpressionStatement", + "start": 2026, + "end": 2070, + "loc": { + "start": { + "line": 75, + "column": 8 + }, + "end": { + "line": 75, + "column": 52 + } + }, + "expression": { + "type": "CallExpression", + "start": 2026, + "end": 2070, + "loc": { + "start": { + "line": 75, + "column": 8 + }, + "end": { + "line": 75, + "column": 52 + } + }, + "callee": { + "type": "MemberExpression", + "start": 2026, + "end": 2035, + "loc": { + "start": { + "line": 75, + "column": 8 + }, + "end": { + "line": 75, + "column": 17 + } + }, + "object": { + "type": "Identifier", + "start": 2026, + "end": 2032, + "loc": { + "start": { + "line": 75, + "column": 8 + }, + "end": { + "line": 75, + "column": 14 + }, + "identifierName": "stream" + }, + "name": "stream" + }, + "property": { + "type": "Identifier", + "start": 2033, + "end": 2035, + "loc": { + "start": { + "line": 75, + "column": 15 + }, + "end": { + "line": 75, + "column": 17 + }, + "identifierName": "on" + }, + "name": "on" + }, + "computed": false + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 2036, + "end": 2044, + "loc": { + "start": { + "line": 75, + "column": 18 + }, + "end": { + "line": 75, + "column": 26 + } + }, + "extra": { + "rawValue": "finish", + "raw": "'finish'" + }, + "value": "finish" + }, + { + "type": "ArrowFunctionExpression", + "start": 2046, + "end": 2069, + "loc": { + "start": { + "line": 75, + "column": 28 + }, + "end": { + "line": 75, + "column": 51 + } + }, + "id": null, + "generator": false, + "expression": true, + "async": false, + "params": [], + "body": { + "type": "CallExpression", + "start": 2052, + "end": 2069, + "loc": { + "start": { + "line": 75, + "column": 34 + }, + "end": { + "line": 75, + "column": 51 + } + }, + "callee": { + "type": "Identifier", + "start": 2052, + "end": 2059, + "loc": { + "start": { + "line": 75, + "column": 34 + }, + "end": { + "line": 75, + "column": 41 + }, + "identifierName": "resolve" + }, + "name": "resolve" + }, + "arguments": [ + { + "type": "Identifier", + "start": 2060, + "end": 2068, + "loc": { + "start": { + "line": 75, + "column": 42 + }, + "end": { + "line": 75, + "column": 50 + }, + "identifierName": "filePath" + }, + "name": "filePath" + } + ] + } + } + ] + } + } + ], + "directives": [] + } + } + ] + } + } + ], + "directives": [] + } + } + ] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Request to download an item. \n * @param \n * {!string} endpoint - The uri to the item. \n * @param \n * {!string} filePath - The name of the file to save the item. \n * @returns \n * {Promise} - Message when it's finally\n * downloaded. \n", + "start": 1153, + "end": 1406, + "loc": { + "start": { + "line": 47, + "column": 2 + }, + "end": { + "line": 53, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls with the got library.\n * @extends {AbstractHttpService}\n * @type {HttpService}\n ", + "start": 203, + "end": 320, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 16, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls with the got library.\n * @extends {AbstractHttpService}\n * @type {HttpService}\n ", + "start": 203, + "end": 320, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 16, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls with the got library.\n * @extends {AbstractHttpService}\n * @type {HttpService}\n ", + "start": 203, + "end": 320, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 16, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 387, + "end": 766, + "loc": { + "start": { + "line": 19, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @returns {Promise} - Message when it's finally\n * downloaded.\n ", + "start": 1153, + "end": 1406, + "loc": { + "start": { + "line": 47, + "column": 2 + }, + "end": { + "line": 53, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 33, + "end": 41, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 42, + "end": 48, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "got", + "start": 49, + "end": 52, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 53, + "end": 57, + "loc": { + "start": { + "line": 3, + "column": 11 + }, + "end": { + "line": 3, + "column": 15 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "got", + "start": 58, + "end": 63, + "loc": { + "start": { + "line": 3, + "column": 16 + }, + "end": { + "line": 3, + "column": 21 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 64, + "end": 70, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 71, + "end": 72, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "URL", + "start": 73, + "end": 76, + "loc": { + "start": { + "line": 4, + "column": 9 + }, + "end": { + "line": 4, + "column": 12 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 77, + "end": 78, + "loc": { + "start": { + "line": 4, + "column": 13 + }, + "end": { + "line": 4, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 79, + "end": 83, + "loc": { + "start": { + "line": 4, + "column": 15 + }, + "end": { + "line": 4, + "column": 19 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "url", + "start": 84, + "end": 89, + "loc": { + "start": { + "line": 4, + "column": 20 + }, + "end": { + "line": 4, + "column": 25 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 90, + "end": 96, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 97, + "end": 98, + "loc": { + "start": { + "line": 5, + "column": 7 + }, + "end": { + "line": 5, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "createWriteStream", + "start": 101, + "end": 118, + "loc": { + "start": { + "line": 6, + "column": 2 + }, + "end": { + "line": 6, + "column": 19 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 118, + "end": 119, + "loc": { + "start": { + "line": 6, + "column": 19 + }, + "end": { + "line": 6, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "unlinkSync", + "start": 122, + "end": 132, + "loc": { + "start": { + "line": 7, + "column": 2 + }, + "end": { + "line": 7, + "column": 12 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 133, + "end": 134, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "column": 1 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 135, + "end": 139, + "loc": { + "start": { + "line": 8, + "column": 2 + }, + "end": { + "line": 8, + "column": 6 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "fs", + "start": 140, + "end": 144, + "loc": { + "start": { + "line": 8, + "column": 7 + }, + "end": { + "line": 8, + "column": 11 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 146, + "end": 152, + "loc": { + "start": { + "line": 10, + "column": 0 + }, + "end": { + "line": 10, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "AbstractHttpService", + "start": 153, + "end": 172, + "loc": { + "start": { + "line": 10, + "column": 7 + }, + "end": { + "line": 10, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 173, + "end": 177, + "loc": { + "start": { + "line": 10, + "column": 27 + }, + "end": { + "line": 10, + "column": 31 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./AbstractHttpService", + "start": 178, + "end": 201, + "loc": { + "start": { + "line": 10, + "column": 32 + }, + "end": { + "line": 10, + "column": 55 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Class for making HTTP calls with the got library.\n * @extends {AbstractHttpService}\n * @type {HttpService}\n ", + "start": 203, + "end": 320, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 16, + "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": 321, + "end": 327, + "loc": { + "start": { + "line": 17, + "column": 0 + }, + "end": { + "line": 17, + "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": 328, + "end": 335, + "loc": { + "start": { + "line": 17, + "column": 7 + }, + "end": { + "line": 17, + "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": 336, + "end": 341, + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 17, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "HttpService", + "start": 342, + "end": 353, + "loc": { + "start": { + "line": 17, + "column": 21 + }, + "end": { + "line": 17, + "column": 32 + } + } + }, + { + "type": { + "label": "extends", + "keyword": "extends", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "extends", + "start": 354, + "end": 361, + "loc": { + "start": { + "line": 17, + "column": 33 + }, + "end": { + "line": 17, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "AbstractHttpService", + "start": 362, + "end": 381, + "loc": { + "start": { + "line": 17, + "column": 41 + }, + "end": { + "line": 17, + "column": 60 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 382, + "end": 383, + "loc": { + "start": { + "line": 17, + "column": 61 + }, + "end": { + "line": 17, + "column": 62 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 387, + "end": 766, + "loc": { + "start": { + "line": 19, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "request", + "start": 769, + "end": 776, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 9 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 776, + "end": 777, + "loc": { + "start": { + "line": 28, + "column": 9 + }, + "end": { + "line": 28, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 782, + "end": 788, + "loc": { + "start": { + "line": 29, + "column": 4 + }, + "end": { + "line": 29, + "column": 10 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 788, + "end": 789, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 790, + "end": 796, + "loc": { + "start": { + "line": 29, + "column": 12 + }, + "end": { + "line": 29, + "column": 18 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 796, + "end": 797, + "loc": { + "start": { + "line": 29, + "column": 18 + }, + "end": { + "line": 29, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 802, + "end": 810, + "loc": { + "start": { + "line": 30, + "column": 4 + }, + "end": { + "line": 30, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 810, + "end": 811, + "loc": { + "start": { + "line": 30, + "column": 12 + }, + "end": { + "line": 30, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 812, + "end": 818, + "loc": { + "start": { + "line": 30, + "column": 14 + }, + "end": { + "line": 30, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 818, + "end": 819, + "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": "opts", + "start": 824, + "end": 828, + "loc": { + "start": { + "line": 31, + "column": 4 + }, + "end": { + "line": 31, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 828, + "end": 829, + "loc": { + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 31, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 829, + "end": 830, + "loc": { + "start": { + "line": 31, + "column": 9 + }, + "end": { + "line": 31, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 831, + "end": 837, + "loc": { + "start": { + "line": 31, + "column": 11 + }, + "end": { + "line": 31, + "column": 17 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 837, + "end": 838, + "loc": { + "start": { + "line": 31, + "column": 17 + }, + "end": { + "line": 31, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 843, + "end": 846, + "loc": { + "start": { + "line": 32, + "column": 4 + }, + "end": { + "line": 32, + "column": 7 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 846, + "end": 847, + "loc": { + "start": { + "line": 32, + "column": 7 + }, + "end": { + "line": 32, + "column": 8 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 847, + "end": 848, + "loc": { + "start": { + "line": 32, + "column": 8 + }, + "end": { + "line": 32, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "boolean", + "start": 849, + "end": 856, + "loc": { + "start": { + "line": 32, + "column": 10 + }, + "end": { + "line": 32, + "column": 17 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 859, + "end": 860, + "loc": { + "start": { + "line": 33, + "column": 2 + }, + "end": { + "line": 33, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 860, + "end": 861, + "loc": { + "start": { + "line": 33, + "column": 3 + }, + "end": { + "line": 33, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 862, + "end": 869, + "loc": { + "start": { + "line": 33, + "column": 5 + }, + "end": { + "line": 33, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 869, + "end": 870, + "loc": { + "start": { + "line": 33, + "column": 12 + }, + "end": { + "line": 33, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 870, + "end": 873, + "loc": { + "start": { + "line": 33, + "column": 13 + }, + "end": { + "line": 33, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 874, + "end": 875, + "loc": { + "start": { + "line": 33, + "column": 17 + }, + "end": { + "line": 33, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 876, + "end": 881, + "loc": { + "start": { + "line": 33, + "column": 19 + }, + "end": { + "line": 33, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 881, + "end": 882, + "loc": { + "start": { + "line": 33, + "column": 24 + }, + "end": { + "line": 33, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 883, + "end": 884, + "loc": { + "start": { + "line": 33, + "column": 26 + }, + "end": { + "line": 33, + "column": 27 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 889, + "end": 894, + "loc": { + "start": { + "line": 34, + "column": 4 + }, + "end": { + "line": 34, + "column": 9 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 895, + "end": 896, + "loc": { + "start": { + "line": 34, + "column": 10 + }, + "end": { + "line": 34, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 897, + "end": 901, + "loc": { + "start": { + "line": 34, + "column": 12 + }, + "end": { + "line": 34, + "column": 16 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 902, + "end": 903, + "loc": { + "start": { + "line": 34, + "column": 17 + }, + "end": { + "line": 34, + "column": 18 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 904, + "end": 905, + "loc": { + "start": { + "line": 34, + "column": 19 + }, + "end": { + "line": 34, + "column": 20 + } + } + }, + { + "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": 906, + "end": 909, + "loc": { + "start": { + "line": 34, + "column": 21 + }, + "end": { + "line": 34, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "URL", + "start": 910, + "end": 913, + "loc": { + "start": { + "line": 34, + "column": 25 + }, + "end": { + "line": 34, + "column": 28 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 913, + "end": 914, + "loc": { + "start": { + "line": 34, + "column": 28 + }, + "end": { + "line": 34, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 914, + "end": 922, + "loc": { + "start": { + "line": 34, + "column": 29 + }, + "end": { + "line": 34, + "column": 37 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 922, + "end": 923, + "loc": { + "start": { + "line": 34, + "column": 37 + }, + "end": { + "line": 34, + "column": 38 + } + } + }, + { + "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": 924, + "end": 928, + "loc": { + "start": { + "line": 34, + "column": 39 + }, + "end": { + "line": 34, + "column": 43 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 928, + "end": 929, + "loc": { + "start": { + "line": 34, + "column": 43 + }, + "end": { + "line": 34, + "column": 44 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "baseUrl", + "start": 929, + "end": 936, + "loc": { + "start": { + "line": 34, + "column": 44 + }, + "end": { + "line": 34, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 936, + "end": 937, + "loc": { + "start": { + "line": 34, + "column": 51 + }, + "end": { + "line": 34, + "column": 52 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 943, + "end": 948, + "loc": { + "start": { + "line": 36, + "column": 4 + }, + "end": { + "line": 36, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 949, + "end": 956, + "loc": { + "start": { + "line": 36, + "column": 10 + }, + "end": { + "line": 36, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 957, + "end": 958, + "loc": { + "start": { + "line": 36, + "column": 18 + }, + "end": { + "line": 36, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 959, + "end": 960, + "loc": { + "start": { + "line": 36, + "column": 20 + }, + "end": { + "line": 36, + "column": 21 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 967, + "end": 970, + "loc": { + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 37, + "column": 9 + } + } + }, + { + "type": { + "label": "this", + "keyword": "this", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "this", + "start": 970, + "end": 974, + "loc": { + "start": { + "line": 37, + "column": 9 + }, + "end": { + "line": 37, + "column": 13 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 974, + "end": 975, + "loc": { + "start": { + "line": 37, + "column": 13 + }, + "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": "options", + "start": 975, + "end": 982, + "loc": { + "start": { + "line": 37, + "column": 14 + }, + "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": 982, + "end": 983, + "loc": { + "start": { + "line": 37, + "column": 21 + }, + "end": { + "line": 37, + "column": 22 + } + } + }, + { + "type": { + "label": "...", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 990, + "end": 993, + "loc": { + "start": { + "line": 38, + "column": 6 + }, + "end": { + "line": 38, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 993, + "end": 997, + "loc": { + "start": { + "line": 38, + "column": 9 + }, + "end": { + "line": 38, + "column": 13 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 997, + "end": 998, + "loc": { + "start": { + "line": 38, + "column": 13 + }, + "end": { + "line": 38, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 1005, + "end": 1011, + "loc": { + "start": { + "line": 39, + "column": 6 + }, + "end": { + "line": 39, + "column": 12 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1016, + "end": 1017, + "loc": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 40, + "column": 5 + } + } + }, + { + "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": 1022, + "end": 1026, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1026, + "end": 1027, + "loc": { + "start": { + "line": 41, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "printDebug", + "start": 1027, + "end": 1037, + "loc": { + "start": { + "line": 41, + "column": 9 + }, + "end": { + "line": 41, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1037, + "end": 1038, + "loc": { + "start": { + "line": 41, + "column": 19 + }, + "end": { + "line": 41, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 1038, + "end": 1044, + "loc": { + "start": { + "line": 41, + "column": 20 + }, + "end": { + "line": 41, + "column": 26 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1044, + "end": 1045, + "loc": { + "start": { + "line": 41, + "column": 26 + }, + "end": { + "line": 41, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 1046, + "end": 1050, + "loc": { + "start": { + "line": 41, + "column": 28 + }, + "end": { + "line": 41, + "column": 32 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1050, + "end": 1051, + "loc": { + "start": { + "line": 41, + "column": 32 + }, + "end": { + "line": 41, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 1052, + "end": 1059, + "loc": { + "start": { + "line": 41, + "column": 34 + }, + "end": { + "line": 41, + "column": 41 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1059, + "end": 1060, + "loc": { + "start": { + "line": 41, + "column": 41 + }, + "end": { + "line": 41, + "column": 42 + } + } + }, + { + "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": 1066, + "end": 1072, + "loc": { + "start": { + "line": 43, + "column": 4 + }, + "end": { + "line": 43, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "got", + "start": 1073, + "end": 1076, + "loc": { + "start": { + "line": 43, + "column": 11 + }, + "end": { + "line": 43, + "column": 14 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1076, + "end": 1077, + "loc": { + "start": { + "line": 43, + "column": 14 + }, + "end": { + "line": 43, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 1077, + "end": 1081, + "loc": { + "start": { + "line": 43, + "column": 15 + }, + "end": { + "line": 43, + "column": 19 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1081, + "end": 1082, + "loc": { + "start": { + "line": 43, + "column": 19 + }, + "end": { + "line": 43, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 1083, + "end": 1090, + "loc": { + "start": { + "line": 43, + "column": 21 + }, + "end": { + "line": 43, + "column": 28 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1090, + "end": 1091, + "loc": { + "start": { + "line": 43, + "column": 28 + }, + "end": { + "line": 43, + "column": 29 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1098, + "end": 1099, + "loc": { + "start": { + "line": 44, + "column": 6 + }, + "end": { + "line": 44, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "then", + "start": 1099, + "end": 1103, + "loc": { + "start": { + "line": 44, + "column": 7 + }, + "end": { + "line": 44, + "column": 11 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1103, + "end": 1104, + "loc": { + "start": { + "line": 44, + "column": 11 + }, + "end": { + "line": 44, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1104, + "end": 1105, + "loc": { + "start": { + "line": 44, + "column": 12 + }, + "end": { + "line": 44, + "column": 13 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1105, + "end": 1106, + "loc": { + "start": { + "line": 44, + "column": 13 + }, + "end": { + "line": 44, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 1107, + "end": 1111, + "loc": { + "start": { + "line": 44, + "column": 15 + }, + "end": { + "line": 44, + "column": 19 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1112, + "end": 1113, + "loc": { + "start": { + "line": 44, + "column": 20 + }, + "end": { + "line": 44, + "column": 21 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1113, + "end": 1114, + "loc": { + "start": { + "line": 44, + "column": 21 + }, + "end": { + "line": 44, + "column": 22 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1115, + "end": 1117, + "loc": { + "start": { + "line": 44, + "column": 23 + }, + "end": { + "line": 44, + "column": 25 + } + } + }, + { + "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": 1118, + "end": 1122, + "loc": { + "start": { + "line": 44, + "column": 26 + }, + "end": { + "line": 44, + "column": 30 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1122, + "end": 1123, + "loc": { + "start": { + "line": 44, + "column": 30 + }, + "end": { + "line": 44, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "handleBody", + "start": 1123, + "end": 1133, + "loc": { + "start": { + "line": 44, + "column": 31 + }, + "end": { + "line": 44, + "column": 41 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1133, + "end": 1134, + "loc": { + "start": { + "line": 44, + "column": 41 + }, + "end": { + "line": 44, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "body", + "start": 1134, + "end": 1138, + "loc": { + "start": { + "line": 44, + "column": 42 + }, + "end": { + "line": 44, + "column": 46 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1138, + "end": 1139, + "loc": { + "start": { + "line": 44, + "column": 46 + }, + "end": { + "line": 44, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 1140, + "end": 1143, + "loc": { + "start": { + "line": 44, + "column": 48 + }, + "end": { + "line": 44, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1143, + "end": 1144, + "loc": { + "start": { + "line": 44, + "column": 51 + }, + "end": { + "line": 44, + "column": 52 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1144, + "end": 1145, + "loc": { + "start": { + "line": 44, + "column": 52 + }, + "end": { + "line": 44, + "column": 53 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1148, + "end": 1149, + "loc": { + "start": { + "line": 45, + "column": 2 + }, + "end": { + "line": 45, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @returns {Promise} - Message when it's finally\n * downloaded.\n ", + "start": 1153, + "end": 1406, + "loc": { + "start": { + "line": 47, + "column": 2 + }, + "end": { + "line": 53, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "download", + "start": 1409, + "end": 1417, + "loc": { + "start": { + "line": 54, + "column": 2 + }, + "end": { + "line": 54, + "column": 10 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1417, + "end": 1418, + "loc": { + "start": { + "line": 54, + "column": 10 + }, + "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": "endpoint", + "start": 1418, + "end": 1426, + "loc": { + "start": { + "line": 54, + "column": 11 + }, + "end": { + "line": 54, + "column": 19 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1426, + "end": 1427, + "loc": { + "start": { + "line": 54, + "column": 19 + }, + "end": { + "line": 54, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1428, + "end": 1434, + "loc": { + "start": { + "line": 54, + "column": 21 + }, + "end": { + "line": 54, + "column": 27 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1434, + "end": 1435, + "loc": { + "start": { + "line": 54, + "column": 27 + }, + "end": { + "line": 54, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "filePath", + "start": 1436, + "end": 1444, + "loc": { + "start": { + "line": 54, + "column": 29 + }, + "end": { + "line": 54, + "column": 37 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1444, + "end": 1445, + "loc": { + "start": { + "line": 54, + "column": 37 + }, + "end": { + "line": 54, + "column": 38 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1446, + "end": 1452, + "loc": { + "start": { + "line": 54, + "column": 39 + }, + "end": { + "line": 54, + "column": 45 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1452, + "end": 1453, + "loc": { + "start": { + "line": 54, + "column": 45 + }, + "end": { + "line": 54, + "column": 46 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1453, + "end": 1454, + "loc": { + "start": { + "line": 54, + "column": 46 + }, + "end": { + "line": 54, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 1455, + "end": 1462, + "loc": { + "start": { + "line": 54, + "column": 48 + }, + "end": { + "line": 54, + "column": 55 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 1462, + "end": 1463, + "loc": { + "start": { + "line": 54, + "column": 55 + }, + "end": { + "line": 54, + "column": 56 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1463, + "end": 1469, + "loc": { + "start": { + "line": 54, + "column": 56 + }, + "end": { + "line": 54, + "column": 62 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 1470, + "end": 1471, + "loc": { + "start": { + "line": 54, + "column": 63 + }, + "end": { + "line": 54, + "column": 64 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1472, + "end": 1477, + "loc": { + "start": { + "line": 54, + "column": 65 + }, + "end": { + "line": 54, + "column": 70 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 1477, + "end": 1478, + "loc": { + "start": { + "line": 54, + "column": 70 + }, + "end": { + "line": 54, + "column": 71 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1479, + "end": 1480, + "loc": { + "start": { + "line": 54, + "column": 72 + }, + "end": { + "line": 54, + "column": 73 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 1485, + "end": 1490, + "loc": { + "start": { + "line": 55, + "column": 4 + }, + "end": { + "line": 55, + "column": 9 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1491, + "end": 1492, + "loc": { + "start": { + "line": 55, + "column": 10 + }, + "end": { + "line": 55, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 1493, + "end": 1497, + "loc": { + "start": { + "line": 55, + "column": 12 + }, + "end": { + "line": 55, + "column": 16 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1498, + "end": 1499, + "loc": { + "start": { + "line": 55, + "column": 17 + }, + "end": { + "line": 55, + "column": 18 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1500, + "end": 1501, + "loc": { + "start": { + "line": 55, + "column": 19 + }, + "end": { + "line": 55, + "column": 20 + } + } + }, + { + "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": 1502, + "end": 1505, + "loc": { + "start": { + "line": 55, + "column": 21 + }, + "end": { + "line": 55, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "URL", + "start": 1506, + "end": 1509, + "loc": { + "start": { + "line": 55, + "column": 25 + }, + "end": { + "line": 55, + "column": 28 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1509, + "end": 1510, + "loc": { + "start": { + "line": 55, + "column": 28 + }, + "end": { + "line": 55, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 1510, + "end": 1518, + "loc": { + "start": { + "line": 55, + "column": 29 + }, + "end": { + "line": 55, + "column": 37 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1518, + "end": 1519, + "loc": { + "start": { + "line": 55, + "column": 37 + }, + "end": { + "line": 55, + "column": 38 + } + } + }, + { + "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": 1520, + "end": 1524, + "loc": { + "start": { + "line": 55, + "column": 39 + }, + "end": { + "line": 55, + "column": 43 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1524, + "end": 1525, + "loc": { + "start": { + "line": 55, + "column": 43 + }, + "end": { + "line": 55, + "column": 44 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "baseUrl", + "start": 1525, + "end": 1532, + "loc": { + "start": { + "line": 55, + "column": 44 + }, + "end": { + "line": 55, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1532, + "end": 1533, + "loc": { + "start": { + "line": 55, + "column": 51 + }, + "end": { + "line": 55, + "column": 52 + } + } + }, + { + "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": 1538, + "end": 1542, + "loc": { + "start": { + "line": 56, + "column": 4 + }, + "end": { + "line": 56, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1542, + "end": 1543, + "loc": { + "start": { + "line": 56, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "printDebug", + "start": 1543, + "end": 1553, + "loc": { + "start": { + "line": 56, + "column": 9 + }, + "end": { + "line": 56, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1553, + "end": 1554, + "loc": { + "start": { + "line": 56, + "column": 19 + }, + "end": { + "line": 56, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "GET", + "start": 1554, + "end": 1559, + "loc": { + "start": { + "line": 56, + "column": 20 + }, + "end": { + "line": 56, + "column": 25 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1559, + "end": 1560, + "loc": { + "start": { + "line": 56, + "column": 25 + }, + "end": { + "line": 56, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 1561, + "end": 1565, + "loc": { + "start": { + "line": 56, + "column": 27 + }, + "end": { + "line": 56, + "column": 31 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1565, + "end": 1566, + "loc": { + "start": { + "line": 56, + "column": 31 + }, + "end": { + "line": 56, + "column": 32 + } + } + }, + { + "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": 1572, + "end": 1578, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 10 + } + } + }, + { + "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": 1579, + "end": 1582, + "loc": { + "start": { + "line": 58, + "column": 11 + }, + "end": { + "line": 58, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 1583, + "end": 1590, + "loc": { + "start": { + "line": 58, + "column": 15 + }, + "end": { + "line": 58, + "column": 22 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1590, + "end": 1591, + "loc": { + "start": { + "line": 58, + "column": 22 + }, + "end": { + "line": 58, + "column": 23 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1591, + "end": 1592, + "loc": { + "start": { + "line": 58, + "column": 23 + }, + "end": { + "line": 58, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "resolve", + "start": 1592, + "end": 1599, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 31 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1599, + "end": 1600, + "loc": { + "start": { + "line": 58, + "column": 31 + }, + "end": { + "line": 58, + "column": 32 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "reject", + "start": 1601, + "end": 1607, + "loc": { + "start": { + "line": 58, + "column": 33 + }, + "end": { + "line": 58, + "column": 39 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1607, + "end": 1608, + "loc": { + "start": { + "line": 58, + "column": 39 + }, + "end": { + "line": 58, + "column": 40 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1609, + "end": 1611, + "loc": { + "start": { + "line": 58, + "column": 41 + }, + "end": { + "line": 58, + "column": 43 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1612, + "end": 1613, + "loc": { + "start": { + "line": 58, + "column": 44 + }, + "end": { + "line": 58, + "column": 45 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 1620, + "end": 1625, + "loc": { + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 59, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stream", + "start": 1626, + "end": 1632, + "loc": { + "start": { + "line": 59, + "column": 12 + }, + "end": { + "line": 59, + "column": 18 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1633, + "end": 1634, + "loc": { + "start": { + "line": 59, + "column": 19 + }, + "end": { + "line": 59, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "createWriteStream", + "start": 1635, + "end": 1652, + "loc": { + "start": { + "line": 59, + "column": 21 + }, + "end": { + "line": 59, + "column": 38 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1652, + "end": 1653, + "loc": { + "start": { + "line": 59, + "column": 38 + }, + "end": { + "line": 59, + "column": 39 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "filePath", + "start": 1653, + "end": 1661, + "loc": { + "start": { + "line": 59, + "column": 39 + }, + "end": { + "line": 59, + "column": 47 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1661, + "end": 1662, + "loc": { + "start": { + "line": 59, + "column": 47 + }, + "end": { + "line": 59, + "column": 48 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 1669, + "end": 1674, + "loc": { + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 60, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "req", + "start": 1675, + "end": 1678, + "loc": { + "start": { + "line": 60, + "column": 12 + }, + "end": { + "line": 60, + "column": 15 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1679, + "end": 1680, + "loc": { + "start": { + "line": 60, + "column": 16 + }, + "end": { + "line": 60, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "got", + "start": 1681, + "end": 1684, + "loc": { + "start": { + "line": 60, + "column": 18 + }, + "end": { + "line": 60, + "column": 21 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1684, + "end": 1685, + "loc": { + "start": { + "line": 60, + "column": 21 + }, + "end": { + "line": 60, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stream", + "start": 1685, + "end": 1691, + "loc": { + "start": { + "line": 60, + "column": 22 + }, + "end": { + "line": 60, + "column": 28 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1691, + "end": 1692, + "loc": { + "start": { + "line": 60, + "column": 28 + }, + "end": { + "line": 60, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 1692, + "end": 1696, + "loc": { + "start": { + "line": 60, + "column": 29 + }, + "end": { + "line": 60, + "column": 33 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1696, + "end": 1697, + "loc": { + "start": { + "line": 60, + "column": 33 + }, + "end": { + "line": 60, + "column": 34 + } + } + }, + { + "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": 1698, + "end": 1702, + "loc": { + "start": { + "line": 60, + "column": 35 + }, + "end": { + "line": 60, + "column": 39 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1702, + "end": 1703, + "loc": { + "start": { + "line": 60, + "column": 39 + }, + "end": { + "line": 60, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "options", + "start": 1703, + "end": 1710, + "loc": { + "start": { + "line": 60, + "column": 40 + }, + "end": { + "line": 60, + "column": 47 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1710, + "end": 1711, + "loc": { + "start": { + "line": 60, + "column": 47 + }, + "end": { + "line": 60, + "column": 48 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "req", + "start": 1719, + "end": 1722, + "loc": { + "start": { + "line": 62, + "column": 6 + }, + "end": { + "line": 62, + "column": 9 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1722, + "end": 1723, + "loc": { + "start": { + "line": 62, + "column": 9 + }, + "end": { + "line": 62, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "on", + "start": 1723, + "end": 1725, + "loc": { + "start": { + "line": 62, + "column": 10 + }, + "end": { + "line": 62, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1725, + "end": 1726, + "loc": { + "start": { + "line": 62, + "column": 12 + }, + "end": { + "line": 62, + "column": 13 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "error", + "start": 1726, + "end": 1733, + "loc": { + "start": { + "line": 62, + "column": 13 + }, + "end": { + "line": 62, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1733, + "end": 1734, + "loc": { + "start": { + "line": 62, + "column": 20 + }, + "end": { + "line": 62, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "err", + "start": 1735, + "end": 1738, + "loc": { + "start": { + "line": 62, + "column": 22 + }, + "end": { + "line": 62, + "column": 25 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1739, + "end": 1741, + "loc": { + "start": { + "line": 62, + "column": 26 + }, + "end": { + "line": 62, + "column": 28 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1742, + "end": 1743, + "loc": { + "start": { + "line": 62, + "column": 29 + }, + "end": { + "line": 62, + "column": 30 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "req", + "start": 1752, + "end": 1755, + "loc": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 63, + "column": 11 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1755, + "end": 1756, + "loc": { + "start": { + "line": 63, + "column": 11 + }, + "end": { + "line": 63, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "end", + "start": 1756, + "end": 1759, + "loc": { + "start": { + "line": 63, + "column": 12 + }, + "end": { + "line": 63, + "column": 15 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1759, + "end": 1760, + "loc": { + "start": { + "line": 63, + "column": 15 + }, + "end": { + "line": 63, + "column": 16 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1760, + "end": 1761, + "loc": { + "start": { + "line": 63, + "column": 16 + }, + "end": { + "line": 63, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stream", + "start": 1771, + "end": 1777, + "loc": { + "start": { + "line": 65, + "column": 8 + }, + "end": { + "line": 65, + "column": 14 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1777, + "end": 1778, + "loc": { + "start": { + "line": 65, + "column": 14 + }, + "end": { + "line": 65, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "end", + "start": 1778, + "end": 1781, + "loc": { + "start": { + "line": 65, + "column": 15 + }, + "end": { + "line": 65, + "column": 18 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1781, + "end": 1782, + "loc": { + "start": { + "line": 65, + "column": 18 + }, + "end": { + "line": 65, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1782, + "end": 1783, + "loc": { + "start": { + "line": 65, + "column": 19 + }, + "end": { + "line": 65, + "column": 20 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1783, + "end": 1784, + "loc": { + "start": { + "line": 65, + "column": 20 + }, + "end": { + "line": 65, + "column": 21 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1785, + "end": 1787, + "loc": { + "start": { + "line": 65, + "column": 22 + }, + "end": { + "line": 65, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "unlinkSync", + "start": 1788, + "end": 1798, + "loc": { + "start": { + "line": 65, + "column": 25 + }, + "end": { + "line": 65, + "column": 35 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1798, + "end": 1799, + "loc": { + "start": { + "line": 65, + "column": 35 + }, + "end": { + "line": 65, + "column": 36 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "filePath", + "start": 1799, + "end": 1807, + "loc": { + "start": { + "line": 65, + "column": 36 + }, + "end": { + "line": 65, + "column": 44 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1807, + "end": 1808, + "loc": { + "start": { + "line": 65, + "column": 44 + }, + "end": { + "line": 65, + "column": 45 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1808, + "end": 1809, + "loc": { + "start": { + "line": 65, + "column": 45 + }, + "end": { + "line": 65, + "column": 46 + } + } + }, + { + "type": { + "label": "const", + "keyword": "const", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "const", + "start": 1819, + "end": 1824, + "loc": { + "start": { + "line": 67, + "column": 8 + }, + "end": { + "line": 67, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "error", + "start": 1825, + "end": 1830, + "loc": { + "start": { + "line": 67, + "column": 14 + }, + "end": { + "line": 67, + "column": 19 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1831, + "end": 1832, + "loc": { + "start": { + "line": 67, + "column": 20 + }, + "end": { + "line": 67, + "column": 21 + } + } + }, + { + "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": 1833, + "end": 1836, + "loc": { + "start": { + "line": 67, + "column": 22 + }, + "end": { + "line": 67, + "column": 25 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1837, + "end": 1842, + "loc": { + "start": { + "line": 67, + "column": 26 + }, + "end": { + "line": 67, + "column": 31 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1842, + "end": 1843, + "loc": { + "start": { + "line": 67, + "column": 31 + }, + "end": { + "line": 67, + "column": 32 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1854, + "end": 1855, + "loc": { + "start": { + "line": 68, + "column": 10 + }, + "end": { + "line": 68, + "column": 11 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Error on: '", + "start": 1855, + "end": 1866, + "loc": { + "start": { + "line": 68, + "column": 11 + }, + "end": { + "line": 68, + "column": 22 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1866, + "end": 1868, + "loc": { + "start": { + "line": 68, + "column": 22 + }, + "end": { + "line": 68, + "column": 24 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "filePath", + "start": 1868, + "end": 1876, + "loc": { + "start": { + "line": 68, + "column": 24 + }, + "end": { + "line": 68, + "column": 32 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1876, + "end": 1877, + "loc": { + "start": { + "line": 68, + "column": 32 + }, + "end": { + "line": 68, + "column": 33 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "', uri: '", + "start": 1877, + "end": 1886, + "loc": { + "start": { + "line": 68, + "column": 33 + }, + "end": { + "line": 68, + "column": 42 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1886, + "end": 1888, + "loc": { + "start": { + "line": 68, + "column": 42 + }, + "end": { + "line": 68, + "column": 44 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "href", + "start": 1888, + "end": 1892, + "loc": { + "start": { + "line": 68, + "column": 44 + }, + "end": { + "line": 68, + "column": 48 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1892, + "end": 1893, + "loc": { + "start": { + "line": 68, + "column": 48 + }, + "end": { + "line": 68, + "column": 49 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "', ", + "start": 1893, + "end": 1896, + "loc": { + "start": { + "line": 68, + "column": 49 + }, + "end": { + "line": 68, + "column": 52 + } + } + }, + { + "type": { + "label": "${", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1896, + "end": 1898, + "loc": { + "start": { + "line": 68, + "column": 52 + }, + "end": { + "line": 68, + "column": 54 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "err", + "start": 1898, + "end": 1901, + "loc": { + "start": { + "line": 68, + "column": 54 + }, + "end": { + "line": 68, + "column": 57 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1901, + "end": 1902, + "loc": { + "start": { + "line": 68, + "column": 57 + }, + "end": { + "line": 68, + "column": 58 + } + } + }, + { + "type": { + "label": "template", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "", + "start": 1902, + "end": 1902, + "loc": { + "start": { + "line": 68, + "column": 58 + }, + "end": { + "line": 68, + "column": 58 + } + } + }, + { + "type": { + "label": "`", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1902, + "end": 1903, + "loc": { + "start": { + "line": 68, + "column": 58 + }, + "end": { + "line": 68, + "column": 59 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1912, + "end": 1913, + "loc": { + "start": { + "line": 69, + "column": 8 + }, + "end": { + "line": 69, + "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": 1922, + "end": 1928, + "loc": { + "start": { + "line": 70, + "column": 8 + }, + "end": { + "line": 70, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "reject", + "start": 1929, + "end": 1935, + "loc": { + "start": { + "line": 70, + "column": 15 + }, + "end": { + "line": 70, + "column": 21 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1935, + "end": 1936, + "loc": { + "start": { + "line": 70, + "column": 21 + }, + "end": { + "line": 70, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "error", + "start": 1936, + "end": 1941, + "loc": { + "start": { + "line": 70, + "column": 22 + }, + "end": { + "line": 70, + "column": 27 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1941, + "end": 1942, + "loc": { + "start": { + "line": 70, + "column": 27 + }, + "end": { + "line": 70, + "column": 28 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1949, + "end": 1950, + "loc": { + "start": { + "line": 71, + "column": 6 + }, + "end": { + "line": 71, + "column": 7 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1950, + "end": 1951, + "loc": { + "start": { + "line": 71, + "column": 7 + }, + "end": { + "line": 71, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "req", + "start": 1959, + "end": 1962, + "loc": { + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 73, + "column": 9 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1962, + "end": 1963, + "loc": { + "start": { + "line": 73, + "column": 9 + }, + "end": { + "line": 73, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "on", + "start": 1963, + "end": 1965, + "loc": { + "start": { + "line": 73, + "column": 10 + }, + "end": { + "line": 73, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1965, + "end": 1966, + "loc": { + "start": { + "line": 73, + "column": 12 + }, + "end": { + "line": 73, + "column": 13 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "response", + "start": 1966, + "end": 1976, + "loc": { + "start": { + "line": 73, + "column": 13 + }, + "end": { + "line": 73, + "column": 23 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1976, + "end": 1977, + "loc": { + "start": { + "line": 73, + "column": 23 + }, + "end": { + "line": 73, + "column": 24 + } + } + }, + { + "type": { + "label": "function", + "keyword": "function", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "function", + "start": 1978, + "end": 1986, + "loc": { + "start": { + "line": 73, + "column": 25 + }, + "end": { + "line": 73, + "column": 33 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1987, + "end": 1988, + "loc": { + "start": { + "line": 73, + "column": 34 + }, + "end": { + "line": 73, + "column": 35 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1988, + "end": 1989, + "loc": { + "start": { + "line": 73, + "column": 35 + }, + "end": { + "line": 73, + "column": 36 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1990, + "end": 1991, + "loc": { + "start": { + "line": 73, + "column": 37 + }, + "end": { + "line": 73, + "column": 38 + } + } + }, + { + "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": 2000, + "end": 2004, + "loc": { + "start": { + "line": 74, + "column": 8 + }, + "end": { + "line": 74, + "column": 12 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2004, + "end": 2005, + "loc": { + "start": { + "line": 74, + "column": 12 + }, + "end": { + "line": 74, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "pipe", + "start": 2005, + "end": 2009, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 17 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2009, + "end": 2010, + "loc": { + "start": { + "line": 74, + "column": 17 + }, + "end": { + "line": 74, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stream", + "start": 2010, + "end": 2016, + "loc": { + "start": { + "line": 74, + "column": 18 + }, + "end": { + "line": 74, + "column": 24 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2016, + "end": 2017, + "loc": { + "start": { + "line": 74, + "column": 24 + }, + "end": { + "line": 74, + "column": 25 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "stream", + "start": 2026, + "end": 2032, + "loc": { + "start": { + "line": 75, + "column": 8 + }, + "end": { + "line": 75, + "column": 14 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2032, + "end": 2033, + "loc": { + "start": { + "line": 75, + "column": 14 + }, + "end": { + "line": 75, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "on", + "start": 2033, + "end": 2035, + "loc": { + "start": { + "line": 75, + "column": 15 + }, + "end": { + "line": 75, + "column": 17 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2035, + "end": 2036, + "loc": { + "start": { + "line": 75, + "column": 17 + }, + "end": { + "line": 75, + "column": 18 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "finish", + "start": 2036, + "end": 2044, + "loc": { + "start": { + "line": 75, + "column": 18 + }, + "end": { + "line": 75, + "column": 26 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2044, + "end": 2045, + "loc": { + "start": { + "line": 75, + "column": 26 + }, + "end": { + "line": 75, + "column": 27 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2046, + "end": 2047, + "loc": { + "start": { + "line": 75, + "column": 28 + }, + "end": { + "line": 75, + "column": 29 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2047, + "end": 2048, + "loc": { + "start": { + "line": 75, + "column": 29 + }, + "end": { + "line": 75, + "column": 30 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2049, + "end": 2051, + "loc": { + "start": { + "line": 75, + "column": 31 + }, + "end": { + "line": 75, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "resolve", + "start": 2052, + "end": 2059, + "loc": { + "start": { + "line": 75, + "column": 34 + }, + "end": { + "line": 75, + "column": 41 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2059, + "end": 2060, + "loc": { + "start": { + "line": 75, + "column": 41 + }, + "end": { + "line": 75, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "filePath", + "start": 2060, + "end": 2068, + "loc": { + "start": { + "line": 75, + "column": 42 + }, + "end": { + "line": 75, + "column": 50 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2068, + "end": 2069, + "loc": { + "start": { + "line": 75, + "column": 50 + }, + "end": { + "line": 75, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2069, + "end": 2070, + "loc": { + "start": { + "line": 75, + "column": 51 + }, + "end": { + "line": 75, + "column": 52 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2077, + "end": 2078, + "loc": { + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 76, + "column": 7 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2078, + "end": 2079, + "loc": { + "start": { + "line": 76, + "column": 7 + }, + "end": { + "line": 76, + "column": 8 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2084, + "end": 2085, + "loc": { + "start": { + "line": 77, + "column": 4 + }, + "end": { + "line": 77, + "column": 5 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2085, + "end": 2086, + "loc": { + "start": { + "line": 77, + "column": 5 + }, + "end": { + "line": 77, + "column": 6 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2089, + "end": 2090, + "loc": { + "start": { + "line": 78, + "column": 2 + }, + "end": { + "line": 78, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2092, + "end": 2093, + "loc": { + "start": { + "line": 80, + "column": 0 + }, + "end": { + "line": 80, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2094, + "end": 2094, + "loc": { + "start": { + "line": 81, + "column": 0 + }, + "end": { + "line": 81, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/http/IHttpService.js.json b/docs/ast/source/http/IHttpService.js.json new file mode 100644 index 0000000..9e86e18 --- /dev/null +++ b/docs/ast/source/http/IHttpService.js.json @@ -0,0 +1,9138 @@ +{ + "type": "File", + "start": 0, + "end": 3614, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 119, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 3614, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 119, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ExportDefaultDeclaration", + "start": 92, + "end": 3613, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 118, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 107, + "end": 3613, + "loc": { + "start": { + "line": 8, + "column": 15 + }, + "end": { + "line": 118, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 113, + "end": 125, + "loc": { + "start": { + "line": 8, + "column": 21 + }, + "end": { + "line": 8, + "column": 33 + }, + "identifierName": "IHttpService" + }, + "name": "IHttpService", + "leadingComments": null + }, + "superClass": null, + "body": { + "type": "ClassBody", + "start": 126, + "end": 3613, + "loc": { + "start": { + "line": 8, + "column": 34 + }, + "end": { + "line": 118, + "column": 1 + } + }, + "body": [ + { + "type": "ClassMethod", + "start": 516, + "end": 677, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 26, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 516, + "end": 519, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 20, + "column": 5 + }, + "identifierName": "get" + }, + "name": "get", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 525, + "end": 541, + "loc": { + "start": { + "line": 21, + "column": 4 + }, + "end": { + "line": 21, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 533, + "end": 541, + "loc": { + "start": { + "line": 21, + "column": 12 + }, + "end": { + "line": 21, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 535, + "end": 541, + "loc": { + "start": { + "line": 21, + "column": 14 + }, + "end": { + "line": 21, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 547, + "end": 565, + "loc": { + "start": { + "line": 22, + "column": 4 + }, + "end": { + "line": 22, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 547, + "end": 560, + "loc": { + "start": { + "line": 22, + "column": 4 + }, + "end": { + "line": 22, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 552, + "end": 560, + "loc": { + "start": { + "line": 22, + "column": 9 + }, + "end": { + "line": 22, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 554, + "end": 560, + "loc": { + "start": { + "line": 22, + "column": 11 + }, + "end": { + "line": 22, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 554, + "end": 560, + "loc": { + "start": { + "line": 22, + "column": 11 + }, + "end": { + "line": 22, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 563, + "end": 565, + "loc": { + "start": { + "line": 22, + "column": 20 + }, + "end": { + "line": 22, + "column": 22 + } + }, + "properties": [] + } + }, + { + "type": "AssignmentPattern", + "start": 571, + "end": 592, + "loc": { + "start": { + "line": 23, + "column": 4 + }, + "end": { + "line": 23, + "column": 25 + } + }, + "left": { + "type": "Identifier", + "start": 571, + "end": 584, + "loc": { + "start": { + "line": 23, + "column": 4 + }, + "end": { + "line": 23, + "column": 17 + }, + "identifierName": "raw" + }, + "name": "raw", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 575, + "end": 584, + "loc": { + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 23, + "column": 17 + } + }, + "typeAnnotation": { + "type": "BooleanTypeAnnotation", + "start": 577, + "end": 584, + "loc": { + "start": { + "line": 23, + "column": 10 + }, + "end": { + "line": 23, + "column": 17 + } + } + } + } + }, + "right": { + "type": "BooleanLiteral", + "start": 587, + "end": 592, + "loc": { + "start": { + "line": 23, + "column": 20 + }, + "end": { + "line": 23, + "column": 25 + } + }, + "value": false + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 596, + "end": 618, + "loc": { + "start": { + "line": 24, + "column": 3 + }, + "end": { + "line": 24, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 598, + "end": 618, + "loc": { + "start": { + "line": 24, + "column": 5 + }, + "end": { + "line": 24, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 605, + "end": 618, + "loc": { + "start": { + "line": 24, + "column": 12 + }, + "end": { + "line": 24, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 606, + "end": 617, + "loc": { + "start": { + "line": 24, + "column": 13 + }, + "end": { + "line": 24, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 606, + "end": 609, + "loc": { + "start": { + "line": 24, + "column": 13 + }, + "end": { + "line": 24, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 612, + "end": 617, + "loc": { + "start": { + "line": 24, + "column": 19 + }, + "end": { + "line": 24, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 612, + "end": 617, + "loc": { + "start": { + "line": 24, + "column": 19 + }, + "end": { + "line": 24, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 598, + "end": 605, + "loc": { + "start": { + "line": 24, + "column": 5 + }, + "end": { + "line": 24, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 619, + "end": 677, + "loc": { + "start": { + "line": 24, + "column": 26 + }, + "end": { + "line": 26, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 625, + "end": 673, + "loc": { + "start": { + "line": 25, + "column": 4 + }, + "end": { + "line": 25, + "column": 52 + } + }, + "argument": { + "type": "NewExpression", + "start": 631, + "end": 673, + "loc": { + "start": { + "line": 25, + "column": 10 + }, + "end": { + "line": 25, + "column": 52 + } + }, + "callee": { + "type": "Identifier", + "start": 635, + "end": 640, + "loc": { + "start": { + "line": 25, + "column": 14 + }, + "end": { + "line": 25, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 641, + "end": 672, + "loc": { + "start": { + "line": 25, + "column": 20 + }, + "end": { + "line": 25, + "column": 51 + } + }, + "extra": { + "rawValue": "Using default method: 'get'", + "raw": "'Using default method: \\'get\\''" + }, + "value": "Using default method: 'get'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a GET request. \n * @param \n * {!string} [endpoint] - The endpoint to make the GET request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP GET\n * request. \n * @param \n * {?boolean} [raw=false] - Return json object. \n * @throws \n * {Error} - Using default method: 'get' \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 131, + "end": 513, + "loc": { + "start": { + "line": 10, + "column": 2 + }, + "end": { + "line": 19, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @throws {Error} - Using default method: 'post'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 681, + "end": 1010, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 36, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1013, + "end": 1149, + "loc": { + "start": { + "line": 37, + "column": 2 + }, + "end": { + "line": 42, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1013, + "end": 1017, + "loc": { + "start": { + "line": 37, + "column": 2 + }, + "end": { + "line": 37, + "column": 6 + }, + "identifierName": "post" + }, + "name": "post", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1023, + "end": 1039, + "loc": { + "start": { + "line": 38, + "column": 4 + }, + "end": { + "line": 38, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1031, + "end": 1039, + "loc": { + "start": { + "line": 38, + "column": 12 + }, + "end": { + "line": 38, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 1033, + "end": 1039, + "loc": { + "start": { + "line": 38, + "column": 14 + }, + "end": { + "line": 38, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 1045, + "end": 1063, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 1045, + "end": 1058, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1050, + "end": 1058, + "loc": { + "start": { + "line": 39, + "column": 9 + }, + "end": { + "line": 39, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1052, + "end": 1058, + "loc": { + "start": { + "line": 39, + "column": 11 + }, + "end": { + "line": 39, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1052, + "end": 1058, + "loc": { + "start": { + "line": 39, + "column": 11 + }, + "end": { + "line": 39, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 1061, + "end": 1063, + "loc": { + "start": { + "line": 39, + "column": 20 + }, + "end": { + "line": 39, + "column": 22 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1067, + "end": 1089, + "loc": { + "start": { + "line": 40, + "column": 3 + }, + "end": { + "line": 40, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1069, + "end": 1089, + "loc": { + "start": { + "line": 40, + "column": 5 + }, + "end": { + "line": 40, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 1076, + "end": 1089, + "loc": { + "start": { + "line": 40, + "column": 12 + }, + "end": { + "line": 40, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 1077, + "end": 1088, + "loc": { + "start": { + "line": 40, + "column": 13 + }, + "end": { + "line": 40, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 1077, + "end": 1080, + "loc": { + "start": { + "line": 40, + "column": 13 + }, + "end": { + "line": 40, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 1083, + "end": 1088, + "loc": { + "start": { + "line": 40, + "column": 19 + }, + "end": { + "line": 40, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1083, + "end": 1088, + "loc": { + "start": { + "line": 40, + "column": 19 + }, + "end": { + "line": 40, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 1069, + "end": 1076, + "loc": { + "start": { + "line": 40, + "column": 5 + }, + "end": { + "line": 40, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1090, + "end": 1149, + "loc": { + "start": { + "line": 40, + "column": 26 + }, + "end": { + "line": 42, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 1096, + "end": 1145, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 53 + } + }, + "argument": { + "type": "NewExpression", + "start": 1102, + "end": 1145, + "loc": { + "start": { + "line": 41, + "column": 10 + }, + "end": { + "line": 41, + "column": 53 + } + }, + "callee": { + "type": "Identifier", + "start": 1106, + "end": 1111, + "loc": { + "start": { + "line": 41, + "column": 14 + }, + "end": { + "line": 41, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1112, + "end": 1144, + "loc": { + "start": { + "line": 41, + "column": 20 + }, + "end": { + "line": 41, + "column": 52 + } + }, + "extra": { + "rawValue": "Using default method: 'post'", + "raw": "'Using default method: \\'post\\''" + }, + "value": "Using default method: 'post'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a POST request. \n * @param \n * {!string} [endpoint] - The endpoint to make the POST request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP POST\n * request. \n * @throws \n * {Error} - Using default method: 'post' \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 681, + "end": 1010, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 36, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @throws {Error} - Using default method: 'put'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1153, + "end": 1478, + "loc": { + "start": { + "line": 44, + "column": 2 + }, + "end": { + "line": 52, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1481, + "end": 1615, + "loc": { + "start": { + "line": 53, + "column": 2 + }, + "end": { + "line": 58, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1481, + "end": 1484, + "loc": { + "start": { + "line": 53, + "column": 2 + }, + "end": { + "line": 53, + "column": 5 + }, + "identifierName": "put" + }, + "name": "put", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1490, + "end": 1506, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 54, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1498, + "end": 1506, + "loc": { + "start": { + "line": 54, + "column": 12 + }, + "end": { + "line": 54, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 1500, + "end": 1506, + "loc": { + "start": { + "line": 54, + "column": 14 + }, + "end": { + "line": 54, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 1512, + "end": 1530, + "loc": { + "start": { + "line": 55, + "column": 4 + }, + "end": { + "line": 55, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 1512, + "end": 1525, + "loc": { + "start": { + "line": 55, + "column": 4 + }, + "end": { + "line": 55, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1517, + "end": 1525, + "loc": { + "start": { + "line": 55, + "column": 9 + }, + "end": { + "line": 55, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1519, + "end": 1525, + "loc": { + "start": { + "line": 55, + "column": 11 + }, + "end": { + "line": 55, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1519, + "end": 1525, + "loc": { + "start": { + "line": 55, + "column": 11 + }, + "end": { + "line": 55, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 1528, + "end": 1530, + "loc": { + "start": { + "line": 55, + "column": 20 + }, + "end": { + "line": 55, + "column": 22 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1534, + "end": 1556, + "loc": { + "start": { + "line": 56, + "column": 3 + }, + "end": { + "line": 56, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1536, + "end": 1556, + "loc": { + "start": { + "line": 56, + "column": 5 + }, + "end": { + "line": 56, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 1543, + "end": 1556, + "loc": { + "start": { + "line": 56, + "column": 12 + }, + "end": { + "line": 56, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 1544, + "end": 1555, + "loc": { + "start": { + "line": 56, + "column": 13 + }, + "end": { + "line": 56, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 1544, + "end": 1547, + "loc": { + "start": { + "line": 56, + "column": 13 + }, + "end": { + "line": 56, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 1550, + "end": 1555, + "loc": { + "start": { + "line": 56, + "column": 19 + }, + "end": { + "line": 56, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1550, + "end": 1555, + "loc": { + "start": { + "line": 56, + "column": 19 + }, + "end": { + "line": 56, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 1536, + "end": 1543, + "loc": { + "start": { + "line": 56, + "column": 5 + }, + "end": { + "line": 56, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1557, + "end": 1615, + "loc": { + "start": { + "line": 56, + "column": 26 + }, + "end": { + "line": 58, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 1563, + "end": 1611, + "loc": { + "start": { + "line": 57, + "column": 4 + }, + "end": { + "line": 57, + "column": 52 + } + }, + "argument": { + "type": "NewExpression", + "start": 1569, + "end": 1611, + "loc": { + "start": { + "line": 57, + "column": 10 + }, + "end": { + "line": 57, + "column": 52 + } + }, + "callee": { + "type": "Identifier", + "start": 1573, + "end": 1578, + "loc": { + "start": { + "line": 57, + "column": 14 + }, + "end": { + "line": 57, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 1579, + "end": 1610, + "loc": { + "start": { + "line": 57, + "column": 20 + }, + "end": { + "line": 57, + "column": 51 + } + }, + "extra": { + "rawValue": "Using default method: 'put'", + "raw": "'Using default method: \\'put\\''" + }, + "value": "Using default method: 'put'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a PUT request. \n * @param \n * {!string} [endpoint] - The endpoint to make the PUT request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP PUT\n * request. \n * @throws \n * {Error} - Using default method: 'put' \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 1153, + "end": 1478, + "loc": { + "start": { + "line": 44, + "column": 2 + }, + "end": { + "line": 52, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @throws {Error} - Using default method: 'delete'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1619, + "end": 1956, + "loc": { + "start": { + "line": 60, + "column": 2 + }, + "end": { + "line": 68, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1959, + "end": 2099, + "loc": { + "start": { + "line": 69, + "column": 2 + }, + "end": { + "line": 74, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1959, + "end": 1965, + "loc": { + "start": { + "line": 69, + "column": 2 + }, + "end": { + "line": 69, + "column": 8 + }, + "identifierName": "delete" + }, + "name": "delete", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1971, + "end": 1987, + "loc": { + "start": { + "line": 70, + "column": 4 + }, + "end": { + "line": 70, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1979, + "end": 1987, + "loc": { + "start": { + "line": 70, + "column": 12 + }, + "end": { + "line": 70, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 1981, + "end": 1987, + "loc": { + "start": { + "line": 70, + "column": 14 + }, + "end": { + "line": 70, + "column": 20 + } + } + } + } + }, + { + "type": "AssignmentPattern", + "start": 1993, + "end": 2011, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 1993, + "end": 2006, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1998, + "end": 2006, + "loc": { + "start": { + "line": 71, + "column": 9 + }, + "end": { + "line": 71, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2000, + "end": 2006, + "loc": { + "start": { + "line": 71, + "column": 11 + }, + "end": { + "line": 71, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2000, + "end": 2006, + "loc": { + "start": { + "line": 71, + "column": 11 + }, + "end": { + "line": 71, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + "right": { + "type": "ObjectExpression", + "start": 2009, + "end": 2011, + "loc": { + "start": { + "line": 71, + "column": 20 + }, + "end": { + "line": 71, + "column": 22 + } + }, + "properties": [] + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2015, + "end": 2037, + "loc": { + "start": { + "line": 72, + "column": 3 + }, + "end": { + "line": 72, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2017, + "end": 2037, + "loc": { + "start": { + "line": 72, + "column": 5 + }, + "end": { + "line": 72, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2024, + "end": 2037, + "loc": { + "start": { + "line": 72, + "column": 12 + }, + "end": { + "line": 72, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2025, + "end": 2036, + "loc": { + "start": { + "line": 72, + "column": 13 + }, + "end": { + "line": 72, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 2025, + "end": 2028, + "loc": { + "start": { + "line": 72, + "column": 13 + }, + "end": { + "line": 72, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2031, + "end": 2036, + "loc": { + "start": { + "line": 72, + "column": 19 + }, + "end": { + "line": 72, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2031, + "end": 2036, + "loc": { + "start": { + "line": 72, + "column": 19 + }, + "end": { + "line": 72, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2017, + "end": 2024, + "loc": { + "start": { + "line": 72, + "column": 5 + }, + "end": { + "line": 72, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2038, + "end": 2099, + "loc": { + "start": { + "line": 72, + "column": 26 + }, + "end": { + "line": 74, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 2044, + "end": 2095, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 73, + "column": 55 + } + }, + "argument": { + "type": "NewExpression", + "start": 2050, + "end": 2095, + "loc": { + "start": { + "line": 73, + "column": 10 + }, + "end": { + "line": 73, + "column": 55 + } + }, + "callee": { + "type": "Identifier", + "start": 2054, + "end": 2059, + "loc": { + "start": { + "line": 73, + "column": 14 + }, + "end": { + "line": 73, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 2060, + "end": 2094, + "loc": { + "start": { + "line": 73, + "column": 20 + }, + "end": { + "line": 73, + "column": 54 + } + }, + "extra": { + "rawValue": "Using default method: 'delete'", + "raw": "'Using default method: \\'delete\\''" + }, + "value": "Using default method: 'delete'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a DELETE request. \n * @param \n * {!string} [endpoint] - The endpoint to make the DELETE request to. \n * @param \n * {?Object} [opts={}] - The options for the HTTP DELETE\n * request. \n * @throws \n * {Error} - Using default method: 'delete' \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 1619, + "end": 1956, + "loc": { + "start": { + "line": 60, + "column": 2 + }, + "end": { + "line": 68, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @throws {Error} - Using default method: 'download'\n * @returns {Promise} - Message when it's finally downloaded.\n ", + "start": 2103, + "end": 2407, + "loc": { + "start": { + "line": 76, + "column": 2 + }, + "end": { + "line": 82, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2410, + "end": 2543, + "loc": { + "start": { + "line": 83, + "column": 2 + }, + "end": { + "line": 85, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2410, + "end": 2418, + "loc": { + "start": { + "line": 83, + "column": 2 + }, + "end": { + "line": 83, + "column": 10 + }, + "identifierName": "download" + }, + "name": "download", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2419, + "end": 2435, + "loc": { + "start": { + "line": 83, + "column": 11 + }, + "end": { + "line": 83, + "column": 27 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2427, + "end": 2435, + "loc": { + "start": { + "line": 83, + "column": 19 + }, + "end": { + "line": 83, + "column": 27 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2429, + "end": 2435, + "loc": { + "start": { + "line": 83, + "column": 21 + }, + "end": { + "line": 83, + "column": 27 + } + } + } + } + }, + { + "type": "Identifier", + "start": 2437, + "end": 2453, + "loc": { + "start": { + "line": 83, + "column": 29 + }, + "end": { + "line": 83, + "column": 45 + }, + "identifierName": "filePath" + }, + "name": "filePath", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2445, + "end": 2453, + "loc": { + "start": { + "line": 83, + "column": 37 + }, + "end": { + "line": 83, + "column": 45 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2447, + "end": 2453, + "loc": { + "start": { + "line": 83, + "column": 39 + }, + "end": { + "line": 83, + "column": 45 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2454, + "end": 2479, + "loc": { + "start": { + "line": 83, + "column": 46 + }, + "end": { + "line": 83, + "column": 71 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2456, + "end": 2479, + "loc": { + "start": { + "line": 83, + "column": 48 + }, + "end": { + "line": 83, + "column": 71 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 2463, + "end": 2479, + "loc": { + "start": { + "line": 83, + "column": 55 + }, + "end": { + "line": 83, + "column": 71 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 2464, + "end": 2478, + "loc": { + "start": { + "line": 83, + "column": 56 + }, + "end": { + "line": 83, + "column": 70 + } + }, + "types": [ + { + "type": "StringTypeAnnotation", + "start": 2464, + "end": 2470, + "loc": { + "start": { + "line": 83, + "column": 56 + }, + "end": { + "line": 83, + "column": 62 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 2473, + "end": 2478, + "loc": { + "start": { + "line": 83, + "column": 65 + }, + "end": { + "line": 83, + "column": 70 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2473, + "end": 2478, + "loc": { + "start": { + "line": 83, + "column": 65 + }, + "end": { + "line": 83, + "column": 70 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 2456, + "end": 2463, + "loc": { + "start": { + "line": 83, + "column": 48 + }, + "end": { + "line": 83, + "column": 55 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2480, + "end": 2543, + "loc": { + "start": { + "line": 83, + "column": 72 + }, + "end": { + "line": 85, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 2486, + "end": 2539, + "loc": { + "start": { + "line": 84, + "column": 4 + }, + "end": { + "line": 84, + "column": 57 + } + }, + "argument": { + "type": "NewExpression", + "start": 2492, + "end": 2539, + "loc": { + "start": { + "line": 84, + "column": 10 + }, + "end": { + "line": 84, + "column": 57 + } + }, + "callee": { + "type": "Identifier", + "start": 2496, + "end": 2501, + "loc": { + "start": { + "line": 84, + "column": 14 + }, + "end": { + "line": 84, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 2502, + "end": 2538, + "loc": { + "start": { + "line": 84, + "column": 20 + }, + "end": { + "line": 84, + "column": 56 + } + }, + "extra": { + "rawValue": "Using default method: 'download'", + "raw": "'Using default method: \\'download\\''" + }, + "value": "Using default method: 'download'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Request to download an item. \n * @param \n * {!string} endpoint - The uri to the item. \n * @param \n * {!string} filePath - The name of the file to save the item. \n * @throws \n * {Error} - Using default method: 'download' \n * @returns \n * {Promise} - Message when it's finally downloaded. \n", + "start": 2103, + "end": 2407, + "loc": { + "start": { + "line": 76, + "column": 2 + }, + "end": { + "line": 82, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @throws {Error} - Using default method: 'printDebug'\n * @returns {undefined}\n ", + "start": 2547, + "end": 2864, + "loc": { + "start": { + "line": 87, + "column": 2 + }, + "end": { + "line": 94, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 2867, + "end": 2993, + "loc": { + "start": { + "line": 95, + "column": 2 + }, + "end": { + "line": 97, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 2867, + "end": 2877, + "loc": { + "start": { + "line": 95, + "column": 2 + }, + "end": { + "line": 95, + "column": 12 + }, + "identifierName": "printDebug" + }, + "name": "printDebug", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 2878, + "end": 2892, + "loc": { + "start": { + "line": 95, + "column": 13 + }, + "end": { + "line": 95, + "column": 27 + }, + "identifierName": "method" + }, + "name": "method", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2884, + "end": 2892, + "loc": { + "start": { + "line": 95, + "column": 19 + }, + "end": { + "line": 95, + "column": 27 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2886, + "end": 2892, + "loc": { + "start": { + "line": 95, + "column": 21 + }, + "end": { + "line": 95, + "column": 27 + } + } + } + } + }, + { + "type": "Identifier", + "start": 2894, + "end": 2905, + "loc": { + "start": { + "line": 95, + "column": 29 + }, + "end": { + "line": 95, + "column": 40 + }, + "identifierName": "uri" + }, + "name": "uri", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2897, + "end": 2905, + "loc": { + "start": { + "line": 95, + "column": 32 + }, + "end": { + "line": 95, + "column": 40 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 2899, + "end": 2905, + "loc": { + "start": { + "line": 95, + "column": 34 + }, + "end": { + "line": 95, + "column": 40 + } + } + } + } + }, + { + "type": "Identifier", + "start": 2907, + "end": 2920, + "loc": { + "start": { + "line": 95, + "column": 42 + }, + "end": { + "line": 95, + "column": 55 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 2912, + "end": 2920, + "loc": { + "start": { + "line": 95, + "column": 47 + }, + "end": { + "line": 95, + "column": 55 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 2914, + "end": 2920, + "loc": { + "start": { + "line": 95, + "column": 49 + }, + "end": { + "line": 95, + "column": 55 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 2914, + "end": 2920, + "loc": { + "start": { + "line": 95, + "column": 49 + }, + "end": { + "line": 95, + "column": 55 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 2921, + "end": 2927, + "loc": { + "start": { + "line": 95, + "column": 56 + }, + "end": { + "line": 95, + "column": 62 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 2923, + "end": 2927, + "loc": { + "start": { + "line": 95, + "column": 58 + }, + "end": { + "line": 95, + "column": 62 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 2928, + "end": 2993, + "loc": { + "start": { + "line": 95, + "column": 63 + }, + "end": { + "line": 97, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 2934, + "end": 2989, + "loc": { + "start": { + "line": 96, + "column": 4 + }, + "end": { + "line": 96, + "column": 59 + } + }, + "argument": { + "type": "NewExpression", + "start": 2940, + "end": 2989, + "loc": { + "start": { + "line": 96, + "column": 10 + }, + "end": { + "line": 96, + "column": 59 + } + }, + "callee": { + "type": "Identifier", + "start": 2944, + "end": 2949, + "loc": { + "start": { + "line": 96, + "column": 14 + }, + "end": { + "line": 96, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 2950, + "end": 2988, + "loc": { + "start": { + "line": 96, + "column": 20 + }, + "end": { + "line": 96, + "column": 58 + } + }, + "extra": { + "rawValue": "Using default method: 'printDebug'", + "raw": "'Using default method: \\'printDebug\\''" + }, + "value": "Using default method: 'printDebug'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Print the debug message. \n * @param \n * {!string} method - The method of the HTTP request. \n * @param \n * {!string} uri - The uri of the HTTP request. \n * @param \n * {?Object} opts=this._opts - The options for the HTTP request. \n * @throws \n * {Error} - Using default method: 'printDebug' \n * @returns \n * {undefined} \n", + "start": 2547, + "end": 2864, + "loc": { + "start": { + "line": 87, + "column": 2 + }, + "end": { + "line": 94, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @throws {Error} - Using default method: 'request'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2997, + "end": 3431, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 108, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 3434, + "end": 3610, + "loc": { + "start": { + "line": 109, + "column": 2 + }, + "end": { + "line": 116, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 3434, + "end": 3441, + "loc": { + "start": { + "line": 109, + "column": 2 + }, + "end": { + "line": 109, + "column": 9 + }, + "identifierName": "request" + }, + "name": "request", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 3447, + "end": 3461, + "loc": { + "start": { + "line": 110, + "column": 4 + }, + "end": { + "line": 110, + "column": 18 + }, + "identifierName": "method" + }, + "name": "method", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3453, + "end": 3461, + "loc": { + "start": { + "line": 110, + "column": 10 + }, + "end": { + "line": 110, + "column": 18 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 3455, + "end": 3461, + "loc": { + "start": { + "line": 110, + "column": 12 + }, + "end": { + "line": 110, + "column": 18 + } + } + } + } + }, + { + "type": "Identifier", + "start": 3467, + "end": 3483, + "loc": { + "start": { + "line": 111, + "column": 4 + }, + "end": { + "line": 111, + "column": 20 + }, + "identifierName": "endpoint" + }, + "name": "endpoint", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3475, + "end": 3483, + "loc": { + "start": { + "line": 111, + "column": 12 + }, + "end": { + "line": 111, + "column": 20 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 3477, + "end": 3483, + "loc": { + "start": { + "line": 111, + "column": 14 + }, + "end": { + "line": 111, + "column": 20 + } + } + } + } + }, + { + "type": "Identifier", + "start": 3489, + "end": 3502, + "loc": { + "start": { + "line": 112, + "column": 4 + }, + "end": { + "line": 112, + "column": 17 + }, + "identifierName": "opts" + }, + "name": "opts", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3494, + "end": 3502, + "loc": { + "start": { + "line": 112, + "column": 9 + }, + "end": { + "line": 112, + "column": 17 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 3496, + "end": 3502, + "loc": { + "start": { + "line": 112, + "column": 11 + }, + "end": { + "line": 112, + "column": 17 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 3496, + "end": 3502, + "loc": { + "start": { + "line": 112, + "column": 11 + }, + "end": { + "line": 112, + "column": 17 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + }, + { + "type": "Identifier", + "start": 3508, + "end": 3521, + "loc": { + "start": { + "line": 113, + "column": 4 + }, + "end": { + "line": 113, + "column": 17 + }, + "identifierName": "raw" + }, + "name": "raw", + "optional": true, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 3512, + "end": 3521, + "loc": { + "start": { + "line": 113, + "column": 8 + }, + "end": { + "line": 113, + "column": 17 + } + }, + "typeAnnotation": { + "type": "BooleanTypeAnnotation", + "start": 3514, + "end": 3521, + "loc": { + "start": { + "line": 113, + "column": 10 + }, + "end": { + "line": 113, + "column": 17 + } + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 3525, + "end": 3547, + "loc": { + "start": { + "line": 114, + "column": 3 + }, + "end": { + "line": 114, + "column": 25 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 3527, + "end": 3547, + "loc": { + "start": { + "line": 114, + "column": 5 + }, + "end": { + "line": 114, + "column": 25 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 3534, + "end": 3547, + "loc": { + "start": { + "line": 114, + "column": 12 + }, + "end": { + "line": 114, + "column": 25 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 3535, + "end": 3546, + "loc": { + "start": { + "line": 114, + "column": 13 + }, + "end": { + "line": 114, + "column": 24 + } + }, + "types": [ + { + "type": "AnyTypeAnnotation", + "start": 3535, + "end": 3538, + "loc": { + "start": { + "line": 114, + "column": 13 + }, + "end": { + "line": 114, + "column": 16 + } + } + }, + { + "type": "GenericTypeAnnotation", + "start": 3541, + "end": 3546, + "loc": { + "start": { + "line": 114, + "column": 19 + }, + "end": { + "line": 114, + "column": 24 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 3541, + "end": 3546, + "loc": { + "start": { + "line": 114, + "column": 19 + }, + "end": { + "line": 114, + "column": 24 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 3527, + "end": 3534, + "loc": { + "start": { + "line": 114, + "column": 5 + }, + "end": { + "line": 114, + "column": 12 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 3548, + "end": 3610, + "loc": { + "start": { + "line": 114, + "column": 26 + }, + "end": { + "line": 116, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 3554, + "end": 3606, + "loc": { + "start": { + "line": 115, + "column": 4 + }, + "end": { + "line": 115, + "column": 56 + } + }, + "argument": { + "type": "NewExpression", + "start": 3560, + "end": 3606, + "loc": { + "start": { + "line": 115, + "column": 10 + }, + "end": { + "line": 115, + "column": 56 + } + }, + "callee": { + "type": "Identifier", + "start": 3564, + "end": 3569, + "loc": { + "start": { + "line": 115, + "column": 14 + }, + "end": { + "line": 115, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 3570, + "end": 3605, + "loc": { + "start": { + "line": 115, + "column": 20 + }, + "end": { + "line": 115, + "column": 55 + } + }, + "extra": { + "rawValue": "Using default method: 'request'", + "raw": "'Using default method: \\'request\\''" + }, + "value": "Using default method: 'request'" + } + ] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Make a HTTP request. \n * @param \n * {!string} method - The method of the HTTP request. \n * @param \n * {!string} [endpoint] - The endpoint to make the HTTP request to. \n * @param \n * {?Object} [opts] - The options for the HTTP request. \n * @param \n * {?boolean} [raw] - Return the raw body. \n * @throws \n * {Error} - Using default method: 'request' \n * @returns \n * {Promise} - Promise with the HTML loaded in\n * cheerio. \n", + "start": 2997, + "end": 3431, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 108, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface to send HTTP requests.\n * @interface\n * @type {IHttpService}\n ", + "start": 10, + "end": 91, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface to send HTTP requests.\n * @interface\n * @type {IHttpService}\n ", + "start": 10, + "end": 91, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface to send HTTP requests.\n * @interface\n * @type {IHttpService}\n ", + "start": 10, + "end": 91, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a GET request.\n * @param {!string} [endpoint] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @throws {Error} - Using default method: 'get'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 131, + "end": 513, + "loc": { + "start": { + "line": 10, + "column": 2 + }, + "end": { + "line": 19, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @throws {Error} - Using default method: 'post'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 681, + "end": 1010, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 36, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @throws {Error} - Using default method: 'put'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1153, + "end": 1478, + "loc": { + "start": { + "line": 44, + "column": 2 + }, + "end": { + "line": 52, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @throws {Error} - Using default method: 'delete'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1619, + "end": 1956, + "loc": { + "start": { + "line": 60, + "column": 2 + }, + "end": { + "line": 68, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @throws {Error} - Using default method: 'download'\n * @returns {Promise} - Message when it's finally downloaded.\n ", + "start": 2103, + "end": 2407, + "loc": { + "start": { + "line": 76, + "column": 2 + }, + "end": { + "line": 82, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @throws {Error} - Using default method: 'printDebug'\n * @returns {undefined}\n ", + "start": 2547, + "end": 2864, + "loc": { + "start": { + "line": 87, + "column": 2 + }, + "end": { + "line": 94, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @throws {Error} - Using default method: 'request'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2997, + "end": 3431, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 108, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface to send HTTP requests.\n * @interface\n * @type {IHttpService}\n ", + "start": 10, + "end": 91, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "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": 92, + "end": 98, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "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": 99, + "end": 106, + "loc": { + "start": { + "line": 8, + "column": 7 + }, + "end": { + "line": 8, + "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": 107, + "end": 112, + "loc": { + "start": { + "line": 8, + "column": 15 + }, + "end": { + "line": 8, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IHttpService", + "start": 113, + "end": 125, + "loc": { + "start": { + "line": 8, + "column": 21 + }, + "end": { + "line": 8, + "column": 33 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 126, + "end": 127, + "loc": { + "start": { + "line": 8, + "column": 34 + }, + "end": { + "line": 8, + "column": 35 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a GET request.\n * @param {!string} [endpoint] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @throws {Error} - Using default method: 'get'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 131, + "end": 513, + "loc": { + "start": { + "line": 10, + "column": 2 + }, + "end": { + "line": 19, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "get", + "start": 516, + "end": 519, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 20, + "column": 5 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 519, + "end": 520, + "loc": { + "start": { + "line": 20, + "column": 5 + }, + "end": { + "line": 20, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 525, + "end": 533, + "loc": { + "start": { + "line": 21, + "column": 4 + }, + "end": { + "line": 21, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 533, + "end": 534, + "loc": { + "start": { + "line": 21, + "column": 12 + }, + "end": { + "line": 21, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 535, + "end": 541, + "loc": { + "start": { + "line": 21, + "column": 14 + }, + "end": { + "line": 21, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 541, + "end": 542, + "loc": { + "start": { + "line": 21, + "column": 20 + }, + "end": { + "line": 21, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 547, + "end": 551, + "loc": { + "start": { + "line": 22, + "column": 4 + }, + "end": { + "line": 22, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 551, + "end": 552, + "loc": { + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 552, + "end": 553, + "loc": { + "start": { + "line": 22, + "column": 9 + }, + "end": { + "line": 22, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 554, + "end": 560, + "loc": { + "start": { + "line": 22, + "column": 11 + }, + "end": { + "line": 22, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 561, + "end": 562, + "loc": { + "start": { + "line": 22, + "column": 18 + }, + "end": { + "line": 22, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 563, + "end": 564, + "loc": { + "start": { + "line": 22, + "column": 20 + }, + "end": { + "line": 22, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 564, + "end": 565, + "loc": { + "start": { + "line": 22, + "column": 21 + }, + "end": { + "line": 22, + "column": 22 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 565, + "end": 566, + "loc": { + "start": { + "line": 22, + "column": 22 + }, + "end": { + "line": 22, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 571, + "end": 574, + "loc": { + "start": { + "line": 23, + "column": 4 + }, + "end": { + "line": 23, + "column": 7 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 574, + "end": 575, + "loc": { + "start": { + "line": 23, + "column": 7 + }, + "end": { + "line": 23, + "column": 8 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 575, + "end": 576, + "loc": { + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 23, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "boolean", + "start": 577, + "end": 584, + "loc": { + "start": { + "line": 23, + "column": 10 + }, + "end": { + "line": 23, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 585, + "end": 586, + "loc": { + "start": { + "line": 23, + "column": 18 + }, + "end": { + "line": 23, + "column": 19 + } + } + }, + { + "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": 587, + "end": 592, + "loc": { + "start": { + "line": 23, + "column": 20 + }, + "end": { + "line": 23, + "column": 25 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 595, + "end": 596, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 24, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 596, + "end": 597, + "loc": { + "start": { + "line": 24, + "column": 3 + }, + "end": { + "line": 24, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 598, + "end": 605, + "loc": { + "start": { + "line": 24, + "column": 5 + }, + "end": { + "line": 24, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 605, + "end": 606, + "loc": { + "start": { + "line": 24, + "column": 12 + }, + "end": { + "line": 24, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 606, + "end": 609, + "loc": { + "start": { + "line": 24, + "column": 13 + }, + "end": { + "line": 24, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 610, + "end": 611, + "loc": { + "start": { + "line": 24, + "column": 17 + }, + "end": { + "line": 24, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 612, + "end": 617, + "loc": { + "start": { + "line": 24, + "column": 19 + }, + "end": { + "line": 24, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 617, + "end": 618, + "loc": { + "start": { + "line": 24, + "column": 24 + }, + "end": { + "line": 24, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 619, + "end": 620, + "loc": { + "start": { + "line": 24, + "column": 26 + }, + "end": { + "line": 24, + "column": 27 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 625, + "end": 630, + "loc": { + "start": { + "line": 25, + "column": 4 + }, + "end": { + "line": 25, + "column": 9 + } + } + }, + { + "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": 631, + "end": 634, + "loc": { + "start": { + "line": 25, + "column": 10 + }, + "end": { + "line": 25, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 635, + "end": 640, + "loc": { + "start": { + "line": 25, + "column": 14 + }, + "end": { + "line": 25, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 640, + "end": 641, + "loc": { + "start": { + "line": 25, + "column": 19 + }, + "end": { + "line": 25, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'get'", + "start": 641, + "end": 672, + "loc": { + "start": { + "line": 25, + "column": 20 + }, + "end": { + "line": 25, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 672, + "end": 673, + "loc": { + "start": { + "line": 25, + "column": 51 + }, + "end": { + "line": 25, + "column": 52 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 676, + "end": 677, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 26, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @throws {Error} - Using default method: 'post'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 681, + "end": 1010, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 36, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "post", + "start": 1013, + "end": 1017, + "loc": { + "start": { + "line": 37, + "column": 2 + }, + "end": { + "line": 37, + "column": 6 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1017, + "end": 1018, + "loc": { + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 37, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 1023, + "end": 1031, + "loc": { + "start": { + "line": 38, + "column": 4 + }, + "end": { + "line": 38, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1031, + "end": 1032, + "loc": { + "start": { + "line": 38, + "column": 12 + }, + "end": { + "line": 38, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1033, + "end": 1039, + "loc": { + "start": { + "line": 38, + "column": 14 + }, + "end": { + "line": 38, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1039, + "end": 1040, + "loc": { + "start": { + "line": 38, + "column": 20 + }, + "end": { + "line": 38, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 1045, + "end": 1049, + "loc": { + "start": { + "line": 39, + "column": 4 + }, + "end": { + "line": 39, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1049, + "end": 1050, + "loc": { + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 39, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1050, + "end": 1051, + "loc": { + "start": { + "line": 39, + "column": 9 + }, + "end": { + "line": 39, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1052, + "end": 1058, + "loc": { + "start": { + "line": 39, + "column": 11 + }, + "end": { + "line": 39, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1059, + "end": 1060, + "loc": { + "start": { + "line": 39, + "column": 18 + }, + "end": { + "line": 39, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1061, + "end": 1062, + "loc": { + "start": { + "line": 39, + "column": 20 + }, + "end": { + "line": 39, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1062, + "end": 1063, + "loc": { + "start": { + "line": 39, + "column": 21 + }, + "end": { + "line": 39, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1066, + "end": 1067, + "loc": { + "start": { + "line": 40, + "column": 2 + }, + "end": { + "line": 40, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1067, + "end": 1068, + "loc": { + "start": { + "line": 40, + "column": 3 + }, + "end": { + "line": 40, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 1069, + "end": 1076, + "loc": { + "start": { + "line": 40, + "column": 5 + }, + "end": { + "line": 40, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 1076, + "end": 1077, + "loc": { + "start": { + "line": 40, + "column": 12 + }, + "end": { + "line": 40, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 1077, + "end": 1080, + "loc": { + "start": { + "line": 40, + "column": 13 + }, + "end": { + "line": 40, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 1081, + "end": 1082, + "loc": { + "start": { + "line": 40, + "column": 17 + }, + "end": { + "line": 40, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1083, + "end": 1088, + "loc": { + "start": { + "line": 40, + "column": 19 + }, + "end": { + "line": 40, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 1088, + "end": 1089, + "loc": { + "start": { + "line": 40, + "column": 24 + }, + "end": { + "line": 40, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1090, + "end": 1091, + "loc": { + "start": { + "line": 40, + "column": 26 + }, + "end": { + "line": 40, + "column": 27 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 1096, + "end": 1101, + "loc": { + "start": { + "line": 41, + "column": 4 + }, + "end": { + "line": 41, + "column": 9 + } + } + }, + { + "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": 1102, + "end": 1105, + "loc": { + "start": { + "line": 41, + "column": 10 + }, + "end": { + "line": 41, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1106, + "end": 1111, + "loc": { + "start": { + "line": 41, + "column": 14 + }, + "end": { + "line": 41, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1111, + "end": 1112, + "loc": { + "start": { + "line": 41, + "column": 19 + }, + "end": { + "line": 41, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'post'", + "start": 1112, + "end": 1144, + "loc": { + "start": { + "line": 41, + "column": 20 + }, + "end": { + "line": 41, + "column": 52 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1144, + "end": 1145, + "loc": { + "start": { + "line": 41, + "column": 52 + }, + "end": { + "line": 41, + "column": 53 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1148, + "end": 1149, + "loc": { + "start": { + "line": 42, + "column": 2 + }, + "end": { + "line": 42, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @throws {Error} - Using default method: 'put'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1153, + "end": 1478, + "loc": { + "start": { + "line": 44, + "column": 2 + }, + "end": { + "line": 52, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "put", + "start": 1481, + "end": 1484, + "loc": { + "start": { + "line": 53, + "column": 2 + }, + "end": { + "line": 53, + "column": 5 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1484, + "end": 1485, + "loc": { + "start": { + "line": 53, + "column": 5 + }, + "end": { + "line": 53, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 1490, + "end": 1498, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 54, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1498, + "end": 1499, + "loc": { + "start": { + "line": 54, + "column": 12 + }, + "end": { + "line": 54, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1500, + "end": 1506, + "loc": { + "start": { + "line": 54, + "column": 14 + }, + "end": { + "line": 54, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1506, + "end": 1507, + "loc": { + "start": { + "line": 54, + "column": 20 + }, + "end": { + "line": 54, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 1512, + "end": 1516, + "loc": { + "start": { + "line": 55, + "column": 4 + }, + "end": { + "line": 55, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1516, + "end": 1517, + "loc": { + "start": { + "line": 55, + "column": 8 + }, + "end": { + "line": 55, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1517, + "end": 1518, + "loc": { + "start": { + "line": 55, + "column": 9 + }, + "end": { + "line": 55, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1519, + "end": 1525, + "loc": { + "start": { + "line": 55, + "column": 11 + }, + "end": { + "line": 55, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1526, + "end": 1527, + "loc": { + "start": { + "line": 55, + "column": 18 + }, + "end": { + "line": 55, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1528, + "end": 1529, + "loc": { + "start": { + "line": 55, + "column": 20 + }, + "end": { + "line": 55, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1529, + "end": 1530, + "loc": { + "start": { + "line": 55, + "column": 21 + }, + "end": { + "line": 55, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1533, + "end": 1534, + "loc": { + "start": { + "line": 56, + "column": 2 + }, + "end": { + "line": 56, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1534, + "end": 1535, + "loc": { + "start": { + "line": 56, + "column": 3 + }, + "end": { + "line": 56, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 1536, + "end": 1543, + "loc": { + "start": { + "line": 56, + "column": 5 + }, + "end": { + "line": 56, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 1543, + "end": 1544, + "loc": { + "start": { + "line": 56, + "column": 12 + }, + "end": { + "line": 56, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 1544, + "end": 1547, + "loc": { + "start": { + "line": 56, + "column": 13 + }, + "end": { + "line": 56, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 1548, + "end": 1549, + "loc": { + "start": { + "line": 56, + "column": 17 + }, + "end": { + "line": 56, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1550, + "end": 1555, + "loc": { + "start": { + "line": 56, + "column": 19 + }, + "end": { + "line": 56, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 1555, + "end": 1556, + "loc": { + "start": { + "line": 56, + "column": 24 + }, + "end": { + "line": 56, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1557, + "end": 1558, + "loc": { + "start": { + "line": 56, + "column": 26 + }, + "end": { + "line": 56, + "column": 27 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 1563, + "end": 1568, + "loc": { + "start": { + "line": 57, + "column": 4 + }, + "end": { + "line": 57, + "column": 9 + } + } + }, + { + "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": 1569, + "end": 1572, + "loc": { + "start": { + "line": 57, + "column": 10 + }, + "end": { + "line": 57, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1573, + "end": 1578, + "loc": { + "start": { + "line": 57, + "column": 14 + }, + "end": { + "line": 57, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1578, + "end": 1579, + "loc": { + "start": { + "line": 57, + "column": 19 + }, + "end": { + "line": 57, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'put'", + "start": 1579, + "end": 1610, + "loc": { + "start": { + "line": 57, + "column": 20 + }, + "end": { + "line": 57, + "column": 51 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1610, + "end": 1611, + "loc": { + "start": { + "line": 57, + "column": 51 + }, + "end": { + "line": 57, + "column": 52 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1614, + "end": 1615, + "loc": { + "start": { + "line": 58, + "column": 2 + }, + "end": { + "line": 58, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @throws {Error} - Using default method: 'delete'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 1619, + "end": 1956, + "loc": { + "start": { + "line": 60, + "column": 2 + }, + "end": { + "line": 68, + "column": 5 + } + } + }, + { + "type": { + "label": "delete", + "keyword": "delete", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": true, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "delete", + "start": 1959, + "end": 1965, + "loc": { + "start": { + "line": 69, + "column": 2 + }, + "end": { + "line": 69, + "column": 8 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1965, + "end": 1966, + "loc": { + "start": { + "line": 69, + "column": 8 + }, + "end": { + "line": 69, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 1971, + "end": 1979, + "loc": { + "start": { + "line": 70, + "column": 4 + }, + "end": { + "line": 70, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1979, + "end": 1980, + "loc": { + "start": { + "line": 70, + "column": 12 + }, + "end": { + "line": 70, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 1981, + "end": 1987, + "loc": { + "start": { + "line": 70, + "column": 14 + }, + "end": { + "line": 70, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1987, + "end": 1988, + "loc": { + "start": { + "line": 70, + "column": 20 + }, + "end": { + "line": 70, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 1993, + "end": 1997, + "loc": { + "start": { + "line": 71, + "column": 4 + }, + "end": { + "line": 71, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1997, + "end": 1998, + "loc": { + "start": { + "line": 71, + "column": 8 + }, + "end": { + "line": 71, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1998, + "end": 1999, + "loc": { + "start": { + "line": 71, + "column": 9 + }, + "end": { + "line": 71, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 2000, + "end": 2006, + "loc": { + "start": { + "line": 71, + "column": 11 + }, + "end": { + "line": 71, + "column": 17 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 2007, + "end": 2008, + "loc": { + "start": { + "line": 71, + "column": 18 + }, + "end": { + "line": 71, + "column": 19 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2009, + "end": 2010, + "loc": { + "start": { + "line": 71, + "column": 20 + }, + "end": { + "line": 71, + "column": 21 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2010, + "end": 2011, + "loc": { + "start": { + "line": 71, + "column": 21 + }, + "end": { + "line": 71, + "column": 22 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2014, + "end": 2015, + "loc": { + "start": { + "line": 72, + "column": 2 + }, + "end": { + "line": 72, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2015, + "end": 2016, + "loc": { + "start": { + "line": 72, + "column": 3 + }, + "end": { + "line": 72, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2017, + "end": 2024, + "loc": { + "start": { + "line": 72, + "column": 5 + }, + "end": { + "line": 72, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2024, + "end": 2025, + "loc": { + "start": { + "line": 72, + "column": 12 + }, + "end": { + "line": 72, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 2025, + "end": 2028, + "loc": { + "start": { + "line": 72, + "column": 13 + }, + "end": { + "line": 72, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2029, + "end": 2030, + "loc": { + "start": { + "line": 72, + "column": 17 + }, + "end": { + "line": 72, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2031, + "end": 2036, + "loc": { + "start": { + "line": 72, + "column": 19 + }, + "end": { + "line": 72, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2036, + "end": 2037, + "loc": { + "start": { + "line": 72, + "column": 24 + }, + "end": { + "line": 72, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2038, + "end": 2039, + "loc": { + "start": { + "line": 72, + "column": 26 + }, + "end": { + "line": 72, + "column": 27 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 2044, + "end": 2049, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 73, + "column": 9 + } + } + }, + { + "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": 2050, + "end": 2053, + "loc": { + "start": { + "line": 73, + "column": 10 + }, + "end": { + "line": 73, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2054, + "end": 2059, + "loc": { + "start": { + "line": 73, + "column": 14 + }, + "end": { + "line": 73, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2059, + "end": 2060, + "loc": { + "start": { + "line": 73, + "column": 19 + }, + "end": { + "line": 73, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'delete'", + "start": 2060, + "end": 2094, + "loc": { + "start": { + "line": 73, + "column": 20 + }, + "end": { + "line": 73, + "column": 54 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2094, + "end": 2095, + "loc": { + "start": { + "line": 73, + "column": 54 + }, + "end": { + "line": 73, + "column": 55 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2098, + "end": 2099, + "loc": { + "start": { + "line": 74, + "column": 2 + }, + "end": { + "line": 74, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @throws {Error} - Using default method: 'download'\n * @returns {Promise} - Message when it's finally downloaded.\n ", + "start": 2103, + "end": 2407, + "loc": { + "start": { + "line": 76, + "column": 2 + }, + "end": { + "line": 82, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "download", + "start": 2410, + "end": 2418, + "loc": { + "start": { + "line": 83, + "column": 2 + }, + "end": { + "line": 83, + "column": 10 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2418, + "end": 2419, + "loc": { + "start": { + "line": 83, + "column": 10 + }, + "end": { + "line": 83, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 2419, + "end": 2427, + "loc": { + "start": { + "line": 83, + "column": 11 + }, + "end": { + "line": 83, + "column": 19 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2427, + "end": 2428, + "loc": { + "start": { + "line": 83, + "column": 19 + }, + "end": { + "line": 83, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2429, + "end": 2435, + "loc": { + "start": { + "line": 83, + "column": 21 + }, + "end": { + "line": 83, + "column": 27 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2435, + "end": 2436, + "loc": { + "start": { + "line": 83, + "column": 27 + }, + "end": { + "line": 83, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "filePath", + "start": 2437, + "end": 2445, + "loc": { + "start": { + "line": 83, + "column": 29 + }, + "end": { + "line": 83, + "column": 37 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2445, + "end": 2446, + "loc": { + "start": { + "line": 83, + "column": 37 + }, + "end": { + "line": 83, + "column": 38 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2447, + "end": 2453, + "loc": { + "start": { + "line": 83, + "column": 39 + }, + "end": { + "line": 83, + "column": 45 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2453, + "end": 2454, + "loc": { + "start": { + "line": 83, + "column": 45 + }, + "end": { + "line": 83, + "column": 46 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2454, + "end": 2455, + "loc": { + "start": { + "line": 83, + "column": 46 + }, + "end": { + "line": 83, + "column": 47 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 2456, + "end": 2463, + "loc": { + "start": { + "line": 83, + "column": 48 + }, + "end": { + "line": 83, + "column": 55 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 2463, + "end": 2464, + "loc": { + "start": { + "line": 83, + "column": 55 + }, + "end": { + "line": 83, + "column": 56 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2464, + "end": 2470, + "loc": { + "start": { + "line": 83, + "column": 56 + }, + "end": { + "line": 83, + "column": 62 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 2471, + "end": 2472, + "loc": { + "start": { + "line": 83, + "column": 63 + }, + "end": { + "line": 83, + "column": 64 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2473, + "end": 2478, + "loc": { + "start": { + "line": 83, + "column": 65 + }, + "end": { + "line": 83, + "column": 70 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 2478, + "end": 2479, + "loc": { + "start": { + "line": 83, + "column": 70 + }, + "end": { + "line": 83, + "column": 71 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2480, + "end": 2481, + "loc": { + "start": { + "line": 83, + "column": 72 + }, + "end": { + "line": 83, + "column": 73 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 2486, + "end": 2491, + "loc": { + "start": { + "line": 84, + "column": 4 + }, + "end": { + "line": 84, + "column": 9 + } + } + }, + { + "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": 2492, + "end": 2495, + "loc": { + "start": { + "line": 84, + "column": 10 + }, + "end": { + "line": 84, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2496, + "end": 2501, + "loc": { + "start": { + "line": 84, + "column": 14 + }, + "end": { + "line": 84, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2501, + "end": 2502, + "loc": { + "start": { + "line": 84, + "column": 19 + }, + "end": { + "line": 84, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'download'", + "start": 2502, + "end": 2538, + "loc": { + "start": { + "line": 84, + "column": 20 + }, + "end": { + "line": 84, + "column": 56 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2538, + "end": 2539, + "loc": { + "start": { + "line": 84, + "column": 56 + }, + "end": { + "line": 84, + "column": 57 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2542, + "end": 2543, + "loc": { + "start": { + "line": 85, + "column": 2 + }, + "end": { + "line": 85, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @throws {Error} - Using default method: 'printDebug'\n * @returns {undefined}\n ", + "start": 2547, + "end": 2864, + "loc": { + "start": { + "line": 87, + "column": 2 + }, + "end": { + "line": 94, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "printDebug", + "start": 2867, + "end": 2877, + "loc": { + "start": { + "line": 95, + "column": 2 + }, + "end": { + "line": 95, + "column": 12 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2877, + "end": 2878, + "loc": { + "start": { + "line": 95, + "column": 12 + }, + "end": { + "line": 95, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 2878, + "end": 2884, + "loc": { + "start": { + "line": 95, + "column": 13 + }, + "end": { + "line": 95, + "column": 19 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2884, + "end": 2885, + "loc": { + "start": { + "line": 95, + "column": 19 + }, + "end": { + "line": 95, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2886, + "end": 2892, + "loc": { + "start": { + "line": 95, + "column": 21 + }, + "end": { + "line": 95, + "column": 27 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2892, + "end": 2893, + "loc": { + "start": { + "line": 95, + "column": 27 + }, + "end": { + "line": 95, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "uri", + "start": 2894, + "end": 2897, + "loc": { + "start": { + "line": 95, + "column": 29 + }, + "end": { + "line": 95, + "column": 32 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2897, + "end": 2898, + "loc": { + "start": { + "line": 95, + "column": 32 + }, + "end": { + "line": 95, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 2899, + "end": 2905, + "loc": { + "start": { + "line": 95, + "column": 34 + }, + "end": { + "line": 95, + "column": 40 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2905, + "end": 2906, + "loc": { + "start": { + "line": 95, + "column": 40 + }, + "end": { + "line": 95, + "column": 41 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 2907, + "end": 2911, + "loc": { + "start": { + "line": 95, + "column": 42 + }, + "end": { + "line": 95, + "column": 46 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2911, + "end": 2912, + "loc": { + "start": { + "line": 95, + "column": 46 + }, + "end": { + "line": 95, + "column": 47 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2912, + "end": 2913, + "loc": { + "start": { + "line": 95, + "column": 47 + }, + "end": { + "line": 95, + "column": 48 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 2914, + "end": 2920, + "loc": { + "start": { + "line": 95, + "column": 49 + }, + "end": { + "line": 95, + "column": 55 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2920, + "end": 2921, + "loc": { + "start": { + "line": 95, + "column": 55 + }, + "end": { + "line": 95, + "column": 56 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 2921, + "end": 2922, + "loc": { + "start": { + "line": 95, + "column": 56 + }, + "end": { + "line": 95, + "column": 57 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "void", + "start": 2923, + "end": 2927, + "loc": { + "start": { + "line": 95, + "column": 58 + }, + "end": { + "line": 95, + "column": 62 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2928, + "end": 2929, + "loc": { + "start": { + "line": 95, + "column": 63 + }, + "end": { + "line": 95, + "column": 64 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 2934, + "end": 2939, + "loc": { + "start": { + "line": 96, + "column": 4 + }, + "end": { + "line": 96, + "column": 9 + } + } + }, + { + "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": 2940, + "end": 2943, + "loc": { + "start": { + "line": 96, + "column": 10 + }, + "end": { + "line": 96, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 2944, + "end": 2949, + "loc": { + "start": { + "line": 96, + "column": 14 + }, + "end": { + "line": 96, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2949, + "end": 2950, + "loc": { + "start": { + "line": 96, + "column": 19 + }, + "end": { + "line": 96, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'printDebug'", + "start": 2950, + "end": 2988, + "loc": { + "start": { + "line": 96, + "column": 20 + }, + "end": { + "line": 96, + "column": 58 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2988, + "end": 2989, + "loc": { + "start": { + "line": 96, + "column": 58 + }, + "end": { + "line": 96, + "column": 59 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 2992, + "end": 2993, + "loc": { + "start": { + "line": 97, + "column": 2 + }, + "end": { + "line": 97, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @throws {Error} - Using default method: 'request'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n ", + "start": 2997, + "end": 3431, + "loc": { + "start": { + "line": 99, + "column": 2 + }, + "end": { + "line": 108, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "request", + "start": 3434, + "end": 3441, + "loc": { + "start": { + "line": 109, + "column": 2 + }, + "end": { + "line": 109, + "column": 9 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3441, + "end": 3442, + "loc": { + "start": { + "line": 109, + "column": 9 + }, + "end": { + "line": 109, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "method", + "start": 3447, + "end": 3453, + "loc": { + "start": { + "line": 110, + "column": 4 + }, + "end": { + "line": 110, + "column": 10 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3453, + "end": 3454, + "loc": { + "start": { + "line": 110, + "column": 10 + }, + "end": { + "line": 110, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3455, + "end": 3461, + "loc": { + "start": { + "line": 110, + "column": 12 + }, + "end": { + "line": 110, + "column": 18 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3461, + "end": 3462, + "loc": { + "start": { + "line": 110, + "column": 18 + }, + "end": { + "line": 110, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "endpoint", + "start": 3467, + "end": 3475, + "loc": { + "start": { + "line": 111, + "column": 4 + }, + "end": { + "line": 111, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3475, + "end": 3476, + "loc": { + "start": { + "line": 111, + "column": 12 + }, + "end": { + "line": 111, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 3477, + "end": 3483, + "loc": { + "start": { + "line": 111, + "column": 14 + }, + "end": { + "line": 111, + "column": 20 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3483, + "end": 3484, + "loc": { + "start": { + "line": 111, + "column": 20 + }, + "end": { + "line": 111, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "opts", + "start": 3489, + "end": 3493, + "loc": { + "start": { + "line": 112, + "column": 4 + }, + "end": { + "line": 112, + "column": 8 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3493, + "end": 3494, + "loc": { + "start": { + "line": 112, + "column": 8 + }, + "end": { + "line": 112, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3494, + "end": 3495, + "loc": { + "start": { + "line": 112, + "column": 9 + }, + "end": { + "line": 112, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 3496, + "end": 3502, + "loc": { + "start": { + "line": 112, + "column": 11 + }, + "end": { + "line": 112, + "column": 17 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3502, + "end": 3503, + "loc": { + "start": { + "line": 112, + "column": 17 + }, + "end": { + "line": 112, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "raw", + "start": 3508, + "end": 3511, + "loc": { + "start": { + "line": 113, + "column": 4 + }, + "end": { + "line": 113, + "column": 7 + } + } + }, + { + "type": { + "label": "?", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3511, + "end": 3512, + "loc": { + "start": { + "line": 113, + "column": 7 + }, + "end": { + "line": 113, + "column": 8 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3512, + "end": 3513, + "loc": { + "start": { + "line": 113, + "column": 8 + }, + "end": { + "line": 113, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "boolean", + "start": 3514, + "end": 3521, + "loc": { + "start": { + "line": 113, + "column": 10 + }, + "end": { + "line": 113, + "column": 17 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3524, + "end": 3525, + "loc": { + "start": { + "line": 114, + "column": 2 + }, + "end": { + "line": 114, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3525, + "end": 3526, + "loc": { + "start": { + "line": 114, + "column": 3 + }, + "end": { + "line": 114, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 3527, + "end": 3534, + "loc": { + "start": { + "line": 114, + "column": 5 + }, + "end": { + "line": 114, + "column": 12 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 3534, + "end": 3535, + "loc": { + "start": { + "line": 114, + "column": 12 + }, + "end": { + "line": 114, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 3535, + "end": 3538, + "loc": { + "start": { + "line": 114, + "column": 13 + }, + "end": { + "line": 114, + "column": 16 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 3539, + "end": 3540, + "loc": { + "start": { + "line": 114, + "column": 17 + }, + "end": { + "line": 114, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 3541, + "end": 3546, + "loc": { + "start": { + "line": 114, + "column": 19 + }, + "end": { + "line": 114, + "column": 24 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 3546, + "end": 3547, + "loc": { + "start": { + "line": 114, + "column": 24 + }, + "end": { + "line": 114, + "column": 25 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3548, + "end": 3549, + "loc": { + "start": { + "line": 114, + "column": 26 + }, + "end": { + "line": 114, + "column": 27 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 3554, + "end": 3559, + "loc": { + "start": { + "line": 115, + "column": 4 + }, + "end": { + "line": 115, + "column": 9 + } + } + }, + { + "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": 3560, + "end": 3563, + "loc": { + "start": { + "line": 115, + "column": 10 + }, + "end": { + "line": 115, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 3564, + "end": 3569, + "loc": { + "start": { + "line": 115, + "column": 14 + }, + "end": { + "line": 115, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3569, + "end": 3570, + "loc": { + "start": { + "line": 115, + "column": 19 + }, + "end": { + "line": 115, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'request'", + "start": 3570, + "end": 3605, + "loc": { + "start": { + "line": 115, + "column": 20 + }, + "end": { + "line": 115, + "column": 55 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3605, + "end": 3606, + "loc": { + "start": { + "line": 115, + "column": 55 + }, + "end": { + "line": 115, + "column": 56 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3609, + "end": 3610, + "loc": { + "start": { + "line": 116, + "column": 2 + }, + "end": { + "line": 116, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 3612, + "end": 3613, + "loc": { + "start": { + "line": 118, + "column": 0 + }, + "end": { + "line": 118, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 3614, + "end": 3614, + "loc": { + "start": { + "line": 119, + "column": 0 + }, + "end": { + "line": 119, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/http/index.js.json b/docs/ast/source/http/index.js.json new file mode 100644 index 0000000..84dedcd --- /dev/null +++ b/docs/ast/source/http/index.js.json @@ -0,0 +1,647 @@ +{ + "type": "File", + "start": 0, + "end": 171, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 5, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 171, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 5, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ExportNamedDeclaration", + "start": 33, + "end": 88, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 55 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 40, + "end": 59, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 26 + } + }, + "exported": { + "type": "Identifier", + "start": 40, + "end": 59, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 26 + }, + "identifierName": "AbstractHttpService" + }, + "name": "AbstractHttpService", + "leadingComments": null + }, + "leadingComments": null + } + ], + "source": { + "type": "StringLiteral", + "start": 65, + "end": 88, + "loc": { + "start": { + "line": 2, + "column": 32 + }, + "end": { + "line": 2, + "column": 55 + } + }, + "extra": { + "rawValue": "./AbstractHttpService", + "raw": "'./AbstractHttpService'" + }, + "value": "./AbstractHttpService" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Export the neseccary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + } + ], + "exportKind": "value" + }, + { + "type": "ExportNamedDeclaration", + "start": 89, + "end": 128, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 39 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 96, + "end": 107, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 18 + } + }, + "exported": { + "type": "Identifier", + "start": 96, + "end": 107, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 18 + }, + "identifierName": "HttpService" + }, + "name": "HttpService" + } + } + ], + "source": { + "type": "StringLiteral", + "start": 113, + "end": 128, + "loc": { + "start": { + "line": 3, + "column": 24 + }, + "end": { + "line": 3, + "column": 39 + } + }, + "extra": { + "rawValue": "./HttpService", + "raw": "'./HttpService'" + }, + "value": "./HttpService" + }, + "exportKind": "value" + }, + { + "type": "ExportNamedDeclaration", + "start": 129, + "end": 170, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 41 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 136, + "end": 148, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 19 + } + }, + "exported": { + "type": "Identifier", + "start": 136, + "end": 148, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 19 + }, + "identifierName": "IHttpService" + }, + "name": "IHttpService" + } + } + ], + "source": { + "type": "StringLiteral", + "start": 154, + "end": 170, + "loc": { + "start": { + "line": 4, + "column": 25 + }, + "end": { + "line": 4, + "column": 41 + } + }, + "extra": { + "rawValue": "./IHttpService", + "raw": "'./IHttpService'" + }, + "value": "./IHttpService" + }, + "exportKind": "value" + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Export the neseccary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Export the neseccary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "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": 33, + "end": 39, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "AbstractHttpService", + "start": 40, + "end": 59, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 26 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 60, + "end": 64, + "loc": { + "start": { + "line": 2, + "column": 27 + }, + "end": { + "line": 2, + "column": 31 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./AbstractHttpService", + "start": 65, + "end": 88, + "loc": { + "start": { + "line": 2, + "column": 32 + }, + "end": { + "line": 2, + "column": 55 + } + } + }, + { + "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": 89, + "end": 95, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "HttpService", + "start": 96, + "end": 107, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 108, + "end": 112, + "loc": { + "start": { + "line": 3, + "column": 19 + }, + "end": { + "line": 3, + "column": 23 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./HttpService", + "start": 113, + "end": 128, + "loc": { + "start": { + "line": 3, + "column": 24 + }, + "end": { + "line": 3, + "column": 39 + } + } + }, + { + "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": 129, + "end": 135, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IHttpService", + "start": 136, + "end": 148, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 19 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 149, + "end": 153, + "loc": { + "start": { + "line": 4, + "column": 20 + }, + "end": { + "line": 4, + "column": 24 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./IHttpService", + "start": 154, + "end": 170, + "loc": { + "start": { + "line": 4, + "column": 25 + }, + "end": { + "line": 4, + "column": 41 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 171, + "end": 171, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/index.js.json b/docs/ast/source/index.js.json new file mode 100644 index 0000000..ee291c8 --- /dev/null +++ b/docs/ast/source/index.js.json @@ -0,0 +1,933 @@ +{ + "type": "File", + "start": 0, + "end": 186, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 7, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 186, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 7, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ExportNamedDeclaration", + "start": 33, + "end": 64, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 31 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 40, + "end": 47, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 14 + } + }, + "exported": { + "type": "Identifier", + "start": 40, + "end": 47, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 14 + }, + "identifierName": "Context" + }, + "name": "Context", + "leadingComments": null + }, + "leadingComments": null + } + ], + "source": { + "type": "StringLiteral", + "start": 53, + "end": 64, + "loc": { + "start": { + "line": 2, + "column": 20 + }, + "end": { + "line": 2, + "column": 31 + } + }, + "extra": { + "rawValue": "./Context", + "raw": "'./Context'" + }, + "value": "./Context" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + } + ], + "exportKind": "value" + }, + { + "type": "ExportNamedDeclaration", + "start": 65, + "end": 90, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 25 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 72, + "end": 76, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + } + }, + "exported": { + "type": "Identifier", + "start": 72, + "end": 76, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + }, + "identifierName": "Cron" + }, + "name": "Cron" + } + } + ], + "source": { + "type": "StringLiteral", + "start": 82, + "end": 90, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 25 + } + }, + "extra": { + "rawValue": "./Cron", + "raw": "'./Cron'" + }, + "value": "./Cron" + }, + "exportKind": "value" + }, + { + "type": "ExportNamedDeclaration", + "start": 91, + "end": 134, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 43 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 98, + "end": 111, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 20 + } + }, + "exported": { + "type": "Identifier", + "start": 98, + "end": 111, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "end": { + "line": 4, + "column": 20 + }, + "identifierName": "PopApiScraper" + }, + "name": "PopApiScraper" + } + } + ], + "source": { + "type": "StringLiteral", + "start": 117, + "end": 134, + "loc": { + "start": { + "line": 4, + "column": 26 + }, + "end": { + "line": 4, + "column": 43 + } + }, + "extra": { + "rawValue": "./PopApiScraper", + "raw": "'./PopApiScraper'" + }, + "value": "./PopApiScraper" + }, + "exportKind": "value" + }, + { + "type": "ExportAllDeclaration", + "start": 135, + "end": 157, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 22 + } + }, + "source": { + "type": "StringLiteral", + "start": 149, + "end": 157, + "loc": { + "start": { + "line": 5, + "column": 14 + }, + "end": { + "line": 5, + "column": 22 + } + }, + "extra": { + "rawValue": "./http", + "raw": "'./http'" + }, + "value": "./http" + } + }, + { + "type": "ExportAllDeclaration", + "start": 158, + "end": 185, + "loc": { + "start": { + "line": 6, + "column": 0 + }, + "end": { + "line": 6, + "column": 27 + } + }, + "source": { + "type": "StringLiteral", + "start": 172, + "end": 185, + "loc": { + "start": { + "line": 6, + "column": 14 + }, + "end": { + "line": 6, + "column": 27 + } + }, + "extra": { + "rawValue": "./providers", + "raw": "'./providers'" + }, + "value": "./providers" + } + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "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": 33, + "end": 39, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Context", + "start": 40, + "end": 47, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 48, + "end": 52, + "loc": { + "start": { + "line": 2, + "column": 15 + }, + "end": { + "line": 2, + "column": 19 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./Context", + "start": 53, + "end": 64, + "loc": { + "start": { + "line": 2, + "column": 20 + }, + "end": { + "line": 2, + "column": 31 + } + } + }, + { + "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": 65, + "end": 71, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Cron", + "start": 72, + "end": 76, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 77, + "end": 81, + "loc": { + "start": { + "line": 3, + "column": 12 + }, + "end": { + "line": 3, + "column": 16 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./Cron", + "start": 82, + "end": 90, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 25 + } + } + }, + { + "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": 91, + "end": 97, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApiScraper", + "start": 98, + "end": 111, + "loc": { + "start": { + "line": 4, + "column": 7 + }, + "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": "from", + "start": 112, + "end": 116, + "loc": { + "start": { + "line": 4, + "column": 21 + }, + "end": { + "line": 4, + "column": 25 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./PopApiScraper", + "start": 117, + "end": 134, + "loc": { + "start": { + "line": 4, + "column": 26 + }, + "end": { + "line": 4, + "column": 43 + } + } + }, + { + "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": 135, + "end": 141, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 6 + } + } + }, + { + "type": { + "label": "*", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 10, + "updateContext": null + }, + "value": "*", + "start": 142, + "end": 143, + "loc": { + "start": { + "line": 5, + "column": 7 + }, + "end": { + "line": 5, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 144, + "end": 148, + "loc": { + "start": { + "line": 5, + "column": 9 + }, + "end": { + "line": 5, + "column": 13 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./http", + "start": 149, + "end": 157, + "loc": { + "start": { + "line": 5, + "column": 14 + }, + "end": { + "line": 5, + "column": 22 + } + } + }, + { + "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": 158, + "end": 164, + "loc": { + "start": { + "line": 6, + "column": 0 + }, + "end": { + "line": 6, + "column": 6 + } + } + }, + { + "type": { + "label": "*", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 10, + "updateContext": null + }, + "value": "*", + "start": 165, + "end": 166, + "loc": { + "start": { + "line": 6, + "column": 7 + }, + "end": { + "line": 6, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 167, + "end": 171, + "loc": { + "start": { + "line": 6, + "column": 9 + }, + "end": { + "line": 6, + "column": 13 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./providers", + "start": 172, + "end": 185, + "loc": { + "start": { + "line": 6, + "column": 14 + }, + "end": { + "line": 6, + "column": 27 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 186, + "end": 186, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 7, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/providers/AbstractProvider.js.json b/docs/ast/source/providers/AbstractProvider.js.json new file mode 100644 index 0000000..9ae9424 --- /dev/null +++ b/docs/ast/source/providers/AbstractProvider.js.json @@ -0,0 +1,5695 @@ +{ + "type": "File", + "start": 0, + "end": 1846, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 81, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 1846, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 81, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ImportDeclaration", + "start": 34, + "end": 58, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 24 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 41, + "end": 45, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + } + }, + "local": { + "type": "Identifier", + "start": 41, + "end": 45, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + }, + "identifierName": "pMap" + }, + "name": "pMap", + "leadingComments": null + }, + "leadingComments": null + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 51, + "end": 58, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 24 + } + }, + "extra": { + "rawValue": "p-map", + "raw": "'p-map'" + }, + "value": "p-map" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Import the necessary.", + "start": 0, + "end": 24, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 24 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 25, + "end": 33, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + } + ] + }, + { + "type": "ImportDeclaration", + "start": 60, + "end": 95, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 35 + } + }, + "specifiers": [ + { + "type": "ImportDefaultSpecifier", + "start": 67, + "end": 76, + "loc": { + "start": { + "line": 5, + "column": 7 + }, + "end": { + "line": 5, + "column": 16 + } + }, + "local": { + "type": "Identifier", + "start": 67, + "end": 76, + "loc": { + "start": { + "line": 5, + "column": 7 + }, + "end": { + "line": 5, + "column": 16 + }, + "identifierName": "IProvider" + }, + "name": "IProvider" + } + } + ], + "importKind": "value", + "source": { + "type": "StringLiteral", + "start": 82, + "end": 95, + "loc": { + "start": { + "line": 5, + "column": 22 + }, + "end": { + "line": 5, + "column": 35 + } + }, + "extra": { + "rawValue": "./IProvider", + "raw": "'./IProvider'" + }, + "value": "./IProvider", + "leadingComments": null, + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The abstract provider for the strategy pattern.\n * @implements {IProvider}\n * @type {AbstractProvider}\n ", + "start": 97, + "end": 210, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 11, + "column": 3 + } + } + } + ] + }, + { + "type": "ExportDefaultDeclaration", + "start": 211, + "end": 1845, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 80, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 226, + "end": 1845, + "loc": { + "start": { + "line": 12, + "column": 15 + }, + "end": { + "line": 80, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 232, + "end": 248, + "loc": { + "start": { + "line": 12, + "column": 21 + }, + "end": { + "line": 12, + "column": 37 + }, + "identifierName": "AbstractProvider" + }, + "name": "AbstractProvider", + "leadingComments": null + }, + "superClass": { + "type": "Identifier", + "start": 257, + "end": 266, + "loc": { + "start": { + "line": 12, + "column": 46 + }, + "end": { + "line": 12, + "column": 55 + }, + "identifierName": "IProvider" + }, + "name": "IProvider" + }, + "body": { + "type": "ClassBody", + "start": 267, + "end": 1845, + "loc": { + "start": { + "line": 12, + "column": 56 + }, + "end": { + "line": 80, + "column": 1 + } + }, + "body": [ + { + "type": "ClassProperty", + "start": 344, + "end": 356, + "loc": { + "start": { + "line": 18, + "column": 2 + }, + "end": { + "line": 18, + "column": 14 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 344, + "end": 348, + "loc": { + "start": { + "line": 18, + "column": 2 + }, + "end": { + "line": 18, + "column": 6 + }, + "identifierName": "name" + }, + "name": "name", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 348, + "end": 356, + "loc": { + "start": { + "line": 18, + "column": 6 + }, + "end": { + "line": 18, + "column": 14 + } + }, + "typeAnnotation": { + "type": "StringTypeAnnotation", + "start": 350, + "end": 356, + "loc": { + "start": { + "line": 18, + "column": 8 + }, + "end": { + "line": 18, + "column": 14 + } + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The name of the abstract provider. \n * @type \n * {string} \n * @type \n * {string} \n", + "start": 272, + "end": 341, + "loc": { + "start": { + "line": 14, + "column": 2 + }, + "end": { + "line": 17, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 360, + "end": 435, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 23, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 438, + "end": 460, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 24, + "column": 24 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 438, + "end": 452, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 24, + "column": 16 + }, + "identifierName": "maxWebRequests" + }, + "name": "maxWebRequests", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 452, + "end": 460, + "loc": { + "start": { + "line": 24, + "column": 16 + }, + "end": { + "line": 24, + "column": 24 + } + }, + "typeAnnotation": { + "type": "NumberTypeAnnotation", + "start": 454, + "end": 460, + "loc": { + "start": { + "line": 24, + "column": 18 + }, + "end": { + "line": 24, + "column": 24 + } + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The max allowed concurrent web requests. \n * @type \n * {number} \n * @type \n * {number} \n", + "start": 360, + "end": 435, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 23, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The configs fro the abstract provider.\n * @type {Array}\n ", + "start": 464, + "end": 544, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 29, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassProperty", + "start": 547, + "end": 569, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 30, + "column": 24 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 547, + "end": 554, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 30, + "column": 9 + }, + "identifierName": "configs" + }, + "name": "configs", + "leadingComments": null + }, + "variance": null, + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 554, + "end": 569, + "loc": { + "start": { + "line": 30, + "column": 9 + }, + "end": { + "line": 30, + "column": 24 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 556, + "end": 569, + "loc": { + "start": { + "line": 30, + "column": 11 + }, + "end": { + "line": 30, + "column": 24 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 561, + "end": 569, + "loc": { + "start": { + "line": 30, + "column": 16 + }, + "end": { + "line": 30, + "column": 24 + } + }, + "params": [ + { + "type": "GenericTypeAnnotation", + "start": 562, + "end": 568, + "loc": { + "start": { + "line": 30, + "column": 17 + }, + "end": { + "line": 30, + "column": 23 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 562, + "end": 568, + "loc": { + "start": { + "line": 30, + "column": 17 + }, + "end": { + "line": 30, + "column": 23 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + ], + "trailingComments": null + }, + "id": { + "type": "Identifier", + "start": 556, + "end": 561, + "loc": { + "start": { + "line": 30, + "column": 11 + }, + "end": { + "line": 30, + "column": 16 + }, + "identifierName": "Array" + }, + "name": "Array" + }, + "trailingComments": null + }, + "trailingComments": null + }, + "value": null, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * The configs fro the abstract provider. \n * @type \n * {Array} \n * @type \n * {Array} \n", + "start": 464, + "end": 544, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 29, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a nwe AbstractProvider object.\n * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance.\n * @param {!Object} options - The options for the AbstractProvider.\n * @param {!string} name - The name of the AbstractProvider.\n * @param {!Array} options.configs - The configurations of the\n * provider.\n * @param {!number} [maxWebRequests=2] - The max allowed concurrent web\n * requests.\n ", + "start": 573, + "end": 1007, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 41, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1010, + "end": 1498, + "loc": { + "start": { + "line": 42, + "column": 2 + }, + "end": { + "line": 64, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1010, + "end": 1021, + "loc": { + "start": { + "line": 42, + "column": 2 + }, + "end": { + "line": 42, + "column": 13 + }, + "identifierName": "constructor" + }, + "name": "constructor", + "leadingComments": null + }, + "kind": "constructor", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1022, + "end": 1040, + "loc": { + "start": { + "line": 42, + "column": 14 + }, + "end": { + "line": 42, + "column": 32 + }, + "identifierName": "PopApiScraper" + }, + "name": "PopApiScraper", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1035, + "end": 1040, + "loc": { + "start": { + "line": 42, + "column": 27 + }, + "end": { + "line": 42, + "column": 32 + } + }, + "typeAnnotation": { + "type": "AnyTypeAnnotation", + "start": 1037, + "end": 1040, + "loc": { + "start": { + "line": 42, + "column": 29 + }, + "end": { + "line": 42, + "column": 32 + } + } + } + } + }, + { + "type": "ObjectPattern", + "start": 1042, + "end": 1101, + "loc": { + "start": { + "line": 42, + "column": 34 + }, + "end": { + "line": 46, + "column": 11 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1048, + "end": 1052, + "loc": { + "start": { + "line": 43, + "column": 4 + }, + "end": { + "line": 43, + "column": 8 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1048, + "end": 1052, + "loc": { + "start": { + "line": 43, + "column": 4 + }, + "end": { + "line": 43, + "column": 8 + }, + "identifierName": "name" + }, + "name": "name" + }, + "value": { + "type": "Identifier", + "start": 1048, + "end": 1052, + "loc": { + "start": { + "line": 43, + "column": 4 + }, + "end": { + "line": 43, + "column": 8 + }, + "identifierName": "name" + }, + "name": "name" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 1058, + "end": 1065, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 44, + "column": 11 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1058, + "end": 1065, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 44, + "column": 11 + }, + "identifierName": "configs" + }, + "name": "configs" + }, + "value": { + "type": "Identifier", + "start": 1058, + "end": 1065, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 44, + "column": 11 + }, + "identifierName": "configs" + }, + "name": "configs" + }, + "extra": { + "shorthand": true + } + }, + { + "type": "ObjectProperty", + "start": 1071, + "end": 1089, + "loc": { + "start": { + "line": 45, + "column": 4 + }, + "end": { + "line": 45, + "column": 22 + } + }, + "method": false, + "shorthand": true, + "computed": false, + "key": { + "type": "Identifier", + "start": 1071, + "end": 1085, + "loc": { + "start": { + "line": 45, + "column": 4 + }, + "end": { + "line": 45, + "column": 18 + }, + "identifierName": "maxWebRequests" + }, + "name": "maxWebRequests" + }, + "value": { + "type": "AssignmentPattern", + "start": 1071, + "end": 1089, + "loc": { + "start": { + "line": 45, + "column": 4 + }, + "end": { + "line": 45, + "column": 22 + } + }, + "left": { + "type": "Identifier", + "start": 1071, + "end": 1085, + "loc": { + "start": { + "line": 45, + "column": 4 + }, + "end": { + "line": 45, + "column": 18 + }, + "identifierName": "maxWebRequests" + }, + "name": "maxWebRequests" + }, + "right": { + "type": "NumericLiteral", + "start": 1088, + "end": 1089, + "loc": { + "start": { + "line": 45, + "column": 21 + }, + "end": { + "line": 45, + "column": 22 + } + }, + "extra": { + "rawValue": 2, + "raw": "2" + }, + "value": 2 + } + }, + "extra": { + "shorthand": true + } + } + ], + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 1093, + "end": 1101, + "loc": { + "start": { + "line": 46, + "column": 3 + }, + "end": { + "line": 46, + "column": 11 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1095, + "end": 1101, + "loc": { + "start": { + "line": 46, + "column": 5 + }, + "end": { + "line": 46, + "column": 11 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1095, + "end": 1101, + "loc": { + "start": { + "line": 46, + "column": 5 + }, + "end": { + "line": 46, + "column": 11 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 1102, + "end": 1108, + "loc": { + "start": { + "line": 46, + "column": 12 + }, + "end": { + "line": 46, + "column": 18 + } + }, + "typeAnnotation": { + "type": "VoidTypeAnnotation", + "start": 1104, + "end": 1108, + "loc": { + "start": { + "line": 46, + "column": 14 + }, + "end": { + "line": 46, + "column": 18 + } + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1109, + "end": 1498, + "loc": { + "start": { + "line": 46, + "column": 19 + }, + "end": { + "line": 64, + "column": 3 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 1115, + "end": 1122, + "loc": { + "start": { + "line": 47, + "column": 4 + }, + "end": { + "line": 47, + "column": 11 + } + }, + "expression": { + "type": "CallExpression", + "start": 1115, + "end": 1122, + "loc": { + "start": { + "line": 47, + "column": 4 + }, + "end": { + "line": 47, + "column": 11 + } + }, + "callee": { + "type": "Super", + "start": 1115, + "end": 1120, + "loc": { + "start": { + "line": 47, + "column": 4 + }, + "end": { + "line": 47, + "column": 9 + } + } + }, + "arguments": [], + "trailingComments": null + }, + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The name of the abstract provider.\n * @type {string}\n ", + "start": 1128, + "end": 1203, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1208, + "end": 1249, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 45 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1208, + "end": 1249, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 45 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1208, + "end": 1217, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 13 + } + }, + "object": { + "type": "ThisExpression", + "start": 1208, + "end": 1212, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1213, + "end": 1217, + "loc": { + "start": { + "line": 53, + "column": 9 + }, + "end": { + "line": 53, + "column": 13 + }, + "identifierName": "name" + }, + "name": "name" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "LogicalExpression", + "start": 1220, + "end": 1249, + "loc": { + "start": { + "line": 53, + "column": 16 + }, + "end": { + "line": 53, + "column": 45 + } + }, + "left": { + "type": "Identifier", + "start": 1220, + "end": 1224, + "loc": { + "start": { + "line": 53, + "column": 16 + }, + "end": { + "line": 53, + "column": 20 + }, + "identifierName": "name" + }, + "name": "name" + }, + "operator": "||", + "right": { + "type": "MemberExpression", + "start": 1228, + "end": 1249, + "loc": { + "start": { + "line": 53, + "column": 24 + }, + "end": { + "line": 53, + "column": 45 + } + }, + "object": { + "type": "MemberExpression", + "start": 1228, + "end": 1244, + "loc": { + "start": { + "line": 53, + "column": 24 + }, + "end": { + "line": 53, + "column": 40 + } + }, + "object": { + "type": "ThisExpression", + "start": 1228, + "end": 1232, + "loc": { + "start": { + "line": 53, + "column": 24 + }, + "end": { + "line": 53, + "column": 28 + } + } + }, + "property": { + "type": "Identifier", + "start": 1233, + "end": 1244, + "loc": { + "start": { + "line": 53, + "column": 29 + }, + "end": { + "line": 53, + "column": 40 + }, + "identifierName": "constructor" + }, + "name": "constructor" + }, + "computed": false + }, + "property": { + "type": "Identifier", + "start": 1245, + "end": 1249, + "loc": { + "start": { + "line": 53, + "column": 41 + }, + "end": { + "line": 53, + "column": 45 + }, + "identifierName": "name" + }, + "name": "name", + "leadingComments": null, + "trailingComments": null + }, + "computed": false, + "trailingComments": null + }, + "trailingComments": null + }, + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The name of the abstract provider.\n * @type {string}\n ", + "start": 1128, + "end": 1203, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 1254, + "end": 1335, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1340, + "end": 1376, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 40 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1340, + "end": 1376, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 40 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1340, + "end": 1359, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 23 + } + }, + "object": { + "type": "ThisExpression", + "start": 1340, + "end": 1344, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1345, + "end": 1359, + "loc": { + "start": { + "line": 58, + "column": 9 + }, + "end": { + "line": 58, + "column": 23 + }, + "identifierName": "maxWebRequests" + }, + "name": "maxWebRequests" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1362, + "end": 1376, + "loc": { + "start": { + "line": 58, + "column": 26 + }, + "end": { + "line": 58, + "column": 40 + }, + "identifierName": "maxWebRequests" + }, + "name": "maxWebRequests", + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": null, + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 1254, + "end": 1335, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The configs for the abstract provider.\n * @type {Array}\n ", + "start": 1381, + "end": 1467, + "loc": { + "start": { + "line": 59, + "column": 4 + }, + "end": { + "line": 62, + "column": 7 + } + } + } + ] + }, + { + "type": "ExpressionStatement", + "start": 1472, + "end": 1494, + "loc": { + "start": { + "line": 63, + "column": 4 + }, + "end": { + "line": 63, + "column": 26 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 1472, + "end": 1494, + "loc": { + "start": { + "line": 63, + "column": 4 + }, + "end": { + "line": 63, + "column": 26 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 1472, + "end": 1484, + "loc": { + "start": { + "line": 63, + "column": 4 + }, + "end": { + "line": 63, + "column": 16 + } + }, + "object": { + "type": "ThisExpression", + "start": 1472, + "end": 1476, + "loc": { + "start": { + "line": 63, + "column": 4 + }, + "end": { + "line": 63, + "column": 8 + } + }, + "leadingComments": null + }, + "property": { + "type": "Identifier", + "start": 1477, + "end": 1484, + "loc": { + "start": { + "line": 63, + "column": 9 + }, + "end": { + "line": 63, + "column": 16 + }, + "identifierName": "configs" + }, + "name": "configs" + }, + "computed": false, + "leadingComments": null + }, + "right": { + "type": "Identifier", + "start": 1487, + "end": 1494, + "loc": { + "start": { + "line": 63, + "column": 19 + }, + "end": { + "line": 63, + "column": 26 + }, + "identifierName": "configs" + }, + "name": "configs" + }, + "leadingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The configs for the abstract provider.\n * @type {Array}\n ", + "start": 1381, + "end": 1467, + "loc": { + "start": { + "line": 59, + "column": 4 + }, + "end": { + "line": 62, + "column": 7 + } + } + } + ] + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Create a nwe AbstractProvider object.\n * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance.\n * @param {!Object} options - The options for the AbstractProvider.\n * @param {!string} name - The name of the AbstractProvider.\n * @param {!Array} options.configs - The configurations of the\n * provider.\n * @param {!number} [maxWebRequests=2] - The max allowed concurrent web\n * requests.\n ", + "start": 573, + "end": 1007, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 41, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Get the contents for the configurations.\n * @override\n * @returns {Promise, Error>} - The results of the scraped\n * configurations.\n ", + "start": 1502, + "end": 1668, + "loc": { + "start": { + "line": 66, + "column": 2 + }, + "end": { + "line": 71, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 1671, + "end": 1842, + "loc": { + "start": { + "line": 72, + "column": 2 + }, + "end": { + "line": 78, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1671, + "end": 1684, + "loc": { + "start": { + "line": 72, + "column": 2 + }, + "end": { + "line": 72, + "column": 15 + }, + "identifierName": "scrapeConfigs" + }, + "name": "scrapeConfigs", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [], + "returnType": { + "type": "TypeAnnotation", + "start": 1686, + "end": 1718, + "loc": { + "start": { + "line": 72, + "column": 17 + }, + "end": { + "line": 72, + "column": 49 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 1688, + "end": 1718, + "loc": { + "start": { + "line": 72, + "column": 19 + }, + "end": { + "line": 72, + "column": 49 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 1695, + "end": 1718, + "loc": { + "start": { + "line": 72, + "column": 26 + }, + "end": { + "line": 72, + "column": 49 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 1696, + "end": 1717, + "loc": { + "start": { + "line": 72, + "column": 27 + }, + "end": { + "line": 72, + "column": 48 + } + }, + "types": [ + { + "type": "GenericTypeAnnotation", + "start": 1696, + "end": 1709, + "loc": { + "start": { + "line": 72, + "column": 27 + }, + "end": { + "line": 72, + "column": 40 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 1701, + "end": 1709, + "loc": { + "start": { + "line": 72, + "column": 32 + }, + "end": { + "line": 72, + "column": 40 + } + }, + "params": [ + { + "type": "GenericTypeAnnotation", + "start": 1702, + "end": 1708, + "loc": { + "start": { + "line": 72, + "column": 33 + }, + "end": { + "line": 72, + "column": 39 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1702, + "end": 1708, + "loc": { + "start": { + "line": 72, + "column": 33 + }, + "end": { + "line": 72, + "column": 39 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + ] + }, + "id": { + "type": "Identifier", + "start": 1696, + "end": 1701, + "loc": { + "start": { + "line": 72, + "column": 27 + }, + "end": { + "line": 72, + "column": 32 + }, + "identifierName": "Array" + }, + "name": "Array" + } + }, + { + "type": "GenericTypeAnnotation", + "start": 1712, + "end": 1717, + "loc": { + "start": { + "line": 72, + "column": 43 + }, + "end": { + "line": 72, + "column": 48 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 1712, + "end": 1717, + "loc": { + "start": { + "line": 72, + "column": 43 + }, + "end": { + "line": 72, + "column": 48 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 1688, + "end": 1695, + "loc": { + "start": { + "line": 72, + "column": 19 + }, + "end": { + "line": 72, + "column": 26 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 1719, + "end": 1842, + "loc": { + "start": { + "line": 72, + "column": 50 + }, + "end": { + "line": 78, + "column": 3 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 1725, + "end": 1838, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 77, + "column": 6 + } + }, + "argument": { + "type": "CallExpression", + "start": 1732, + "end": 1838, + "loc": { + "start": { + "line": 73, + "column": 11 + }, + "end": { + "line": 77, + "column": 6 + } + }, + "callee": { + "type": "Identifier", + "start": 1732, + "end": 1736, + "loc": { + "start": { + "line": 73, + "column": 11 + }, + "end": { + "line": 73, + "column": 15 + }, + "identifierName": "pMap" + }, + "name": "pMap" + }, + "arguments": [ + { + "type": "MemberExpression", + "start": 1737, + "end": 1749, + "loc": { + "start": { + "line": 73, + "column": 16 + }, + "end": { + "line": 73, + "column": 28 + } + }, + "object": { + "type": "ThisExpression", + "start": 1737, + "end": 1741, + "loc": { + "start": { + "line": 73, + "column": 16 + }, + "end": { + "line": 73, + "column": 20 + } + } + }, + "property": { + "type": "Identifier", + "start": 1742, + "end": 1749, + "loc": { + "start": { + "line": 73, + "column": 21 + }, + "end": { + "line": 73, + "column": 28 + }, + "identifierName": "configs" + }, + "name": "configs" + }, + "computed": false + }, + { + "type": "ArrowFunctionExpression", + "start": 1751, + "end": 1807, + "loc": { + "start": { + "line": 73, + "column": 30 + }, + "end": { + "line": 75, + "column": 5 + } + }, + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 1751, + "end": 1757, + "loc": { + "start": { + "line": 73, + "column": 30 + }, + "end": { + "line": 73, + "column": 36 + }, + "identifierName": "config" + }, + "name": "config" + } + ], + "body": { + "type": "BlockStatement", + "start": 1761, + "end": 1807, + "loc": { + "start": { + "line": 73, + "column": 40 + }, + "end": { + "line": 75, + "column": 5 + } + }, + "body": [ + { + "type": "ReturnStatement", + "start": 1769, + "end": 1801, + "loc": { + "start": { + "line": 74, + "column": 6 + }, + "end": { + "line": 74, + "column": 38 + } + }, + "argument": { + "type": "CallExpression", + "start": 1776, + "end": 1801, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 38 + } + }, + "callee": { + "type": "MemberExpression", + "start": 1776, + "end": 1793, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 30 + } + }, + "object": { + "type": "ThisExpression", + "start": 1776, + "end": 1780, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 17 + } + } + }, + "property": { + "type": "Identifier", + "start": 1781, + "end": 1793, + "loc": { + "start": { + "line": 74, + "column": 18 + }, + "end": { + "line": 74, + "column": 30 + }, + "identifierName": "scrapeConfig" + }, + "name": "scrapeConfig" + }, + "computed": false + }, + "arguments": [ + { + "type": "Identifier", + "start": 1794, + "end": 1800, + "loc": { + "start": { + "line": 74, + "column": 31 + }, + "end": { + "line": 74, + "column": 37 + }, + "identifierName": "config" + }, + "name": "config" + } + ] + } + } + ], + "directives": [] + } + }, + { + "type": "ObjectExpression", + "start": 1809, + "end": 1837, + "loc": { + "start": { + "line": 75, + "column": 7 + }, + "end": { + "line": 77, + "column": 5 + } + }, + "properties": [ + { + "type": "ObjectProperty", + "start": 1817, + "end": 1831, + "loc": { + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 76, + "column": 20 + } + }, + "method": false, + "shorthand": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 1817, + "end": 1828, + "loc": { + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 76, + "column": 17 + }, + "identifierName": "concurrency" + }, + "name": "concurrency" + }, + "value": { + "type": "NumericLiteral", + "start": 1830, + "end": 1831, + "loc": { + "start": { + "line": 76, + "column": 19 + }, + "end": { + "line": 76, + "column": 20 + } + }, + "extra": { + "rawValue": 1, + "raw": "1" + }, + "value": 1 + } + } + ] + } + ] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Get the contents for the configurations. \n * @override \n * \n * @returns \n * {Promise, Error>} - The results of the scraped\n * configurations. \n", + "start": 1502, + "end": 1668, + "loc": { + "start": { + "line": 66, + "column": 2 + }, + "end": { + "line": 71, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The abstract provider for the strategy pattern.\n * @implements {IProvider}\n * @type {AbstractProvider}\n ", + "start": 97, + "end": 210, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 11, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * The abstract provider for the strategy pattern.\n * @implements {IProvider}\n * @type {AbstractProvider}\n ", + "start": 97, + "end": 210, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 11, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Import the necessary.", + "start": 0, + "end": 24, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 24 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 25, + "end": 33, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The abstract provider for the strategy pattern.\n * @implements {IProvider}\n * @type {AbstractProvider}\n ", + "start": 97, + "end": 210, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 11, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The name of the abstract provider.\n * @type {string}\n ", + "start": 272, + "end": 341, + "loc": { + "start": { + "line": 14, + "column": 2 + }, + "end": { + "line": 17, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 360, + "end": 435, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 23, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The configs fro the abstract provider.\n * @type {Array}\n ", + "start": 464, + "end": 544, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 29, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a nwe AbstractProvider object.\n * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance.\n * @param {!Object} options - The options for the AbstractProvider.\n * @param {!string} name - The name of the AbstractProvider.\n * @param {!Array} options.configs - The configurations of the\n * provider.\n * @param {!number} [maxWebRequests=2] - The max allowed concurrent web\n * requests.\n ", + "start": 573, + "end": 1007, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 41, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The name of the abstract provider.\n * @type {string}\n ", + "start": 1128, + "end": 1203, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 1254, + "end": 1335, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The configs for the abstract provider.\n * @type {Array}\n ", + "start": 1381, + "end": 1467, + "loc": { + "start": { + "line": 59, + "column": 4 + }, + "end": { + "line": 62, + "column": 7 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the contents for the configurations.\n * @override\n * @returns {Promise, Error>} - The results of the scraped\n * configurations.\n ", + "start": 1502, + "end": 1668, + "loc": { + "start": { + "line": 66, + "column": 2 + }, + "end": { + "line": 71, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Import the necessary.", + "start": 0, + "end": 24, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 24 + } + } + }, + { + "type": "CommentLine", + "value": " @flow", + "start": 25, + "end": 33, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 8 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 34, + "end": 40, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "pMap", + "start": 41, + "end": 45, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 11 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 46, + "end": 50, + "loc": { + "start": { + "line": 3, + "column": 12 + }, + "end": { + "line": 3, + "column": 16 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "p-map", + "start": 51, + "end": 58, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 24 + } + } + }, + { + "type": { + "label": "import", + "keyword": "import", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "import", + "start": 60, + "end": 66, + "loc": { + "start": { + "line": 5, + "column": 0 + }, + "end": { + "line": 5, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 67, + "end": 76, + "loc": { + "start": { + "line": 5, + "column": 7 + }, + "end": { + "line": 5, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 77, + "end": 81, + "loc": { + "start": { + "line": 5, + "column": 17 + }, + "end": { + "line": 5, + "column": 21 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./IProvider", + "start": 82, + "end": 95, + "loc": { + "start": { + "line": 5, + "column": 22 + }, + "end": { + "line": 5, + "column": 35 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The abstract provider for the strategy pattern.\n * @implements {IProvider}\n * @type {AbstractProvider}\n ", + "start": 97, + "end": 210, + "loc": { + "start": { + "line": 7, + "column": 0 + }, + "end": { + "line": 11, + "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": 211, + "end": 217, + "loc": { + "start": { + "line": 12, + "column": 0 + }, + "end": { + "line": 12, + "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": 218, + "end": 225, + "loc": { + "start": { + "line": 12, + "column": 7 + }, + "end": { + "line": 12, + "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": 226, + "end": 231, + "loc": { + "start": { + "line": 12, + "column": 15 + }, + "end": { + "line": 12, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "AbstractProvider", + "start": 232, + "end": 248, + "loc": { + "start": { + "line": 12, + "column": 21 + }, + "end": { + "line": 12, + "column": 37 + } + } + }, + { + "type": { + "label": "extends", + "keyword": "extends", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "extends", + "start": 249, + "end": 256, + "loc": { + "start": { + "line": 12, + "column": 38 + }, + "end": { + "line": 12, + "column": 45 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 257, + "end": 266, + "loc": { + "start": { + "line": 12, + "column": 46 + }, + "end": { + "line": 12, + "column": 55 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 267, + "end": 268, + "loc": { + "start": { + "line": 12, + "column": 56 + }, + "end": { + "line": 12, + "column": 57 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The name of the abstract provider.\n * @type {string}\n ", + "start": 272, + "end": 341, + "loc": { + "start": { + "line": 14, + "column": 2 + }, + "end": { + "line": 17, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 344, + "end": 348, + "loc": { + "start": { + "line": 18, + "column": 2 + }, + "end": { + "line": 18, + "column": 6 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 348, + "end": 349, + "loc": { + "start": { + "line": 18, + "column": 6 + }, + "end": { + "line": 18, + "column": 7 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "string", + "start": 350, + "end": 356, + "loc": { + "start": { + "line": 18, + "column": 8 + }, + "end": { + "line": 18, + "column": 14 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 360, + "end": 435, + "loc": { + "start": { + "line": 20, + "column": 2 + }, + "end": { + "line": 23, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "maxWebRequests", + "start": 438, + "end": 452, + "loc": { + "start": { + "line": 24, + "column": 2 + }, + "end": { + "line": 24, + "column": 16 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 452, + "end": 453, + "loc": { + "start": { + "line": 24, + "column": 16 + }, + "end": { + "line": 24, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "number", + "start": 454, + "end": 460, + "loc": { + "start": { + "line": 24, + "column": 18 + }, + "end": { + "line": 24, + "column": 24 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The configs fro the abstract provider.\n * @type {Array}\n ", + "start": 464, + "end": 544, + "loc": { + "start": { + "line": 26, + "column": 2 + }, + "end": { + "line": 29, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "configs", + "start": 547, + "end": 554, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 30, + "column": 9 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 554, + "end": 555, + "loc": { + "start": { + "line": 30, + "column": 9 + }, + "end": { + "line": 30, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Array", + "start": 556, + "end": 561, + "loc": { + "start": { + "line": 30, + "column": 11 + }, + "end": { + "line": 30, + "column": 16 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 561, + "end": 562, + "loc": { + "start": { + "line": 30, + "column": 16 + }, + "end": { + "line": 30, + "column": 17 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 562, + "end": 568, + "loc": { + "start": { + "line": 30, + "column": 17 + }, + "end": { + "line": 30, + "column": 23 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 568, + "end": 569, + "loc": { + "start": { + "line": 30, + "column": 23 + }, + "end": { + "line": 30, + "column": 24 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Create a nwe AbstractProvider object.\n * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance.\n * @param {!Object} options - The options for the AbstractProvider.\n * @param {!string} name - The name of the AbstractProvider.\n * @param {!Array} options.configs - The configurations of the\n * provider.\n * @param {!number} [maxWebRequests=2] - The max allowed concurrent web\n * requests.\n ", + "start": 573, + "end": 1007, + "loc": { + "start": { + "line": 32, + "column": 2 + }, + "end": { + "line": 41, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 1010, + "end": 1021, + "loc": { + "start": { + "line": 42, + "column": 2 + }, + "end": { + "line": 42, + "column": 13 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1021, + "end": 1022, + "loc": { + "start": { + "line": 42, + "column": 13 + }, + "end": { + "line": 42, + "column": 14 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "PopApiScraper", + "start": 1022, + "end": 1035, + "loc": { + "start": { + "line": 42, + "column": 14 + }, + "end": { + "line": 42, + "column": 27 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1035, + "end": 1036, + "loc": { + "start": { + "line": 42, + "column": 27 + }, + "end": { + "line": 42, + "column": 28 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "any", + "start": 1037, + "end": 1040, + "loc": { + "start": { + "line": 42, + "column": 29 + }, + "end": { + "line": 42, + "column": 32 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1040, + "end": 1041, + "loc": { + "start": { + "line": 42, + "column": 32 + }, + "end": { + "line": 42, + "column": 33 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1042, + "end": 1043, + "loc": { + "start": { + "line": 42, + "column": 34 + }, + "end": { + "line": 42, + "column": 35 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1048, + "end": 1052, + "loc": { + "start": { + "line": 43, + "column": 4 + }, + "end": { + "line": 43, + "column": 8 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1052, + "end": 1053, + "loc": { + "start": { + "line": 43, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "configs", + "start": 1058, + "end": 1065, + "loc": { + "start": { + "line": 44, + "column": 4 + }, + "end": { + "line": 44, + "column": 11 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1065, + "end": 1066, + "loc": { + "start": { + "line": 44, + "column": 11 + }, + "end": { + "line": 44, + "column": 12 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "maxWebRequests", + "start": 1071, + "end": 1085, + "loc": { + "start": { + "line": 45, + "column": 4 + }, + "end": { + "line": 45, + "column": 18 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1086, + "end": 1087, + "loc": { + "start": { + "line": 45, + "column": 19 + }, + "end": { + "line": 45, + "column": 20 + } + } + }, + { + "type": { + "label": "num", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": 2, + "start": 1088, + "end": 1089, + "loc": { + "start": { + "line": 45, + "column": 21 + }, + "end": { + "line": 45, + "column": 22 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1092, + "end": 1093, + "loc": { + "start": { + "line": 46, + "column": 2 + }, + "end": { + "line": 46, + "column": 3 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1093, + "end": 1094, + "loc": { + "start": { + "line": 46, + "column": 3 + }, + "end": { + "line": 46, + "column": 4 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1095, + "end": 1101, + "loc": { + "start": { + "line": 46, + "column": 5 + }, + "end": { + "line": 46, + "column": 11 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1101, + "end": 1102, + "loc": { + "start": { + "line": 46, + "column": 11 + }, + "end": { + "line": 46, + "column": 12 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1102, + "end": 1103, + "loc": { + "start": { + "line": 46, + "column": 12 + }, + "end": { + "line": 46, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "void", + "start": 1104, + "end": 1108, + "loc": { + "start": { + "line": 46, + "column": 14 + }, + "end": { + "line": 46, + "column": 18 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1109, + "end": 1110, + "loc": { + "start": { + "line": 46, + "column": 19 + }, + "end": { + "line": 46, + "column": 20 + } + } + }, + { + "type": { + "label": "super", + "keyword": "super", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "super", + "start": 1115, + "end": 1120, + "loc": { + "start": { + "line": 47, + "column": 4 + }, + "end": { + "line": 47, + "column": 9 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1120, + "end": 1121, + "loc": { + "start": { + "line": 47, + "column": 9 + }, + "end": { + "line": 47, + "column": 10 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1121, + "end": 1122, + "loc": { + "start": { + "line": 47, + "column": 10 + }, + "end": { + "line": 47, + "column": 11 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The name of the abstract provider.\n * @type {string}\n ", + "start": 1128, + "end": 1203, + "loc": { + "start": { + "line": 49, + "column": 4 + }, + "end": { + "line": 52, + "column": 7 + } + } + }, + { + "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": 1208, + "end": 1212, + "loc": { + "start": { + "line": 53, + "column": 4 + }, + "end": { + "line": 53, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1212, + "end": 1213, + "loc": { + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 53, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1213, + "end": 1217, + "loc": { + "start": { + "line": 53, + "column": 9 + }, + "end": { + "line": 53, + "column": 13 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1218, + "end": 1219, + "loc": { + "start": { + "line": 53, + "column": 14 + }, + "end": { + "line": 53, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1220, + "end": 1224, + "loc": { + "start": { + "line": 53, + "column": 16 + }, + "end": { + "line": 53, + "column": 20 + } + } + }, + { + "type": { + "label": "||", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 1, + "updateContext": null + }, + "value": "||", + "start": 1225, + "end": 1227, + "loc": { + "start": { + "line": 53, + "column": 21 + }, + "end": { + "line": 53, + "column": 23 + } + } + }, + { + "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": 1228, + "end": 1232, + "loc": { + "start": { + "line": 53, + "column": 24 + }, + "end": { + "line": 53, + "column": 28 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1232, + "end": 1233, + "loc": { + "start": { + "line": 53, + "column": 28 + }, + "end": { + "line": 53, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "constructor", + "start": 1233, + "end": 1244, + "loc": { + "start": { + "line": 53, + "column": 29 + }, + "end": { + "line": 53, + "column": 40 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1244, + "end": 1245, + "loc": { + "start": { + "line": 53, + "column": 40 + }, + "end": { + "line": 53, + "column": 41 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "name", + "start": 1245, + "end": 1249, + "loc": { + "start": { + "line": 53, + "column": 41 + }, + "end": { + "line": 53, + "column": 45 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The max allowed concurrent web requests.\n * @type {number}\n ", + "start": 1254, + "end": 1335, + "loc": { + "start": { + "line": 54, + "column": 4 + }, + "end": { + "line": 57, + "column": 7 + } + } + }, + { + "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": 1340, + "end": 1344, + "loc": { + "start": { + "line": 58, + "column": 4 + }, + "end": { + "line": 58, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1344, + "end": 1345, + "loc": { + "start": { + "line": 58, + "column": 8 + }, + "end": { + "line": 58, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "maxWebRequests", + "start": 1345, + "end": 1359, + "loc": { + "start": { + "line": 58, + "column": 9 + }, + "end": { + "line": 58, + "column": 23 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1360, + "end": 1361, + "loc": { + "start": { + "line": 58, + "column": 24 + }, + "end": { + "line": 58, + "column": 25 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "maxWebRequests", + "start": 1362, + "end": 1376, + "loc": { + "start": { + "line": 58, + "column": 26 + }, + "end": { + "line": 58, + "column": 40 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * The configs for the abstract provider.\n * @type {Array}\n ", + "start": 1381, + "end": 1467, + "loc": { + "start": { + "line": 59, + "column": 4 + }, + "end": { + "line": 62, + "column": 7 + } + } + }, + { + "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": 1472, + "end": 1476, + "loc": { + "start": { + "line": 63, + "column": 4 + }, + "end": { + "line": 63, + "column": 8 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1476, + "end": 1477, + "loc": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 63, + "column": 9 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "configs", + "start": 1477, + "end": 1484, + "loc": { + "start": { + "line": 63, + "column": 9 + }, + "end": { + "line": 63, + "column": 16 + } + } + }, + { + "type": { + "label": "=", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": true, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "=", + "start": 1485, + "end": 1486, + "loc": { + "start": { + "line": 63, + "column": 17 + }, + "end": { + "line": 63, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "configs", + "start": 1487, + "end": 1494, + "loc": { + "start": { + "line": 63, + "column": 19 + }, + "end": { + "line": 63, + "column": 26 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1497, + "end": 1498, + "loc": { + "start": { + "line": 64, + "column": 2 + }, + "end": { + "line": 64, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the contents for the configurations.\n * @override\n * @returns {Promise, Error>} - The results of the scraped\n * configurations.\n ", + "start": 1502, + "end": 1668, + "loc": { + "start": { + "line": 66, + "column": 2 + }, + "end": { + "line": 71, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrapeConfigs", + "start": 1671, + "end": 1684, + "loc": { + "start": { + "line": 72, + "column": 2 + }, + "end": { + "line": 72, + "column": 15 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1684, + "end": 1685, + "loc": { + "start": { + "line": 72, + "column": 15 + }, + "end": { + "line": 72, + "column": 16 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1685, + "end": 1686, + "loc": { + "start": { + "line": 72, + "column": 16 + }, + "end": { + "line": 72, + "column": 17 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1686, + "end": 1687, + "loc": { + "start": { + "line": 72, + "column": 17 + }, + "end": { + "line": 72, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 1688, + "end": 1695, + "loc": { + "start": { + "line": 72, + "column": 19 + }, + "end": { + "line": 72, + "column": 26 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 1695, + "end": 1696, + "loc": { + "start": { + "line": 72, + "column": 26 + }, + "end": { + "line": 72, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Array", + "start": 1696, + "end": 1701, + "loc": { + "start": { + "line": 72, + "column": 27 + }, + "end": { + "line": 72, + "column": 32 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 1701, + "end": 1702, + "loc": { + "start": { + "line": 72, + "column": 32 + }, + "end": { + "line": 72, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 1702, + "end": 1708, + "loc": { + "start": { + "line": 72, + "column": 33 + }, + "end": { + "line": 72, + "column": 39 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 1708, + "end": 1709, + "loc": { + "start": { + "line": 72, + "column": 39 + }, + "end": { + "line": 72, + "column": 40 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 1710, + "end": 1711, + "loc": { + "start": { + "line": 72, + "column": 41 + }, + "end": { + "line": 72, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 1712, + "end": 1717, + "loc": { + "start": { + "line": 72, + "column": 43 + }, + "end": { + "line": 72, + "column": 48 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 1717, + "end": 1718, + "loc": { + "start": { + "line": 72, + "column": 48 + }, + "end": { + "line": 72, + "column": 49 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1719, + "end": 1720, + "loc": { + "start": { + "line": 72, + "column": 50 + }, + "end": { + "line": 72, + "column": 51 + } + } + }, + { + "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": 1725, + "end": 1731, + "loc": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 73, + "column": 10 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "pMap", + "start": 1732, + "end": 1736, + "loc": { + "start": { + "line": 73, + "column": 11 + }, + "end": { + "line": 73, + "column": 15 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1736, + "end": 1737, + "loc": { + "start": { + "line": 73, + "column": 15 + }, + "end": { + "line": 73, + "column": 16 + } + } + }, + { + "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": 1737, + "end": 1741, + "loc": { + "start": { + "line": 73, + "column": 16 + }, + "end": { + "line": 73, + "column": 20 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1741, + "end": 1742, + "loc": { + "start": { + "line": 73, + "column": 20 + }, + "end": { + "line": 73, + "column": 21 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "configs", + "start": 1742, + "end": 1749, + "loc": { + "start": { + "line": 73, + "column": 21 + }, + "end": { + "line": 73, + "column": 28 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1749, + "end": 1750, + "loc": { + "start": { + "line": 73, + "column": 28 + }, + "end": { + "line": 73, + "column": 29 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "config", + "start": 1751, + "end": 1757, + "loc": { + "start": { + "line": 73, + "column": 30 + }, + "end": { + "line": 73, + "column": 36 + } + } + }, + { + "type": { + "label": "=>", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1758, + "end": 1760, + "loc": { + "start": { + "line": 73, + "column": 37 + }, + "end": { + "line": 73, + "column": 39 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1761, + "end": 1762, + "loc": { + "start": { + "line": 73, + "column": 40 + }, + "end": { + "line": 73, + "column": 41 + } + } + }, + { + "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": 1769, + "end": 1775, + "loc": { + "start": { + "line": 74, + "column": 6 + }, + "end": { + "line": 74, + "column": 12 + } + } + }, + { + "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": 1776, + "end": 1780, + "loc": { + "start": { + "line": 74, + "column": 13 + }, + "end": { + "line": 74, + "column": 17 + } + } + }, + { + "type": { + "label": ".", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1780, + "end": 1781, + "loc": { + "start": { + "line": 74, + "column": 17 + }, + "end": { + "line": 74, + "column": 18 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrapeConfig", + "start": 1781, + "end": 1793, + "loc": { + "start": { + "line": 74, + "column": 18 + }, + "end": { + "line": 74, + "column": 30 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1793, + "end": 1794, + "loc": { + "start": { + "line": 74, + "column": 30 + }, + "end": { + "line": 74, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "config", + "start": 1794, + "end": 1800, + "loc": { + "start": { + "line": 74, + "column": 31 + }, + "end": { + "line": 74, + "column": 37 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1800, + "end": 1801, + "loc": { + "start": { + "line": 74, + "column": 37 + }, + "end": { + "line": 74, + "column": 38 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1806, + "end": 1807, + "loc": { + "start": { + "line": 75, + "column": 4 + }, + "end": { + "line": 75, + "column": 5 + } + } + }, + { + "type": { + "label": ",", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1807, + "end": 1808, + "loc": { + "start": { + "line": 75, + "column": 5 + }, + "end": { + "line": 75, + "column": 6 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1809, + "end": 1810, + "loc": { + "start": { + "line": 75, + "column": 7 + }, + "end": { + "line": 75, + "column": 8 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "concurrency", + "start": 1817, + "end": 1828, + "loc": { + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 76, + "column": 17 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1828, + "end": 1829, + "loc": { + "start": { + "line": 76, + "column": 17 + }, + "end": { + "line": 76, + "column": 18 + } + } + }, + { + "type": { + "label": "num", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": 1, + "start": 1830, + "end": 1831, + "loc": { + "start": { + "line": 76, + "column": 19 + }, + "end": { + "line": 76, + "column": 20 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1836, + "end": 1837, + "loc": { + "start": { + "line": 77, + "column": 4 + }, + "end": { + "line": 77, + "column": 5 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1837, + "end": 1838, + "loc": { + "start": { + "line": 77, + "column": 5 + }, + "end": { + "line": 77, + "column": 6 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1841, + "end": 1842, + "loc": { + "start": { + "line": 78, + "column": 2 + }, + "end": { + "line": 78, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 1844, + "end": 1845, + "loc": { + "start": { + "line": 80, + "column": 0 + }, + "end": { + "line": 80, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 1846, + "end": 1846, + "loc": { + "start": { + "line": 81, + "column": 0 + }, + "end": { + "line": 81, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/providers/IProvider.js.json b/docs/ast/source/providers/IProvider.js.json new file mode 100644 index 0000000..e06c916 --- /dev/null +++ b/docs/ast/source/providers/IProvider.js.json @@ -0,0 +1,2436 @@ +{ + "type": "File", + "start": 0, + "end": 904, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 33, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 904, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 33, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ExportDefaultDeclaration", + "start": 113, + "end": 903, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 32, + "column": 1 + } + }, + "declaration": { + "type": "ClassDeclaration", + "start": 128, + "end": 903, + "loc": { + "start": { + "line": 8, + "column": 15 + }, + "end": { + "line": 32, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 134, + "end": 143, + "loc": { + "start": { + "line": 8, + "column": 21 + }, + "end": { + "line": 8, + "column": 30 + }, + "identifierName": "IProvider" + }, + "name": "IProvider", + "leadingComments": null + }, + "superClass": null, + "body": { + "type": "ClassBody", + "start": 144, + "end": 903, + "loc": { + "start": { + "line": 8, + "column": 31 + }, + "end": { + "line": 32, + "column": 1 + } + }, + "body": [ + { + "type": "ClassMethod", + "start": 423, + "end": 551, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 19, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 423, + "end": 435, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 17, + "column": 14 + }, + "identifierName": "scrapeConfig" + }, + "name": "scrapeConfig", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 436, + "end": 450, + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 17, + "column": 29 + }, + "identifierName": "config" + }, + "name": "config", + "typeAnnotation": { + "type": "TypeAnnotation", + "start": 442, + "end": 450, + "loc": { + "start": { + "line": 17, + "column": 21 + }, + "end": { + "line": 17, + "column": 29 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 444, + "end": 450, + "loc": { + "start": { + "line": 17, + "column": 23 + }, + "end": { + "line": 17, + "column": 29 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 444, + "end": 450, + "loc": { + "start": { + "line": 17, + "column": 23 + }, + "end": { + "line": 17, + "column": 29 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + } + } + ], + "returnType": { + "type": "TypeAnnotation", + "start": 451, + "end": 483, + "loc": { + "start": { + "line": 17, + "column": 30 + }, + "end": { + "line": 17, + "column": 62 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 453, + "end": 483, + "loc": { + "start": { + "line": 17, + "column": 32 + }, + "end": { + "line": 17, + "column": 62 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 460, + "end": 483, + "loc": { + "start": { + "line": 17, + "column": 39 + }, + "end": { + "line": 17, + "column": 62 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 461, + "end": 482, + "loc": { + "start": { + "line": 17, + "column": 40 + }, + "end": { + "line": 17, + "column": 61 + } + }, + "types": [ + { + "type": "GenericTypeAnnotation", + "start": 461, + "end": 474, + "loc": { + "start": { + "line": 17, + "column": 40 + }, + "end": { + "line": 17, + "column": 53 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 466, + "end": 474, + "loc": { + "start": { + "line": 17, + "column": 45 + }, + "end": { + "line": 17, + "column": 53 + } + }, + "params": [ + { + "type": "GenericTypeAnnotation", + "start": 467, + "end": 473, + "loc": { + "start": { + "line": 17, + "column": 46 + }, + "end": { + "line": 17, + "column": 52 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 467, + "end": 473, + "loc": { + "start": { + "line": 17, + "column": 46 + }, + "end": { + "line": 17, + "column": 52 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + ] + }, + "id": { + "type": "Identifier", + "start": 461, + "end": 466, + "loc": { + "start": { + "line": 17, + "column": 40 + }, + "end": { + "line": 17, + "column": 45 + }, + "identifierName": "Array" + }, + "name": "Array" + } + }, + { + "type": "GenericTypeAnnotation", + "start": 477, + "end": 482, + "loc": { + "start": { + "line": 17, + "column": 56 + }, + "end": { + "line": 17, + "column": 61 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 477, + "end": 482, + "loc": { + "start": { + "line": 17, + "column": 56 + }, + "end": { + "line": 17, + "column": 61 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 453, + "end": 460, + "loc": { + "start": { + "line": 17, + "column": 32 + }, + "end": { + "line": 17, + "column": 39 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 484, + "end": 551, + "loc": { + "start": { + "line": 17, + "column": 63 + }, + "end": { + "line": 19, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 490, + "end": 547, + "loc": { + "start": { + "line": 18, + "column": 4 + }, + "end": { + "line": 18, + "column": 61 + } + }, + "argument": { + "type": "NewExpression", + "start": 496, + "end": 547, + "loc": { + "start": { + "line": 18, + "column": 10 + }, + "end": { + "line": 18, + "column": 61 + } + }, + "callee": { + "type": "Identifier", + "start": 500, + "end": 505, + "loc": { + "start": { + "line": 18, + "column": 14 + }, + "end": { + "line": 18, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 506, + "end": 546, + "loc": { + "start": { + "line": 18, + "column": 20 + }, + "end": { + "line": 18, + "column": 60 + } + }, + "extra": { + "rawValue": "Using default method: 'scrapeConfig'", + "raw": "'Using default method: \\'scrapeConfig\\''" + }, + "value": "Using default method: 'scrapeConfig'" + } + ] + } + } + ], + "directives": [], + "trailingComments": null + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Get the contents for a configuration. \n * @param \n * {!Object} config - The config to get content with. \n * @abstract \n * \n * @throws \n * {Error} - Using default method: '_scrapeConfig' \n * @returns \n * {Promise, Error>} - The results of a configuration. \n", + "start": 149, + "end": 420, + "loc": { + "start": { + "line": 10, + "column": 2 + }, + "end": { + "line": 16, + "column": 5 + } + } + } + ], + "trailingComments": [ + { + "type": "CommentBlock", + "value": "*\n * Get the contents for the configurations.\n * @abstract\n * @throws {Error} - Using default method: 'scrapeConfigs'\n * @returns {Promise, Error>} - The results of the scrape\n * configurations.\n ", + "start": 555, + "end": 781, + "loc": { + "start": { + "line": 21, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + } + ] + }, + { + "type": "ClassMethod", + "start": 784, + "end": 900, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 30, + "column": 3 + } + }, + "static": false, + "computed": false, + "key": { + "type": "Identifier", + "start": 784, + "end": 797, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 15 + }, + "identifierName": "scrapeConfigs" + }, + "name": "scrapeConfigs", + "leadingComments": null + }, + "kind": "method", + "id": null, + "generator": false, + "expression": false, + "async": false, + "params": [], + "returnType": { + "type": "TypeAnnotation", + "start": 799, + "end": 831, + "loc": { + "start": { + "line": 28, + "column": 17 + }, + "end": { + "line": 28, + "column": 49 + } + }, + "typeAnnotation": { + "type": "GenericTypeAnnotation", + "start": 801, + "end": 831, + "loc": { + "start": { + "line": 28, + "column": 19 + }, + "end": { + "line": 28, + "column": 49 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 808, + "end": 831, + "loc": { + "start": { + "line": 28, + "column": 26 + }, + "end": { + "line": 28, + "column": 49 + } + }, + "params": [ + { + "type": "UnionTypeAnnotation", + "start": 809, + "end": 830, + "loc": { + "start": { + "line": 28, + "column": 27 + }, + "end": { + "line": 28, + "column": 48 + } + }, + "types": [ + { + "type": "GenericTypeAnnotation", + "start": 809, + "end": 822, + "loc": { + "start": { + "line": 28, + "column": 27 + }, + "end": { + "line": 28, + "column": 40 + } + }, + "typeParameters": { + "type": "TypeParameterInstantiation", + "start": 814, + "end": 822, + "loc": { + "start": { + "line": 28, + "column": 32 + }, + "end": { + "line": 28, + "column": 40 + } + }, + "params": [ + { + "type": "GenericTypeAnnotation", + "start": 815, + "end": 821, + "loc": { + "start": { + "line": 28, + "column": 33 + }, + "end": { + "line": 28, + "column": 39 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 815, + "end": 821, + "loc": { + "start": { + "line": 28, + "column": 33 + }, + "end": { + "line": 28, + "column": 39 + }, + "identifierName": "Object" + }, + "name": "Object" + } + } + ] + }, + "id": { + "type": "Identifier", + "start": 809, + "end": 814, + "loc": { + "start": { + "line": 28, + "column": 27 + }, + "end": { + "line": 28, + "column": 32 + }, + "identifierName": "Array" + }, + "name": "Array" + } + }, + { + "type": "GenericTypeAnnotation", + "start": 825, + "end": 830, + "loc": { + "start": { + "line": 28, + "column": 43 + }, + "end": { + "line": 28, + "column": 48 + } + }, + "typeParameters": null, + "id": { + "type": "Identifier", + "start": 825, + "end": 830, + "loc": { + "start": { + "line": 28, + "column": 43 + }, + "end": { + "line": 28, + "column": 48 + }, + "identifierName": "Error" + }, + "name": "Error" + } + } + ] + } + ] + }, + "id": { + "type": "Identifier", + "start": 801, + "end": 808, + "loc": { + "start": { + "line": 28, + "column": 19 + }, + "end": { + "line": 28, + "column": 26 + }, + "identifierName": "Promise" + }, + "name": "Promise" + } + }, + "predicate": null + }, + "body": { + "type": "BlockStatement", + "start": 832, + "end": 900, + "loc": { + "start": { + "line": 28, + "column": 50 + }, + "end": { + "line": 30, + "column": 3 + } + }, + "body": [ + { + "type": "ThrowStatement", + "start": 838, + "end": 896, + "loc": { + "start": { + "line": 29, + "column": 4 + }, + "end": { + "line": 29, + "column": 62 + } + }, + "argument": { + "type": "NewExpression", + "start": 844, + "end": 896, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 62 + } + }, + "callee": { + "type": "Identifier", + "start": 848, + "end": 853, + "loc": { + "start": { + "line": 29, + "column": 14 + }, + "end": { + "line": 29, + "column": 19 + }, + "identifierName": "Error" + }, + "name": "Error" + }, + "arguments": [ + { + "type": "StringLiteral", + "start": 854, + "end": 895, + "loc": { + "start": { + "line": 29, + "column": 20 + }, + "end": { + "line": 29, + "column": 61 + } + }, + "extra": { + "rawValue": "Using default method: 'scrapeConfigs'", + "raw": "'Using default method: \\'scrapeConfigs\\''" + }, + "value": "Using default method: 'scrapeConfigs'" + } + ] + } + } + ], + "directives": [] + }, + "leadingComments": [ + { + "type": "CommentBlock", + "value": "*\n * @desc \n * \n * @desc \n * Get the contents for the configurations. \n * @abstract \n * \n * @throws \n * {Error} - Using default method: 'scrapeConfigs' \n * @returns \n * {Promise, Error>} - The results of the scrape\n * configurations. \n", + "start": 555, + "end": 781, + "loc": { + "start": { + "line": 21, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + } + ] + } + ] + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface for scraping and content from various sources.\n * @interface\n * @type {IProvider}\n ", + "start": 10, + "end": 112, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "column": 3 + } + } + } + ], + "trailingComments": [] + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface for scraping and content from various sources.\n * @interface\n * @type {IProvider}\n ", + "start": 10, + "end": 112, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "column": 3 + } + } + } + ] + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface for scraping and content from various sources.\n * @interface\n * @type {IProvider}\n ", + "start": 10, + "end": 112, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the contents for a configuration.\n * @param {!Object} config - The config to get content with.\n * @abstract\n * @throws {Error} - Using default method: '_scrapeConfig'\n * @returns {Promise, Error>} - The results of a configuration.\n ", + "start": 149, + "end": 420, + "loc": { + "start": { + "line": 10, + "column": 2 + }, + "end": { + "line": 16, + "column": 5 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the contents for the configurations.\n * @abstract\n * @throws {Error} - Using default method: 'scrapeConfigs'\n * @returns {Promise, Error>} - The results of the scrape\n * configurations.\n ", + "start": 555, + "end": 781, + "loc": { + "start": { + "line": 21, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " @flow", + "start": 0, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 8 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Interface for scraping and content from various sources.\n * @interface\n * @type {IProvider}\n ", + "start": 10, + "end": 112, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 7, + "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": 113, + "end": 119, + "loc": { + "start": { + "line": 8, + "column": 0 + }, + "end": { + "line": 8, + "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": 120, + "end": 127, + "loc": { + "start": { + "line": 8, + "column": 7 + }, + "end": { + "line": 8, + "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": 128, + "end": 133, + "loc": { + "start": { + "line": 8, + "column": 15 + }, + "end": { + "line": 8, + "column": 20 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 134, + "end": 143, + "loc": { + "start": { + "line": 8, + "column": 21 + }, + "end": { + "line": 8, + "column": 30 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 144, + "end": 145, + "loc": { + "start": { + "line": 8, + "column": 31 + }, + "end": { + "line": 8, + "column": 32 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the contents for a configuration.\n * @param {!Object} config - The config to get content with.\n * @abstract\n * @throws {Error} - Using default method: '_scrapeConfig'\n * @returns {Promise, Error>} - The results of a configuration.\n ", + "start": 149, + "end": 420, + "loc": { + "start": { + "line": 10, + "column": 2 + }, + "end": { + "line": 16, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrapeConfig", + "start": 423, + "end": 435, + "loc": { + "start": { + "line": 17, + "column": 2 + }, + "end": { + "line": 17, + "column": 14 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 435, + "end": 436, + "loc": { + "start": { + "line": 17, + "column": 14 + }, + "end": { + "line": 17, + "column": 15 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "config", + "start": 436, + "end": 442, + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 17, + "column": 21 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 442, + "end": 443, + "loc": { + "start": { + "line": 17, + "column": 21 + }, + "end": { + "line": 17, + "column": 22 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 444, + "end": 450, + "loc": { + "start": { + "line": 17, + "column": 23 + }, + "end": { + "line": 17, + "column": 29 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 450, + "end": 451, + "loc": { + "start": { + "line": 17, + "column": 29 + }, + "end": { + "line": 17, + "column": 30 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 451, + "end": 452, + "loc": { + "start": { + "line": 17, + "column": 30 + }, + "end": { + "line": 17, + "column": 31 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Promise", + "start": 453, + "end": 460, + "loc": { + "start": { + "line": 17, + "column": 32 + }, + "end": { + "line": 17, + "column": 39 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 460, + "end": 461, + "loc": { + "start": { + "line": 17, + "column": 39 + }, + "end": { + "line": 17, + "column": 40 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Array", + "start": 461, + "end": 466, + "loc": { + "start": { + "line": 17, + "column": 40 + }, + "end": { + "line": 17, + "column": 45 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 466, + "end": 467, + "loc": { + "start": { + "line": 17, + "column": 45 + }, + "end": { + "line": 17, + "column": 46 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 467, + "end": 473, + "loc": { + "start": { + "line": 17, + "column": 46 + }, + "end": { + "line": 17, + "column": 52 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 473, + "end": 474, + "loc": { + "start": { + "line": 17, + "column": 52 + }, + "end": { + "line": 17, + "column": 53 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 475, + "end": 476, + "loc": { + "start": { + "line": 17, + "column": 54 + }, + "end": { + "line": 17, + "column": 55 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 477, + "end": 482, + "loc": { + "start": { + "line": 17, + "column": 56 + }, + "end": { + "line": 17, + "column": 61 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 482, + "end": 483, + "loc": { + "start": { + "line": 17, + "column": 61 + }, + "end": { + "line": 17, + "column": 62 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 484, + "end": 485, + "loc": { + "start": { + "line": 17, + "column": 63 + }, + "end": { + "line": 17, + "column": 64 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 490, + "end": 495, + "loc": { + "start": { + "line": 18, + "column": 4 + }, + "end": { + "line": 18, + "column": 9 + } + } + }, + { + "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": 496, + "end": 499, + "loc": { + "start": { + "line": 18, + "column": 10 + }, + "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": "Error", + "start": 500, + "end": 505, + "loc": { + "start": { + "line": 18, + "column": 14 + }, + "end": { + "line": 18, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 505, + "end": 506, + "loc": { + "start": { + "line": 18, + "column": 19 + }, + "end": { + "line": 18, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'scrapeConfig'", + "start": 506, + "end": 546, + "loc": { + "start": { + "line": 18, + "column": 20 + }, + "end": { + "line": 18, + "column": 60 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 546, + "end": 547, + "loc": { + "start": { + "line": 18, + "column": 60 + }, + "end": { + "line": 18, + "column": 61 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 550, + "end": 551, + "loc": { + "start": { + "line": 19, + "column": 2 + }, + "end": { + "line": 19, + "column": 3 + } + } + }, + { + "type": "CommentBlock", + "value": "*\n * Get the contents for the configurations.\n * @abstract\n * @throws {Error} - Using default method: 'scrapeConfigs'\n * @returns {Promise, Error>} - The results of the scrape\n * configurations.\n ", + "start": 555, + "end": 781, + "loc": { + "start": { + "line": 21, + "column": 2 + }, + "end": { + "line": 27, + "column": 5 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "scrapeConfigs", + "start": 784, + "end": 797, + "loc": { + "start": { + "line": 28, + "column": 2 + }, + "end": { + "line": 28, + "column": 15 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 797, + "end": 798, + "loc": { + "start": { + "line": 28, + "column": 15 + }, + "end": { + "line": 28, + "column": 16 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 798, + "end": 799, + "loc": { + "start": { + "line": 28, + "column": 16 + }, + "end": { + "line": 28, + "column": 17 + } + } + }, + { + "type": { + "label": ":", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 799, + "end": 800, + "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": "Promise", + "start": 801, + "end": 808, + "loc": { + "start": { + "line": 28, + "column": 19 + }, + "end": { + "line": 28, + "column": 26 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 808, + "end": 809, + "loc": { + "start": { + "line": 28, + "column": 26 + }, + "end": { + "line": 28, + "column": 27 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Array", + "start": 809, + "end": 814, + "loc": { + "start": { + "line": 28, + "column": 27 + }, + "end": { + "line": 28, + "column": 32 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": "<", + "start": 814, + "end": 815, + "loc": { + "start": { + "line": 28, + "column": 32 + }, + "end": { + "line": 28, + "column": 33 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Object", + "start": 815, + "end": 821, + "loc": { + "start": { + "line": 28, + "column": 33 + }, + "end": { + "line": 28, + "column": 39 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 821, + "end": 822, + "loc": { + "start": { + "line": 28, + "column": 39 + }, + "end": { + "line": 28, + "column": 40 + } + } + }, + { + "type": { + "label": "|", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 3, + "updateContext": null + }, + "value": "|", + "start": 823, + "end": 824, + "loc": { + "start": { + "line": 28, + "column": 41 + }, + "end": { + "line": 28, + "column": 42 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 825, + "end": 830, + "loc": { + "start": { + "line": 28, + "column": 43 + }, + "end": { + "line": 28, + "column": 48 + } + } + }, + { + "type": { + "label": "", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": 7, + "updateContext": null + }, + "value": ">", + "start": 830, + "end": 831, + "loc": { + "start": { + "line": 28, + "column": 48 + }, + "end": { + "line": 28, + "column": 49 + } + } + }, + { + "type": { + "label": "{", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 832, + "end": 833, + "loc": { + "start": { + "line": 28, + "column": 50 + }, + "end": { + "line": 28, + "column": 51 + } + } + }, + { + "type": { + "label": "throw", + "keyword": "throw", + "beforeExpr": true, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "throw", + "start": 838, + "end": 843, + "loc": { + "start": { + "line": 29, + "column": 4 + }, + "end": { + "line": 29, + "column": 9 + } + } + }, + { + "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": 844, + "end": 847, + "loc": { + "start": { + "line": 29, + "column": 10 + }, + "end": { + "line": 29, + "column": 13 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "Error", + "start": 848, + "end": 853, + "loc": { + "start": { + "line": 29, + "column": 14 + }, + "end": { + "line": 29, + "column": 19 + } + } + }, + { + "type": { + "label": "(", + "beforeExpr": true, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 853, + "end": 854, + "loc": { + "start": { + "line": 29, + "column": 19 + }, + "end": { + "line": 29, + "column": 20 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "Using default method: 'scrapeConfigs'", + "start": 854, + "end": 895, + "loc": { + "start": { + "line": 29, + "column": 20 + }, + "end": { + "line": 29, + "column": 61 + } + } + }, + { + "type": { + "label": ")", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 895, + "end": 896, + "loc": { + "start": { + "line": 29, + "column": 61 + }, + "end": { + "line": 29, + "column": 62 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 899, + "end": 900, + "loc": { + "start": { + "line": 30, + "column": 2 + }, + "end": { + "line": 30, + "column": 3 + } + } + }, + { + "type": { + "label": "}", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "start": 902, + "end": 903, + "loc": { + "start": { + "line": 32, + "column": 0 + }, + "end": { + "line": 32, + "column": 1 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 904, + "end": 904, + "loc": { + "start": { + "line": 33, + "column": 0 + }, + "end": { + "line": 33, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/ast/source/providers/index.js.json b/docs/ast/source/providers/index.js.json new file mode 100644 index 0000000..3812cf1 --- /dev/null +++ b/docs/ast/source/providers/index.js.json @@ -0,0 +1,470 @@ +{ + "type": "File", + "start": 0, + "end": 119, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 4, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 119, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 4, + "column": 0 + } + }, + "sourceType": "module", + "body": [ + { + "type": "ExportNamedDeclaration", + "start": 33, + "end": 82, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 49 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 40, + "end": 56, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 23 + } + }, + "exported": { + "type": "Identifier", + "start": 40, + "end": 56, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 23 + }, + "identifierName": "AbstractProvider" + }, + "name": "AbstractProvider", + "leadingComments": null + }, + "leadingComments": null + } + ], + "source": { + "type": "StringLiteral", + "start": 62, + "end": 82, + "loc": { + "start": { + "line": 2, + "column": 29 + }, + "end": { + "line": 2, + "column": 49 + } + }, + "extra": { + "rawValue": "./AbstractProvider", + "raw": "'./AbstractProvider'" + }, + "value": "./AbstractProvider" + }, + "leadingComments": [ + { + "type": "CommentLine", + "value": " Export the neseccary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + } + ], + "exportKind": "value" + }, + { + "type": "ExportNamedDeclaration", + "start": 83, + "end": 118, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 35 + } + }, + "specifiers": [ + { + "type": "ExportDefaultSpecifier", + "start": 90, + "end": 99, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 16 + } + }, + "exported": { + "type": "Identifier", + "start": 90, + "end": 99, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 16 + }, + "identifierName": "IProvider" + }, + "name": "IProvider" + } + } + ], + "source": { + "type": "StringLiteral", + "start": 105, + "end": 118, + "loc": { + "start": { + "line": 3, + "column": 22 + }, + "end": { + "line": 3, + "column": 35 + } + }, + "extra": { + "rawValue": "./IProvider", + "raw": "'./IProvider'" + }, + "value": "./IProvider" + }, + "exportKind": "value" + } + ], + "directives": [] + }, + "comments": [ + { + "type": "CommentLine", + "value": " Export the neseccary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + } + ], + "tokens": [ + { + "type": "CommentLine", + "value": " Export the neseccary modules.", + "start": 0, + "end": 32, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 32 + } + } + }, + { + "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": 33, + "end": 39, + "loc": { + "start": { + "line": 2, + "column": 0 + }, + "end": { + "line": 2, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "AbstractProvider", + "start": 40, + "end": 56, + "loc": { + "start": { + "line": 2, + "column": 7 + }, + "end": { + "line": 2, + "column": 23 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 57, + "end": 61, + "loc": { + "start": { + "line": 2, + "column": 24 + }, + "end": { + "line": 2, + "column": 28 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./AbstractProvider", + "start": 62, + "end": 82, + "loc": { + "start": { + "line": 2, + "column": 29 + }, + "end": { + "line": 2, + "column": 49 + } + } + }, + { + "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": 83, + "end": 89, + "loc": { + "start": { + "line": 3, + "column": 0 + }, + "end": { + "line": 3, + "column": 6 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "IProvider", + "start": 90, + "end": 99, + "loc": { + "start": { + "line": 3, + "column": 7 + }, + "end": { + "line": 3, + "column": 16 + } + } + }, + { + "type": { + "label": "name", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null + }, + "value": "from", + "start": 100, + "end": 104, + "loc": { + "start": { + "line": 3, + "column": 17 + }, + "end": { + "line": 3, + "column": 21 + } + } + }, + { + "type": { + "label": "string", + "beforeExpr": false, + "startsExpr": true, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "value": "./IProvider", + "start": 105, + "end": 118, + "loc": { + "start": { + "line": 3, + "column": 22 + }, + "end": { + "line": 3, + "column": 35 + } + } + }, + { + "type": { + "label": "eof", + "beforeExpr": false, + "startsExpr": false, + "rightAssociative": false, + "isLoop": false, + "isAssign": false, + "prefix": false, + "postfix": false, + "binop": null, + "updateContext": null + }, + "start": 119, + "end": 119, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/docs/badge.svg b/docs/badge.svg new file mode 100644 index 0000000..1117afa --- /dev/null +++ b/docs/badge.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + document + document + 100% + 100% + + diff --git a/docs/class/src/Context.js~Context.html b/docs/class/src/Context.js~Context.html new file mode 100644 index 0000000..6d03484 --- /dev/null +++ b/docs/class/src/Context.js~Context.html @@ -0,0 +1,406 @@ + + + + + + Context | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
import Context from 'pop-api-scraper/src/Context.js'
+ public + class + + + + | source +
+ +
+

Context

+ + + + + + + + + + + + + + + +

Base context for the strategy pattern.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + +

Constructor Summary

+ + + + + + + + + +
Public Constructor
+ public + + + + + +
+

+ + + + constructor(provider: IProvider) +

+
+
+ + +

Create a new Context object.

+
+
+
+ + +
+
+

Member Summary

+ + + + + + + + + +
Public Members
+ public + + + + + +
+

+ + + + provider: IProvider +

+
+
+ + +

The provider of the context to execute.

+
+
+
+ + +
+
+

Method Summary

+ + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + execute(): Promise<Array<Object>, Error> +

+
+
+ + +

Execute the set provider.

+
+
+
+ + +
+
+ + + + + +

Public Constructors

+ +
+

+ public + + + + + + constructor(provider: IProvider) + + + + source + +

+ + + + +

Create a new Context object.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + +
NameTypeAttributeDescription
providerIProvider
  • optional
  • +
  • default: new IProvider()
  • +
  • nullable: true

The provider of the +context to execute.

+
+
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Members

+ +
+

+ public + + + + + + provider: IProvider + + + + source + +

+ + + + +

The provider of the context to execute.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Methods

+ +
+

+ public + + + + + + execute(): Promise<Array<Object>, Error> + + + + source + +

+ + + + +

Execute the set provider.

+
+ + + +
+
+ +
+

Return:

+ + + + + + + +
Promise<Array<Object>, Error>

A list of scraped content.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/Cron.js~Cron.html b/docs/class/src/Cron.js~Cron.html new file mode 100644 index 0000000..0427a7c --- /dev/null +++ b/docs/class/src/Cron.js~Cron.html @@ -0,0 +1,457 @@ + + + + + + Cron | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
import Cron from 'pop-api-scraper/src/Cron.js'
+ public + class + + + + | source +
+ +
+

Cron

+ + + + + + + + + + + + + + + +

Cron class for executing the scraper periodically.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + +

Constructor Summary

+ + + + + + + + + +
Public Constructor
+ public + + + + + +
+

+ + + + constructor(PopApi: PopApi, options: Object) +

+
+
+ + +

Create a new Cron object.

+
+
+
+ + +
+
+

Member Summary

+ + + + + + + + + +
Public Members
+ public + + + + + +
+

+ + + + cronTime: string +

+
+
+ + +

The cron time for scraping audios.

+
+
+
+ + +
+
+

Method Summary

+ + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + getCron(PopApi: PopApi, start: boolean): Object +

+
+
+ + +

Get the cron job to run.

+
+
+
+ + +
+
+ + + + + +

Public Constructors

+ +
+

+ public + + + + + + constructor(PopApi: PopApi, options: Object) + + + + source + +

+ + + + +

Create a new Cron object.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
PopApiPopApi
  • nullable: false

The PopApi instance.

+
optionsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: false

The options for the Cron middleware.

+
options.cronTimestring
  • optional
  • +
  • default: 0 0 *\/6 * * *
  • +
  • nullable: false

The cron tab to +execute the scraper.

+
options.startboolean
  • optional
  • +
  • default: false
  • +
  • nullable: true

Start the cronjob on creation.

+
+
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Members

+ +
+

+ public + + + + + + cronTime: string + + + + source + +

+ + + + +

The cron time for scraping audios. Default is 0 0 *\/6 * * *.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Methods

+ +
+

+ public + + + + + + getCron(PopApi: PopApi, start: boolean): Object + + + + source + +

+ + + + +

Get the cron job to run.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
PopApiPopApi
  • nullable: false

The PopApi instance.

+
startboolean
  • optional
  • +
  • nullable: true

Start the cron job.

+
+
+
+ +
+

Return:

+ + + + + + + +
Object

A configured cron job.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/PopApiScraper.js~PopApiScraper.html b/docs/class/src/PopApiScraper.js~PopApiScraper.html new file mode 100644 index 0000000..11bb6d1 --- /dev/null +++ b/docs/class/src/PopApiScraper.js~PopApiScraper.html @@ -0,0 +1,1207 @@ + + + + + + PopApiScraper | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
import PopApiScraper from 'pop-api-scraper/src/PopApiScraper.js'
+ public + class + + + + | source +
+ +
+

PopApiScraper

+ + + + + + + + + + + + + + + +

Class for Initiating the scraping process.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ +

Static Member Summary

+ + + + + + + + + +
Static Private Members
+ private + static + + + + +
+

+ + + + _installedPlugins: Map +

+
+
+ + +

A map of the installed plugins.

+
+
+
+ + +
+
+

Static Method Summary

+ + + + + + + + + +
Static Public Methods
+ public + static + + + + +
+

+ + + + use(Plugin: Function, args: Object): Promise<PopApiScraper> +

+
+
+ + +

Register middleware for the PopApi framework.

+
+
+
+ + +
+
+

Constructor Summary

+ + + + + + + + + +
Public Constructor
+ public + + + + + +
+

+ + + + constructor(PopApi: PopApi, options: Object) +

+
+
+ + +

Create a new BaseScraper object.

+
+
+
+ + +
+
+

Member Summary

+ + + + + + + + + + + + + + + + + + + +
Public Members
+ public + + + + + +
+

+ + + + context: Context +

+
+
+ + +

The context to execute the providers in.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + statusPath: string +

+
+
+ + +

The path of the status file.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + updatedPath: string +

+
+
+ + +

The path of the updated file.

+
+
+
+ + +
+
+

Method Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + getStatus(): Promise<string, Error> +

+
+
+ + +

Get the status object.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + getUpdated(): Promise<number, Error> +

+
+
+ + +

Get the updated object.

+
+
+
+ + +
+ public + + + + + +
+

+ + async + + scrape(concurrency: number): Promise<Array<Object>, Error> +

+
+
+ + +

Initiate the scraping.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + setStatus(status: string): Promise<undefined, Error> +

+
+
+ + +

Updates the status.json file.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + setUpdated(updated: number): Promise<undefined, Error> +

+
+
+ + +

Updates the updated.json file.

+
+
+
+ + +
+
+ + + +

Static Private Members

+ +
+

+ private + static + + + + + _installedPlugins: Map + + + + source + +

+ + + + +

A map of the installed plugins.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

Static Public Methods

+ +
+

+ public + static + + + + + use(Plugin: Function, args: Object): Promise<PopApiScraper> + + + + source + +

+ + + + +

Register middleware for the PopApi framework.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
PluginFunction
  • nullable: false

The plugin to use.

+
argsObject
  • nullable: false

The arguments passed down to the constructor of +the plugin.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<PopApiScraper>

The PopApi instance with the installed +plugins.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

Public Constructors

+ +
+

+ public + + + + + + constructor(PopApi: PopApi, options: Object) + + + + source + +

+ + + + +

Create a new BaseScraper object. +The base modules for popcorn-api

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
PopApiPopApi
  • nullable: false

The PopApiScraper instance.

+
optionsObject
  • nullable: false

The options for the BaseScraper middleware.

+
options.statusPathstring
  • nullable: false

= - The path of the status file.

+
options.updatedPathstring
  • nullable: false

The path of the updated file.

+
+
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Members

+ +
+

+ public + + + + + + context: Context + + + + source + +

+ + + + +

The context to execute the providers in.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

+ public + + + + + + statusPath: string + + + + source + +

+ + + + +

The path of the status file. Default is ./tmp/status.json.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

+ public + + + + + + updatedPath: string + + + + source + +

+ + + + +

The path of the updated file. Default is ./tmp/updated.json.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Methods

+ +
+

+ public + + + + + + getStatus(): Promise<string, Error> + + + + source + +

+ + + + +

Get the status object.

+
+ + + +
+
+ +
+

Return:

+ + + + + + + +
Promise<string, Error>

The status of the scraping process.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + getUpdated(): Promise<number, Error> + + + + source + +

+ + + + +

Get the updated object.

+
+ + + +
+
+ +
+

Return:

+ + + + + + + +
Promise<number, Error>

The status of the scraping process.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + async + + scrape(concurrency: number): Promise<Array<Object>, Error> + + + + source + +

+ + + + +

Initiate the scraping.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + +
NameTypeAttributeDescription
concurrencynumber
  • optional
  • +
  • default: 1
  • +
  • nullable: false

How many providers to scrape +concurrently.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Array<Object>, Error>

The array of the scraped +content.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + setStatus(status: string): Promise<undefined, Error> + + + + source + +

+ + + + +

Updates the status.json file.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + +
NameTypeAttributeDescription
statusstring
  • nullable: false

The status which will be set to in the +status.json file.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<undefined, Error>

'ok' if saved, or the error is there +is one.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + setUpdated(updated: number): Promise<undefined, Error> + + + + source + +

+ + + + +

Updates the updated.json file.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + +
NameTypeAttributeDescription
updatednumber
  • nullable: false

The epoch time when the API last started +scraping.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<undefined, Error>

'ok' if saved, or the error is there +is one.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/http/AbstractHttpService.js~AbstractHttpService.html b/docs/class/src/http/AbstractHttpService.js~AbstractHttpService.html new file mode 100644 index 0000000..9b96067 --- /dev/null +++ b/docs/class/src/http/AbstractHttpService.js~AbstractHttpService.html @@ -0,0 +1,1417 @@ + + + + + + AbstractHttpService | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
import AbstractHttpService from 'pop-api-scraper/src/http/AbstractHttpService.js'
+ public + class + + + + | source +
+ +
+

AbstractHttpService

+ + + + + +

Extends:

IHttpService → AbstractHttpService
+

Direct Subclass:

+ +

Implements:

+ + + + + + +

Class for making HTTP calls.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + +

Constructor Summary

+ + + + + + + + + +
Public Constructor
+ public + + + + + +
+

+ + + + constructor(baseUrl: string, options: Object) +

+
+
+ + +

Create a new Request object.

+
+
+
+ + +
+
+

Member Summary

+ + + + + + + + + + + + + + +
Public Members
+ public + + + + + +
+

+ + + + baseUrl: string +

+
+
+ + +

The base url of the website to scrape.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + options: Object +

+
+
+ + +

The default options for the HTTP requests.

+
+
+
+ + +
+ + + + + + + + + + +
Private Members
+ private + + + + + +
+

+ + + + _debug: Function +

+
+
+ + +

The debug function for extra output.

+
+
+
+ + +
+
+

Method Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + delete(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a DELETE request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a GET request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + handleBody(body: string, raw: boolean): Function | string +

+
+
+ + +

Handle the body response string.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + post(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a POST request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + printDebug(method: string, uri: string, opts: Object): undefined +

+
+
+ + +

Print the debug message.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + put(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a PUT request.

+
+
+
+ + +
+
+ +

Inherited Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
From class IHttpService
+ public + + + + + +
+

+ + + + delete(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a DELETE request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + download(endpoint: string, filePath: string): Promise<string, Error> +

+
+
+ + +

Request to download an item.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a GET request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + post(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a POST request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + printDebug(method: string, uri: string, opts: Object): undefined +

+
+
+ + +

Print the debug message.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + put(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a PUT request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + request(method: string, endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a HTTP request.

+
+
+
+ + +
+
+ + + +

Public Constructors

+ +
+

+ public + + + + + + constructor(baseUrl: string, options: Object) + + + + source + +

+ + + + +

Create a new Request object.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
baseUrlstring
  • nullable: false

The base url of the website to scrape.

+
optionsObject
  • default: {}
  • +
  • nullable: true

The default options for the HTTP requests.

+
+
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Members

+ +
+

+ public + + + + + + baseUrl: string + + + + source + +

+ + + + +

The base url of the website to scrape.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

+ public + + + + + + options: Object + + + + source + +

+ + + + +

The default options for the HTTP requests.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+

Private Members

+ +
+

+ private + + + + + + _debug: Function + + + + source + +

+ + + + +

The debug function for extra output.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Methods

+ +
+

+ public + + + + + + delete(endpoint: string, opts: Object): Promise<Object, Error> + + + + source + +

+ + + + +

Make a DELETE request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the DELETE request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP DELETE +request.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> + + + + source + +

+ + + + +

Make a GET request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • default: ''
  • +
  • nullable: false

The endpoint to make the GET request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP GET +request.

+
rawboolean
  • optional
  • +
  • default: false
  • +
  • nullable: true

Return json object.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + handleBody(body: string, raw: boolean): Function | string + + + + source + +

+ + + + +

Handle the body response string.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
bodystring
  • nullable: false

The body to parse.

+
rawboolean
  • nullable: true

Return the raw body.

+
+
+
+ +
+

Return:

+ + + + + + + +
Function | string

The raw body or the body parsed by +cheerio.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + post(endpoint: string, opts: Object): Promise<Object, Error> + + + + source + +

+ + + + +

Make a POST request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the POST request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP POST +request.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + printDebug(method: string, uri: string, opts: Object): undefined + + + + source + +

+ + + + +

Print the debug message.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
methodstring
  • nullable: false

The method of the HTTP request.

+
uristring
  • nullable: false

The uri of the HTTP request.

+
optsObject
  • default: this._opts
  • +
  • nullable: true

The options for the HTTP request.

+
+
+
+ +
+

Return:

+ + + + + + + +
undefined
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + put(endpoint: string, opts: Object): Promise<Object, Error> + + + + source + +

+ + + + +

Make a PUT request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the PUT request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP PUT +request.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/http/HttpService.js~HttpService.html b/docs/class/src/http/HttpService.js~HttpService.html new file mode 100644 index 0000000..fde12e8 --- /dev/null +++ b/docs/class/src/http/HttpService.js~HttpService.html @@ -0,0 +1,855 @@ + + + + + + HttpService | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
import HttpService from 'pop-api-scraper/src/http/HttpService.js'
+ public + class + + + + | source +
+ +
+

HttpService

+ + + + + +

Extends:

IHttpServiceAbstractHttpService → HttpService
+ + + +

Indirect Implements:

+ + + + + +

Class for making HTTP calls with the got library.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + + + +

Method Summary

+ + + + + + + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + download(endpoint: string, filePath: string): Promise<string, Error> +

+
+
+ + +

Request to download an item.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + request(method: string, endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a HTTP request.

+
+
+
+ + +
+
+ +

Inherited Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
From class IHttpService
+ public + + + + + +
+

+ + + + delete(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a DELETE request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + download(endpoint: string, filePath: string): Promise<string, Error> +

+
+
+ + +

Request to download an item.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a GET request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + post(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a POST request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + printDebug(method: string, uri: string, opts: Object): undefined +

+
+
+ + +

Print the debug message.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + put(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a PUT request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + request(method: string, endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a HTTP request.

+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
From class AbstractHttpService
+ public + + + + + +
+

+ + + + baseUrl: string +

+
+
+ + +

The base url of the website to scrape.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + options: Object +

+
+
+ + +

The default options for the HTTP requests.

+
+
+
+ + +
+ private + + + + + +
+

+ + + + _debug: Function +

+
+
+ + +

The debug function for extra output.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + delete(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a DELETE request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a GET request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + handleBody(body: string, raw: boolean): Function | string +

+
+
+ + +

Handle the body response string.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + post(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a POST request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + printDebug(method: string, uri: string, opts: Object): undefined +

+
+
+ + +

Print the debug message.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + put(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a PUT request.

+
+
+
+ + +
+
+ + + + + +

Public Methods

+ +
+

+ public + + + + + + download(endpoint: string, filePath: string): Promise<string, Error> + + + + source + +

+ + + + +

Request to download an item.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • nullable: false

The uri to the item.

+
filePathstring
  • nullable: false

The name of the file to save the item.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<string, Error>

Message when it's finally +downloaded.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+

+ public + + + + + + request(method: string, endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> + + + + source + +

+ + + + +

Make a HTTP request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
methodstring
  • nullable: false

The method of the HTTP request.

+
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the HTTP request to.

+
optsObject
  • optional
  • +
  • nullable: true

The options for the HTTP request.

+
rawboolean
  • optional
  • +
  • nullable: true

Return the raw body.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/http/IHttpService.js~IHttpService.html b/docs/class/src/http/IHttpService.js~IHttpService.html new file mode 100644 index 0000000..4d8fa64 --- /dev/null +++ b/docs/class/src/http/IHttpService.js~IHttpService.html @@ -0,0 +1,1077 @@ + + + + + + IHttpService | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
import IHttpService from 'pop-api-scraper/src/http/IHttpService.js'
+ public + interface + + + + | source +
+ +
+

IHttpService

+ + + + + + +

Direct Subclass:

+

Indirect Subclass:

+ + +

Direct Implemented:

+

Indirect Implemented:

+ + + +

Interface to send HTTP requests.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + + + +

Method Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + delete(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a DELETE request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + download(endpoint: string, filePath: string): Promise<string, Error> +

+
+
+ + +

Request to download an item.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a GET request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + post(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a POST request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + printDebug(method: string, uri: string, opts: Object): undefined +

+
+
+ + +

Print the debug message.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + put(endpoint: string, opts: Object): Promise<Object, Error> +

+
+
+ + +

Make a PUT request.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + request(method: string, endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> +

+
+
+ + +

Make a HTTP request.

+
+
+
+ + +
+
+ + + + + + + +

Public Methods

+ +
+

+ public + + + + + + delete(endpoint: string, opts: Object): Promise<Object, Error> + + + + source + +

+ + + + +

Make a DELETE request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the DELETE request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP DELETE +request.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'delete'

+
+
+ + + + + + + + + +
+
+

+ public + + + + + + download(endpoint: string, filePath: string): Promise<string, Error> + + + + source + +

+ + + + +

Request to download an item.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • nullable: false

The uri to the item.

+
filePathstring
  • nullable: false

The name of the file to save the item.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<string, Error>

Message when it's finally downloaded.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'download'

+
+
+ + + + + + + + + +
+
+

+ public + + + + + + get(endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> + + + + source + +

+ + + + +

Make a GET request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the GET request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP GET +request.

+
rawboolean
  • optional
  • +
  • default: false
  • +
  • nullable: true

Return json object.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'get'

+
+
+ + + + + + + + + +
+
+

+ public + + + + + + post(endpoint: string, opts: Object): Promise<Object, Error> + + + + source + +

+ + + + +

Make a POST request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the POST request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP POST +request.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'post'

+
+
+ + + + + + + + + +
+
+

+ public + + + + + + printDebug(method: string, uri: string, opts: Object): undefined + + + + source + +

+ + + + +

Print the debug message.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
methodstring
  • nullable: false

The method of the HTTP request.

+
uristring
  • nullable: false

The uri of the HTTP request.

+
optsObject
  • default: this._opts
  • +
  • nullable: true

The options for the HTTP request.

+
+
+
+ +
+

Return:

+ + + + + + + +
undefined
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'printDebug'

+
+
+ + + + + + + + + +
+
+

+ public + + + + + + put(endpoint: string, opts: Object): Promise<Object, Error> + + + + source + +

+ + + + +

Make a PUT request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the PUT request to.

+
optsObject
  • optional
  • +
  • default: {}
  • +
  • nullable: true

The options for the HTTP PUT +request.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'put'

+
+
+ + + + + + + + + +
+
+

+ public + + + + + + request(method: string, endpoint: string, opts: Object, raw: boolean): Promise<Object, Error> + + + + source + +

+ + + + +

Make a HTTP request.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
methodstring
  • nullable: false

The method of the HTTP request.

+
endpointstring
  • optional
  • +
  • nullable: false

The endpoint to make the HTTP request to.

+
optsObject
  • optional
  • +
  • nullable: true

The options for the HTTP request.

+
rawboolean
  • optional
  • +
  • nullable: true

Return the raw body.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Object, Error>

Promise with the HTML loaded in +cheerio.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'request'

+
+
+ + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/providers/AbstractProvider.js~AbstractProvider.html b/docs/class/src/providers/AbstractProvider.js~AbstractProvider.html new file mode 100644 index 0000000..8d2ec69 --- /dev/null +++ b/docs/class/src/providers/AbstractProvider.js~AbstractProvider.html @@ -0,0 +1,640 @@ + + + + + + AbstractProvider | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+ + public + class + + + + | source +
+ +
+

AbstractProvider

+ + + + + +

Extends:

IProvider → AbstractProvider
+ + +

Implements:

+ + + + + + +

The abstract provider for the strategy pattern.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + +

Constructor Summary

+ + + + + + + + + +
Public Constructor
+ public + + + + + +
+

+ + + + constructor(PopApiScraper: PopApiScraper, options: Object, name: string, maxWebRequests: number) +

+
+
+ + +

Create a nwe AbstractProvider object.

+
+
+
+ + +
+
+

Member Summary

+ + + + + + + + + + + + + + + + + + + +
Public Members
+ public + + + + + +
+

+ + + + configs: Array +

+
+
+ + +

The configs fro the abstract provider.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + maxWebRequests: number +

+
+
+ + +

The max allowed concurrent web requests.

+
+
+
+ + +
+ public + + + + + +
+

+ + + + name: string +

+
+
+ + +

The name of the abstract provider.

+
+
+
+ + +
+
+

Method Summary

+ + + + + + + + + +
Public Methods
+ public + + + + + +
+

+ + + + scrapeConfigs(): Promise<Array<Object>, Error> +

+
+
+ + +

Get the contents for the configurations.

+
+
+
+ + +
+
+ +

Inherited Summary

+ + + + + + + + + + + + + + +
From class IProvider
+ public + + + abstract + + +
+

+ + + + scrapeConfig(config: Object): Promise<Array<Object>, Error> +

+
+
+ + +

Get the contents for a configuration.

+
+
+
+ + +
+ public + + + abstract + + +
+

+ + + + scrapeConfigs(): Promise<Array<Object>, Error> +

+
+
+ + +

Get the contents for the configurations.

+
+
+
+ + +
+
+ + + +

Public Constructors

+ +
+

+ public + + + + + + constructor(PopApiScraper: PopApiScraper, options: Object, name: string, maxWebRequests: number) + + + + source + +

+ + + + +

Create a nwe AbstractProvider object.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributeDescription
PopApiScraperPopApiScraper
  • nullable: false

The PopApScraper instance.

+
optionsObject
  • nullable: false

The options for the AbstractProvider.

+
namestring
  • nullable: false

The name of the AbstractProvider.

+
options.configsArray<Object>
  • nullable: false

The configurations of the +provider.

+
maxWebRequestsnumber
  • optional
  • +
  • default: 2
  • +
  • nullable: false

The max allowed concurrent web +requests.

+
+
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Members

+ +
+

+ public + + + + + + configs: Array + + + + source + +

+ + + + +

The configs fro the abstract provider.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

+ public + + + + + + maxWebRequests: number + + + + source + +

+ + + + +

The max allowed concurrent web requests.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

+ public + + + + + + name: string + + + + source + +

+ + + + +

The name of the abstract provider.

+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+

Public Methods

+ +
+

+ public + + + + + + scrapeConfigs(): Promise<Array<Object>, Error> + + + + source + +

+ + + + +

Get the contents for the configurations.

+
+ + + +
+
+ +
+

Return:

+ + + + + + + +
Promise<Array<Object>, Error>

The results of the scraped +configurations.

+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/class/src/providers/IProvider.js~IProvider.html b/docs/class/src/providers/IProvider.js~IProvider.html new file mode 100644 index 0000000..781c99f --- /dev/null +++ b/docs/class/src/providers/IProvider.js~IProvider.html @@ -0,0 +1,352 @@ + + + + + + IProvider | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+ + public + interface + + + + | source +
+ +
+

IProvider

+ + + + + + +

Direct Subclass:

+ + + +

Direct Implemented:

+ + + + +

Interface for scraping and content from various sources.

+
+ + + + + + +
+

Test:

+ +
+ + +
+ + + + + +

Method Summary

+ + + + + + + + + + + + + + +
Public Methods
+ public + + + abstract + + +
+

+ + + + scrapeConfig(config: Object): Promise<Array<Object>, Error> +

+
+
+ + +

Get the contents for a configuration.

+
+
+
+ + +
+ public + + + abstract + + +
+

+ + + + scrapeConfigs(): Promise<Array<Object>, Error> +

+
+
+ + +

Get the contents for the configurations.

+
+
+
+ + +
+
+ + + + + + + +

Public Methods

+ +
+

+ public + + + abstract + + + scrapeConfig(config: Object): Promise<Array<Object>, Error> + + + + source + +

+ + + + +

Get the contents for a configuration.

+
+ + + +
+

Params:

+ + + + + + + + + + + + + +
NameTypeAttributeDescription
configObject
  • nullable: false

The config to get content with.

+
+
+
+ +
+

Return:

+ + + + + + + +
Promise<Array<Object>, Error>

The results of a configuration.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: '_scrapeConfig'

+
+
+ + + + + + + + + +
+
+

+ public + + + abstract + + + scrapeConfigs(): Promise<Array<Object>, Error> + + + + source + +

+ + + + +

Get the contents for the configurations.

+
+ + + +
+
+ +
+

Return:

+ + + + + + + +
Promise<Array<Object>, Error>

The results of the scrape +configurations.

+
+
+
+
+ + + + + +
+

Throw:

+ + + + + + + + +

Error

Using default method: 'scrapeConfigs'

+
+
+ + + + + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/docs/coverage.json b/docs/coverage.json new file mode 100644 index 0000000..f5f8989 --- /dev/null +++ b/docs/coverage.json @@ -0,0 +1,47 @@ +{ + "coverage": "100%", + "expectCount": 51, + "actualCount": 51, + "files": { + "src/Context.js": { + "expectCount": 4, + "actualCount": 4, + "undocumentLines": [] + }, + "src/Cron.js": { + "expectCount": 4, + "actualCount": 4, + "undocumentLines": [] + }, + "src/PopApiScraper.js": { + "expectCount": 12, + "actualCount": 12, + "undocumentLines": [] + }, + "src/http/AbstractHttpService.js": { + "expectCount": 11, + "actualCount": 11, + "undocumentLines": [] + }, + "src/http/HttpService.js": { + "expectCount": 3, + "actualCount": 3, + "undocumentLines": [] + }, + "src/http/IHttpService.js": { + "expectCount": 8, + "actualCount": 8, + "undocumentLines": [] + }, + "src/providers/AbstractProvider.js": { + "expectCount": 6, + "actualCount": 6, + "undocumentLines": [] + }, + "src/providers/IProvider.js": { + "expectCount": 3, + "actualCount": 3, + "undocumentLines": [] + } + } +} \ No newline at end of file diff --git a/docs/css/github.css b/docs/css/github.css new file mode 100644 index 0000000..db9ca23 --- /dev/null +++ b/docs/css/github.css @@ -0,0 +1,83 @@ +/* github markdown */ +.github-markdown { + font-size: 16px; +} + +.github-markdown h1, +.github-markdown h2, +.github-markdown h3, +.github-markdown h4, +.github-markdown h5 { + margin-top: 1em; + margin-bottom: 16px; + font-weight: bold; + padding: 0; +} + +.github-markdown h1:nth-of-type(1) { + margin-top: 0; +} + +.github-markdown h1 { + font-size: 2em; + padding-bottom: 0.3em; +} + +.github-markdown h2 { + font-size: 1.75em; + padding-bottom: 0.3em; +} + +.github-markdown h3 { + font-size: 1.5em; +} + +.github-markdown h4 { + font-size: 1.25em; +} + +.github-markdown h5 { + font-size: 1em; +} + +.github-markdown ul, .github-markdown ol { + padding-left: 2em; +} + +.github-markdown pre > code { + font-size: 0.85em; +} + +.github-markdown table { + margin-bottom: 1em; + border-collapse: collapse; + border-spacing: 0; +} + +.github-markdown table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} + +.github-markdown table th, +.github-markdown table td { + padding: 6px 13px; + border: 1px solid #ddd; +} + +.github-markdown table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.github-markdown hr { + border-right: 0; + border-bottom: 1px solid #e5e5e5; + border-left: 0; + border-top: 0; +} + +/** badge(.svg) does not have border */ +.github-markdown img:not([src*=".svg"]) { + max-width: 100%; + box-shadow: 1px 1px 1px rgba(0,0,0,0.5); +} diff --git a/docs/css/identifiers.css b/docs/css/identifiers.css new file mode 100644 index 0000000..52c8461 --- /dev/null +++ b/docs/css/identifiers.css @@ -0,0 +1,37 @@ +.identifiers-wrap { + display: flex; + align-items: flex-start; +} + +.identifier-dir-tree { + background: #fff; + border: solid 1px #ddd; + border-radius: 0.25em; + top: 52px; + position: -webkit-sticky; + position: sticky; + max-height: calc(100vh - 155px); + overflow-y: scroll; + min-width: 200px; + margin-left: 1em; +} + +.identifier-dir-tree-header { + padding: 0.5em; + background-color: #fafafa; + border-bottom: solid 1px #ddd; +} + +.identifier-dir-tree-content { + padding: 0 0.5em 0; +} + +.identifier-dir-tree-content > div { + padding-top: 0.25em; + padding-bottom: 0.25em; +} + +.identifier-dir-tree-content a { + color: inherit; +} + diff --git a/docs/css/manual.css b/docs/css/manual.css new file mode 100644 index 0000000..138a07f --- /dev/null +++ b/docs/css/manual.css @@ -0,0 +1,134 @@ +.github-markdown .manual-toc { + padding-left: 0; +} + +.manual-index .manual-cards { + display: flex; + flex-wrap: wrap; +} + +.manual-index .manual-card-wrap { + width: 280px; + padding: 10px 20px 10px 0; + box-sizing: border-box; +} + +.manual-index .manual-card-wrap > h1 { + margin: 0; + font-size: 1em; + font-weight: 600; + padding: 0.2em 0 0.2em 0.5em; + border-radius: 0.1em 0.1em 0 0; + border: none; +} + +.manual-index .manual-card-wrap > h1 span { + color: #555; +} + +.manual-index .manual-card { + height: 200px; + overflow: hidden; + border: solid 1px rgba(230, 230, 230, 0.84); + border-radius: 0 0 0.1em 0.1em; + padding: 8px; + position: relative; +} + +.manual-index .manual-card > div { + transform: scale(0.4); + transform-origin: 0 0; + width: 250%; +} + +.manual-index .manual-card > a { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(210, 210, 210, 0.1); +} + +.manual-index .manual-card > a:hover { + background: none; +} + +.manual-index .manual-badge { + margin: 0; +} + +.manual-index .manual-user-index { + margin-bottom: 1em; + border-bottom: solid 1px #ddd; +} + +.manual-root .navigation { + padding-left: 4px; + margin-top: 4px; +} + +.navigation .manual-toc-root > div { + padding-left: 0.25em; + padding-right: 0.75em; +} + +.github-markdown .manual-toc-title a { + color: inherit; +} + +.manual-breadcrumb-list { + font-size: 0.8em; + margin-bottom: 1em; +} + +.manual-toc-title a:hover { + color: #039BE5; +} + +.manual-toc li { + margin: 0.75em 0; + list-style-type: none; +} + +.navigation .manual-toc [class^="indent-h"] a { + color: #666; +} + +.navigation .manual-toc .indent-h1 a { + color: #555; + font-weight: 600; + display: block; +} + +.manual-toc .indent-h1 { + display: block; + margin: 0.4em 0 0 0.25em; + padding: 0.2em 0 0.2em 0.5em; + border-radius: 0.1em; +} + +.manual-root .navigation .manual-toc li:not(.indent-h1) { + margin-top: 0.5em; +} + +.manual-toc .indent-h2 { + display: none; + margin-left: 1.5em; +} +.manual-toc .indent-h3 { + display: none; + margin-left: 2.5em; +} +.manual-toc .indent-h4 { + display: none; + margin-left: 3.5em; +} +.manual-toc .indent-h5 { + display: none; + margin-left: 4.5em; +} + +.manual-nav li { + margin: 0.75em 0; +} diff --git a/docs/css/prettify-tomorrow.css b/docs/css/prettify-tomorrow.css new file mode 100644 index 0000000..b6f92a7 --- /dev/null +++ b/docs/css/prettify-tomorrow.css @@ -0,0 +1,132 @@ +/* Tomorrow Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* Pretty printing styles. Used with prettify.js. */ +/* SPAN elements with the classes below are added by prettyprint. */ +/* plain text */ +.pln { + color: #4d4d4c; } + +@media screen { + /* string content */ + .str { + color: #718c00; } + + /* a keyword */ + .kwd { + color: #8959a8; } + + /* a comment */ + .com { + color: #8e908c; } + + /* a type name */ + .typ { + color: #4271ae; } + + /* a literal value */ + .lit { + color: #f5871f; } + + /* punctuation */ + .pun { + color: #4d4d4c; } + + /* lisp open bracket */ + .opn { + color: #4d4d4c; } + + /* lisp close bracket */ + .clo { + color: #4d4d4c; } + + /* a markup tag name */ + .tag { + color: #c82829; } + + /* a markup attribute name */ + .atn { + color: #f5871f; } + + /* a markup attribute value */ + .atv { + color: #3e999f; } + + /* a declaration */ + .dec { + color: #f5871f; } + + /* a variable name */ + .var { + color: #c82829; } + + /* a function name */ + .fun { + color: #4271ae; } } +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { + color: #060; } + + .kwd { + color: #006; + font-weight: bold; } + + .com { + color: #600; + font-style: italic; } + + .typ { + color: #404; + font-weight: bold; } + + .lit { + color: #044; } + + .pun, .opn, .clo { + color: #440; } + + .tag { + color: #006; + font-weight: bold; } + + .atn { + color: #404; } + + .atv { + color: #060; } } +/* Style */ +/* +pre.prettyprint { + background: white; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-size: 12px; + line-height: 1.5; + border: 1px solid #ccc; + padding: 10px; } +*/ + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; } + +/* IE indents via margin-left */ +li.L0, +li.L1, +li.L2, +li.L3, +li.L4, +li.L5, +li.L6, +li.L7, +li.L8, +li.L9 { + /* */ } + +/* Alternate shading for lines */ +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { + /* */ } diff --git a/docs/css/search.css b/docs/css/search.css new file mode 100644 index 0000000..9940a54 --- /dev/null +++ b/docs/css/search.css @@ -0,0 +1,84 @@ +/* search box */ +.search-box { + position: absolute; + top: 10px; + right: 50px; + padding-right: 8px; + padding-bottom: 10px; + line-height: normal; + font-size: 12px; +} + +.search-box img { + width: 20px; + vertical-align: top; +} + +.search-input { + display: inline; + visibility: hidden; + width: 0; + padding: 2px; + height: 1.5em; + outline: none; + background: transparent; + border: 1px #0af; + border-style: none none solid none; + vertical-align: bottom; +} + +.search-input-edge { + display: none; + width: 1px; + height: 5px; + background-color: #0af; + vertical-align: bottom; +} + +.search-result { + position: absolute; + display: none; + height: 600px; + width: 100%; + padding: 0; + margin-top: 5px; + margin-left: 24px; + background: white; + box-shadow: 1px 1px 4px rgb(0,0,0); + white-space: nowrap; + overflow-y: scroll; +} + +.search-result-import-path { + color: #aaa; + font-size: 12px; +} + +.search-result li { + list-style: none; + padding: 2px 4px; +} + +.search-result li a { + display: block; +} + +.search-result li.selected { + background: #ddd; +} + +.search-result li.search-separator { + background: rgb(37, 138, 175); + color: white; +} + +.search-box.active .search-input { + visibility: visible; + transition: width 0.2s ease-out; + width: 300px; +} + +.search-box.active .search-input-edge { + display: inline-block; +} + diff --git a/docs/css/source.css b/docs/css/source.css new file mode 100644 index 0000000..3b9c92d --- /dev/null +++ b/docs/css/source.css @@ -0,0 +1,55 @@ +table.files-summary { + width: 100%; + margin: 10px 0; + border-spacing: 0; + border: 0; + border-collapse: collapse; + text-align: right; +} + +table.files-summary tbody tr:hover { + background: #eee; +} + +table.files-summary td:first-child, +table.files-summary td:nth-of-type(2) { + text-align: left; +} + +table.files-summary[data-use-coverage="false"] td.coverage { + display: none; +} + +table.files-summary thead { + background: #fafafa; +} + +table.files-summary td { + border: solid 1px #ddd; + padding: 4px 10px; + vertical-align: top; +} + +table.files-summary td.identifiers > span { + display: block; + margin-top: 4px; +} +table.files-summary td.identifiers > span:first-child { + margin-top: 0; +} + +table.files-summary .coverage-count { + font-size: 12px; + color: #aaa; + display: inline-block; + min-width: 40px; +} + +.total-coverage-count { + position: relative; + bottom: 2px; + font-size: 12px; + color: #666; + font-weight: 500; + padding-left: 5px; +} diff --git a/docs/css/style.css b/docs/css/style.css new file mode 100644 index 0000000..fe3b2d9 --- /dev/null +++ b/docs/css/style.css @@ -0,0 +1,608 @@ +@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700); +@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,600,700); +@import url(./manual.css); +@import url(./source.css); +@import url(./test.css); +@import url(./identifiers.css); +@import url(./github.css); +@import url(./search.css); + +* { + margin: 0; + padding: 0; + text-decoration: none; +} + +html +{ + font-family: 'Source Sans Pro', 'Roboto', sans-serif; + overflow: auto; + /*font-size: 14px;*/ + /*color: #4d4e53;*/ + /*color: rgba(0, 0, 0, .68);*/ + color: #555; + background-color: #fff; +} + +a { + /*color: #0095dd;*/ + /*color:rgb(37, 138, 175);*/ + color: #039BE5; +} + +code a:hover { + text-decoration: underline; +} + +ul, ol { + padding-left: 20px; +} + +ul li { + list-style: disc; + margin: 4px 0; +} + +ol li { + margin: 4px 0; +} + +h1 { + margin-bottom: 10px; + font-size: 34px; + font-weight: 300; + border-bottom: solid 1px #ddd; +} + +h2 { + margin-top: 24px; + margin-bottom: 10px; + font-size: 20px; + border-bottom: solid 1px #ddd; + font-weight: 300; +} + +h3 { + position: relative; + font-size: 16px; + margin-bottom: 12px; + padding: 4px; + font-weight: 300; +} + +details { + cursor: pointer; +} + +del { + text-decoration: line-through; +} + +p { + margin-bottom: 15px; + line-height: 1.5; +} + +code { + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +pre > code { + display: block; +} + +pre.prettyprint, pre > code { + padding: 4px; + margin: 1em 0; + background-color: #f5f5f5; + border-radius: 3px; +} + +pre.prettyprint > code { + margin: 0; +} + +p > code, +li > code { + padding: 0.2em 0.5em; + margin: 0; + font-size: 85%; + background-color: rgba(0,0,0,0.04); + border-radius: 3px; +} + +.code { + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 13px; +} + +.import-path pre.prettyprint, +.import-path pre.prettyprint code { + margin: 0; + padding: 0; + border: none; + background: white; +} + +.layout-container { + /*display: flex;*/ + /*flex-direction: row;*/ + /*justify-content: flex-start;*/ + /*align-items: stretch;*/ +} + +.layout-container > header { + display: flex; + height: 40px; + line-height: 40px; + font-size: 16px; + padding: 0 10px; + margin: 0; + position: fixed; + width: 100%; + z-index: 1; + background-color: #fafafa; + top: 0; + border-bottom: solid 1px #ddd; +} +.layout-container > header > a{ + margin: 0 5px; + color: #444; +} + +.layout-container > header > a.repo-url-github { + font-size: 0; + display: inline-block; + width: 20px; + height: 38px; + background: url("../image/github.png") no-repeat center; + background-size: 20px; + vertical-align: top; +} + +.navigation { + position: fixed; + top: 0; + left: 0; + box-sizing: border-box; + width: 250px; + height: 100%; + padding-top: 40px; + padding-left: 15px; + padding-bottom: 2em; + margin-top:1em; + overflow-x: scroll; + box-shadow: rgba(255, 255, 255, 1) -1px 0 0 inset; + border-right: 1px solid #ddd; +} + +.navigation ul { + padding: 0; +} + +.navigation li { + list-style: none; + margin: 4px 0; + white-space: nowrap; +} + +.navigation li a { + color: #666; +} + +.navigation .nav-dir-path { + display: block; + margin-top: 0.7em; + margin-bottom: 0.25em; + font-weight: 600; +} + +.kind-class, +.kind-interface, +.kind-function, +.kind-typedef, +.kind-variable, +.kind-external { + margin-left: 0.75em; + width: 1.2em; + height: 1.2em; + display: inline-block; + text-align: center; + border-radius: 0.2em; + margin-right: 0.2em; + font-weight: bold; + line-height: 1.2em; +} + +.kind-class { + color: #009800; + background-color: #bfe5bf; +} + +.kind-interface { + color: #fbca04; + background-color: #fef2c0; +} + +.kind-function { + color: #6b0090; + background-color: #d6bdde; +} + +.kind-variable { + color: #eb6420; + background-color: #fad8c7; +} + +.kind-typedef { + color: #db001e; + background-color: #edbec3; +} + +.kind-external { + color: #0738c3; + background-color: #bbcbea; +} + +.summary span[class^="kind-"] { + margin-left: 0; +} + +h1 .version, +h1 .url a { + font-size: 14px; + color: #aaa; +} + +.content { + margin-top: 40px; + margin-left: 250px; + padding: 10px 50px 10px 20px; +} + +.header-notice { + font-size: 14px; + color: #aaa; + margin: 0; +} + +.expression-extends .prettyprint { + margin-left: 10px; + background: white; +} + +.extends-chain { + border-bottom: 1px solid#ddd; + padding-bottom: 10px; + margin-bottom: 10px; +} + +.extends-chain span:nth-of-type(1) { + padding-left: 10px; +} + +.extends-chain > div { + margin: 5px 0; +} + +.description table { + font-size: 14px; + border-spacing: 0; + border: 0; + border-collapse: collapse; +} + +.description thead { + background: #999; + color: white; +} + +.description table td, +.description table th { + border: solid 1px #ddd; + padding: 4px; + font-weight: normal; +} + +.flat-list ul { + padding-left: 0; +} + +.flat-list li { + display: inline; + list-style: none; +} + +table.summary { + width: 100%; + margin: 10px 0; + border-spacing: 0; + border: 0; + border-collapse: collapse; +} + +table.summary thead { + background: #fafafa; +} + +table.summary td { + border: solid 1px #ddd; + padding: 4px 10px; +} + +table.summary tbody td:nth-child(1) { + text-align: right; + white-space: nowrap; + min-width: 64px; + vertical-align: top; +} + +table.summary tbody td:nth-child(2) { + width: 100%; + border-right: none; +} + +table.summary tbody td:nth-child(3) { + white-space: nowrap; + border-left: none; + vertical-align: top; +} + +table.summary td > div:nth-of-type(2) { + padding-top: 4px; + padding-left: 15px; +} + +table.summary td p { + margin-bottom: 0; +} + +.inherited-summary thead td { + padding-left: 2px; +} + +.inherited-summary thead a { + color: white; +} + +.inherited-summary .summary tbody { + display: none; +} + +.inherited-summary .summary .toggle { + padding: 0 4px; + font-size: 12px; + cursor: pointer; +} +.inherited-summary .summary .toggle.closed:before { + content: "â–¶"; +} +.inherited-summary .summary .toggle.opened:before { + content: "â–Ľ"; +} + +.member, .method { + margin-bottom: 24px; +} + +table.params { + width: 100%; + margin: 10px 0; + border-spacing: 0; + border: 0; + border-collapse: collapse; +} + +table.params thead { + background: #eee; + color: #aaa; +} + +table.params td { + padding: 4px; + border: solid 1px #ddd; +} + +table.params td p { + margin: 0; +} + +.content .detail > * { + margin: 15px 0; +} + +.content .detail > h3 { + color: black; + background-color: #f0f0f0; +} + +.content .detail > div { + margin-left: 10px; +} + +.content .detail > .import-path { + margin-top: -8px; +} + +.content .detail + .detail { + margin-top: 30px; +} + +.content .detail .throw td:first-child { + padding-right: 10px; +} + +.content .detail h4 + :not(pre) { + padding-left: 0; + margin-left: 10px; +} + +.content .detail h4 + ul li { + list-style: none; +} + +.return-param * { + display: inline; +} + +.argument-params { + margin-bottom: 20px; +} + +.return-type { + padding-right: 10px; + font-weight: normal; +} + +.return-desc { + margin-left: 10px; + margin-top: 4px; +} + +.return-desc p { + margin: 0; +} + +.deprecated, .experimental, .instance-docs { + border-left: solid 5px orange; + padding-left: 4px; + margin: 4px 0; +} + +tr.listen p, +tr.throw p, +tr.emit p{ + margin-bottom: 10px; +} + +.version, .since { + color: #aaa; +} + +h3 .right-info { + position: absolute; + right: 4px; + font-size: 14px; +} + +.version + .since:before { + content: '| '; +} + +.see { + margin-top: 10px; +} + +.see h4 { + margin: 4px 0; +} + +.content .detail h4 + .example-doc { + margin: 6px 0; +} + +.example-caption { + position: relative; + bottom: -1px; + display: inline-block; + padding: 4px; + font-style: italic; + background-color: #f5f5f5; + font-weight: bold; + border-radius: 3px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.example-caption + pre.source-code { + margin-top: 0; + border-top-left-radius: 0; +} + +footer, .file-footer { + text-align: right; + font-style: italic; + font-weight: 100; + font-size: 13px; + margin-right: 50px; + margin-left: 270px; + border-top: 1px solid #ddd; + padding-top: 30px; + margin-top: 20px; + padding-bottom: 10px; +} + +footer img { + width: 24px; + vertical-align: middle; + padding-left: 4px; + position: relative; + top: -3px; + opacity: 0.6; +} + +pre.source-code { + padding: 4px; +} + +pre.raw-source-code > code { + padding: 0; + margin: 0; + font-size: 12px; + background: #fff; + border: solid 1px #ddd; + line-height: 1.5; +} + +pre.raw-source-code > code > ol { + counter-reset:number; + list-style:none; + margin:0; + padding:0; + overflow: hidden; +} + +pre.raw-source-code > code > ol li:before { + counter-increment: number; + content: counter(number); + display: inline-block; + min-width: 3em; + color: #aaa; + text-align: right; + padding-right: 1em; +} + +pre.source-code.line-number { + padding: 0; +} + +pre.source-code ol { + background: #eee; + padding-left: 40px; +} + +pre.source-code li { + background: white; + padding-left: 4px; + list-style: decimal; + margin: 0; +} + +pre.source-code.line-number li.active { + background: rgb(255, 255, 150) !important; +} + +pre.source-code.line-number li.error-line { + background: #ffb8bf; +} + +.inner-link-active { + /*background: rgb(255, 255, 150) !important;*/ + background: #039BE5 !important; + color: #fff !important; + padding-left: 0.1em !important; +} + +.inner-link-active a { + color: inherit; +} diff --git a/docs/css/test.css b/docs/css/test.css new file mode 100644 index 0000000..8ce1266 --- /dev/null +++ b/docs/css/test.css @@ -0,0 +1,58 @@ +table.test-summary thead { + background: #fafafa; +} + +table.test-summary thead .test-description { + width: 50%; +} + +table.test-summary { + width: 100%; + margin: 10px 0; + border-spacing: 0; + border: 0; + border-collapse: collapse; +} + +table.test-summary thead .test-count { + width: 3em; +} + +table.test-summary tbody tr:hover { + background-color: #eee; +} + +table.test-summary td { + border: solid 1px #ddd; + padding: 4px 10px; + vertical-align: top; +} + +table.test-summary td p { + margin: 0; +} + +table.test-summary tr.test-interface .toggle { + display: inline-block; + float: left; + margin-right: 4px; + cursor: pointer; + font-size: 0.8em; + padding-top: 0.25em; +} + +table.test-summary tr.test-interface .toggle.opened:before { + content: 'â–Ľ'; +} + +table.test-summary tr.test-interface .toggle.closed:before { + content: 'â–¶'; +} + +table.test-summary .test-target > span { + display: block; + margin-top: 4px; +} +table.test-summary .test-target > span:first-child { + margin-top: 0; +} diff --git a/docs/file/src/Context.js.html b/docs/file/src/Context.js.html new file mode 100644 index 0000000..8c31427 --- /dev/null +++ b/docs/file/src/Context.js.html @@ -0,0 +1,100 @@ + + + + + + src/Context.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/Context.js

+
// Import the necessary modules.
+// @flow
+import { IProvider } from './providers'
+
+/**
+ * Base context for the strategy pattern.
+ * @type {Context}
+ */
+export default class Context {
+
+  /**
+   * The provider of the context to execute.
+   * @type {IProvider}
+   */
+  provider: IProvider
+
+  /**
+   * Create a new Context object.
+   * @param {?IProvider} [provider=new IProvider()] - The provider of the
+   * context to execute.
+   */
+  constructor(provider: IProvider = new IProvider()): void {
+    /**
+     * The provider of the context to execute.
+     * @type {IProvider}
+     */
+    this.provider = provider
+  }
+
+  /**
+   * Execute the set provider.
+   * @returns {Promise<Array<Object>, Error>} - A list of scraped content.
+   */
+  execute(): Promise<Array<Object> | Error> {
+    return this.provider.scrapeConfigs()
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/Cron.js.html b/docs/file/src/Cron.js.html new file mode 100644 index 0000000..b845b25 --- /dev/null +++ b/docs/file/src/Cron.js.html @@ -0,0 +1,115 @@ + + + + + + src/Cron.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/Cron.js

+
// Import the necessary modules.
+// @flow
+import cron from 'node-cron'
+
+/**
+ * Cron class for executing the scraper periodically.
+ * @type {Cron}
+ */
+export default class Cron {
+
+  /**
+   * The cron time for scraping audios. Default is `0 0 *\/6 * * *`.
+   * @type {string}
+   */
+  cronTime: string
+
+  /**
+   * Create a new Cron object.
+   * @param {!PopApi} PopApi - The PopApi instance.
+   * @param {!Object} [options={}] - The options for the Cron middleware.
+   * @param {!string} [options.cronTime=0 0 *\/6 * * *] - The cron tab to
+   * execute the scraper.
+   * @param {?boolean} [options.start=false] - Start the cronjob on creation.
+   */
+  constructor(PopApi: any, {
+    cronTime = '0 0 */6 * * *',
+    start = false
+  }: Object = {}): void {
+    const { name } = this.constructor
+    PopApi.debug(`Registering ${name} with options: %o`, {
+      cronTime,
+      start
+    })
+
+    /**
+     * The cron time for scraping audios. Default is `0 0 *\/6 * * *`.
+     * @type {string}
+     */
+    this.cronTime = cronTime
+    PopApi.cron = this.getCron(PopApi, start)
+  }
+
+  /**
+   * Get the cron job to run.
+   * @param {!PopApi} PopApi - The PopApi instance.
+   * @param {?boolean} [start] - Start the cron job.
+   * @returns {Object} - A configured cron job.
+   */
+  getCron(PopApi: any, start?: boolean): Object {
+    return cron.schedule(this.cronTime, PopApi.scraper.scrape, start)
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/PopApiScraper.js.html b/docs/file/src/PopApiScraper.js.html new file mode 100644 index 0000000..9f80b6c --- /dev/null +++ b/docs/file/src/PopApiScraper.js.html @@ -0,0 +1,230 @@ + + + + + + src/PopApiScraper.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/PopApiScraper.js

+
// Import the necessary modules.
+// @flow
+import fs from 'fs-extra'
+import pMap from 'p-map'
+
+import Context from './Context'
+
+/** @external {PopApi} https://github.com/ChrisAlderson/pop-api */
+
+/**
+ * Class for Initiating the scraping process.
+ * @type {PopApiScraper}
+ */
+export default class PopApiScraper {
+
+  /**
+   * The context to execute the providers in.
+   * @type {Context}
+   */
+  context: Context
+
+  /**
+   * The path of the status file. Default is `./tmp/status.json`.
+   * @type {string}
+   */
+  statusPath: string
+
+  /**
+   * The path of the updated file. Default is `./tmp/updated.json`.
+   * @type {string}
+   */
+  updatedPath: string
+
+  /**
+   * A map of the installed plugins.
+   * @type {Map<any>}
+   */
+  static _installedPlugins: Map<string, any> = new Map()
+
+  /**
+   * Create a new BaseScraper object.
+   * The base modules for popcorn-api
+   * @param {!PopApi} PopApi - The PopApiScraper instance.
+   * @param {!Object} options - The options for the BaseScraper middleware.
+   * @param {!string} options.statusPath = - The path of the status file.
+   * @param {!string} options.updatedPath - The path of the updated file.
+   */
+  constructor(PopApi: any, {
+    statusPath,
+    updatedPath
+  }: Object): void {
+    const { name } = this.constructor
+    PopApi.debug(`Registering ${name} with options: %o`, {
+      statusPath,
+      updatedPath
+    })
+
+    if (!statusPath || !updatedPath) {
+      throw new TypeError('\'statusPath\' and \'updatedPath\' are required options for the PopApiScraper middleware!')
+    }
+
+    /**
+     * The context to execute the providers in.
+     * @type {Context}
+     */
+    this.context = new Context()
+    /**
+     * The path of the status file. Default is `./tmp/status.json`.
+     * @type {string}
+     */
+    this.statusPath = statusPath
+    /**
+     * The path of the updated file. Default is `./tmp/updated.json`.
+     * @type {string}
+     */
+    this.updatedPath = updatedPath
+
+    fs.createWriteStream(this.statusPath).end()
+    fs.createWriteStream(this.updatedPath).end()
+
+    PopApi.scraper = this
+  }
+
+  /**
+   * Get the status object.
+   * @returns {Promise<string, Error>} - The status of the scraping process.
+   */
+  getStatus(): Promise<string | Error> {
+    return fs.readFile(this.statusPath, 'utf8')
+  }
+
+  /**
+   * Updates the `status.json` file.
+   * @param {!string} status - The status which will be set to in the
+   * `status.json` file.
+   * @returns {Promise<undefined, Error>} - 'ok' if saved, or the error is there
+   * is one.
+   */
+  setStatus(status: string): Promise<string | Error> {
+    return fs.writeFile(this.statusPath, status, 'utf8')
+  }
+
+  /**
+   * Get the updated object.
+   * @returns {Promise<number, Error>} - The status of the scraping process.
+   */
+  getUpdated(): Promise<number | Error> {
+    return fs.readFile(this.updatedPath, 'utf8')
+      .then(res => Number(res))
+  }
+
+  /**
+   * Updates the `updated.json` file.
+   * @param {!number} updated - The epoch time when the API last started
+   * scraping.
+   * @returns {Promise<undefined, Error>} - 'ok' if saved, or the error is there
+   * is one.
+   */
+  setUpdated(updated: number): Promise<string | Error> {
+    return fs.writeFile(this.updatedPath, String(updated), 'utf8')
+  }
+
+  /**
+   * Register middleware for the PopApi framework.
+   * @param {!Function} Plugin - The plugin to use.
+   * @param {!Object} args - The arguments passed down to the constructor of
+   * the plugin.
+   * @returns {Promise<PopApiScraper>} - The PopApi instance with the installed
+   * plugins.
+   */
+  static use(Plugin: any, ...args: any): any {
+    if (PopApiScraper._installedPlugins.has(Plugin)) {
+      return this
+    }
+
+    const plugin = typeof Plugin === 'function'
+      ? new Plugin(this, ...args)
+      : null
+
+    if (plugin) {
+      PopApiScraper._installedPlugins.set(Plugin, plugin)
+    }
+
+    return this
+  }
+  /**
+   * Initiate the scraping.
+   * @param {!number} [concurrency=1] - How many providers to scrape
+   * concurrently.
+   * @returns {Promise<Array<Object>, Error>} - The array of the scraped
+   * content.
+   */
+  async scrape(concurrency?: number = 1): Promise<Array<Object> | Error> {
+    await this.setUpdated(Math.floor(new Date().getTime() / 1000))
+    const providers = PopApiScraper._installedPlugins.values()
+
+    const res = await pMap(providers, async provider => {
+      this.context.provider = provider
+      await this.setStatus(`Scraping: ${provider.name}`)
+
+      return this.context.execute()
+    }, { concurrency })
+    await this.setStatus('idle')
+
+    return res
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/http/AbstractHttpService.js.html b/docs/file/src/http/AbstractHttpService.js.html new file mode 100644 index 0000000..554115f --- /dev/null +++ b/docs/file/src/http/AbstractHttpService.js.html @@ -0,0 +1,222 @@ + + + + + + src/http/AbstractHttpService.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/http/AbstractHttpService.js

+
// Import the necessary modules.
+// @flow
+import cheerio from 'cheerio'
+import debug from 'debug'
+import { stringify } from 'querystring'
+
+import IHttpService from './IHttpService'
+import { name } from '../../package.json'
+
+/**
+ * Class for making HTTP calls.
+ * @abstract
+ * @implements {IHttpService}
+ * @type {AbstractHttpService}
+ */
+export default class AbstractHttpService extends IHttpService {
+
+  /**
+   * The base url of the website to scrape.
+   * @type {string}
+   */
+  baseUrl: string
+
+  /**
+   * The default options for the HTTP requests.
+   * @type {Object}
+   */
+  options: Object
+
+  /**
+   * The debug function for extra output.
+   * @type {Function}
+   */
+  _debug: Function
+
+  /**
+   * Create a new Request object.
+   * @param {!string} baseUrl - The base url of the website to scrape.
+   * @param {?Object} options={} - The default options for the HTTP requests.
+   */
+  constructor({baseUrl, options = {}}: Object): void {
+    super()
+
+    /**
+     * The the base url of hte website to scrape.
+     * @type {string}
+     */
+    this.baseUrl = baseUrl
+    /**
+     * The default options for the HTTP requests.
+     * @type {Object}
+     */
+    this.options = options
+    /**
+     * The debug function for extra output.
+     * @type {Function}
+     */
+    this._debug = debug(`${name}:Http`)
+  }
+
+  /**
+   * Make a GET request.
+   * @param {!string} [endpoint=''] - The endpoint to make the GET request to.
+   * @param {?Object} [opts={}] - The options for the HTTP GET
+   * request.
+   * @param {?boolean} [raw=false] - Return json object.
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  get(
+    endpoint?: string = '',
+    opts?: Object = {},
+    raw?: boolean = false
+  ): Promise<any | Error> {
+    return this.request('GET', endpoint, opts, raw)
+  }
+
+  /**
+   * Make a POST request.
+   * @param {!string} [endpoint] - The endpoint to make the POST request to.
+   * @param {?Object} [opts={}] - The options for the HTTP POST
+   * request.
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  post(
+    endpoint: string,
+    opts?: Object = {}
+  ): Promise<any | Error> {
+    return this.request('POST', endpoint, opts)
+  }
+
+  /**
+   * Make a PUT request.
+   * @param {!string} [endpoint] - The endpoint to make the PUT request to.
+   * @param {?Object} [opts={}] - The options for the HTTP PUT
+   * request.
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  put(
+    endpoint: string,
+    opts?: Object = {}
+  ): Promise<any | Error> {
+    return this.request('PUT', endpoint, opts)
+  }
+
+  /**
+   * Make a DELETE request.
+   * @param {!string} [endpoint] - The endpoint to make the DELETE request to.
+   * @param {?Object} [opts={}] - The options for the HTTP DELETE
+   * request.
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  delete(
+    endpoint: string,
+    opts?: Object = {}
+  ): Promise<any | Error> {
+    return this.request('DELETE', endpoint, opts)
+  }
+
+  /**
+   * Handle the body response string.
+   * @param {!string} body - The body to parse.
+   * @param {?boolean} raw - Return the raw body.
+   * @returns {Function|string} -  The raw body or the body parsed by
+   * cheerio.
+   */
+  handleBody(body: string, raw?: boolean): Function | string {
+    if (raw) {
+      return body
+    }
+
+    return cheerio.load(body)
+  }
+
+  /**
+   * Print the debug message.
+   * @param {!string} method - The method of the HTTP request.
+   * @param {!string} uri - The uri of the HTTP request.
+   * @param {?Object} opts=this._opts - The options for the HTTP request.
+   * @returns {undefined}
+   */
+  printDebug(method: string, uri: string, opts?: Object): void {
+    let msg = `Making ${method} request to: ${uri}`
+    if (opts) {
+      const { body, query, form } = opts
+      const s = {
+        ...body,
+        ...query,
+        ...form
+      }
+      msg += `?${stringify(s)}`
+    }
+
+    this._debug(msg)
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/http/HttpService.js.html b/docs/file/src/http/HttpService.js.html new file mode 100644 index 0000000..ef17c1e --- /dev/null +++ b/docs/file/src/http/HttpService.js.html @@ -0,0 +1,142 @@ + + + + + + src/http/HttpService.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/http/HttpService.js

+
// Import the necessary modules.
+// @flow
+import got from 'got'
+import { URL } from 'url'
+import {
+  createWriteStream,
+  unlinkSync
+} from 'fs'
+
+import AbstractHttpService from './AbstractHttpService'
+
+/**
+ * Class for making HTTP calls with the got library.
+ * @extends {AbstractHttpService}
+ * @type {HttpService}
+ */
+export default class HttpService extends AbstractHttpService {
+
+  /**
+   * Make a HTTP request.
+   * @param {!string} method - The method of the HTTP request.
+   * @param {!string} [endpoint] - The endpoint to make the HTTP request to.
+   * @param {?Object} [opts] - The options for the HTTP request.
+   * @param {?boolean} [raw] - Return the raw body.
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  request(
+    method: string,
+    endpoint: string,
+    opts?: Object,
+    raw?: boolean
+  ): Promise<any | Error> {
+    const { href } = new URL(endpoint, this.baseUrl)
+
+    const options = {
+      ...this.options,
+      ...opts,
+      method
+    }
+    this.printDebug(method, href, options)
+
+    return got(href, options)
+      .then(({ body }) => this.handleBody(body, raw))
+  }
+
+  /**
+   * Request to download an item.
+   * @param {!string} endpoint - The uri to the item.
+   * @param {!string} filePath - The name of the file to save the item.
+   * @returns {Promise<string, Error>} - Message when it's finally
+   * downloaded.
+   */
+  download(endpoint: string, filePath: string): Promise<string | Error> {
+    const { href } = new URL(endpoint, this.baseUrl)
+    this.printDebug('GET', href)
+
+    return new Promise((resolve, reject) => {
+      const stream = createWriteStream(filePath)
+      const req = got.stream(href, this.options)
+
+      req.on('error', err => {
+        req.end()
+
+        stream.end(() => unlinkSync(filePath))
+
+        const error = new Error(
+          `Error on: '${filePath}', uri: '${href}', ${err}`
+        )
+        return reject(error)
+      })
+
+      req.on('response', function () {
+        this.pipe(stream)
+        stream.on('finish', () => resolve(filePath))
+      })
+    })
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/http/IHttpService.js.html b/docs/file/src/http/IHttpService.js.html new file mode 100644 index 0000000..8453cb2 --- /dev/null +++ b/docs/file/src/http/IHttpService.js.html @@ -0,0 +1,180 @@ + + + + + + src/http/IHttpService.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/http/IHttpService.js

+
// @flow
+
+/**
+ * Interface to send HTTP requests.
+ * @interface
+ * @type {IHttpService}
+ */
+export default class IHttpService {
+
+  /**
+   * Make a GET request.
+   * @param {!string} [endpoint] - The endpoint to make the GET request to.
+   * @param {?Object} [opts={}] - The options for the HTTP GET
+   * request.
+   * @param {?boolean} [raw=false] - Return json object.
+   * @throws {Error} - Using default method: 'get'
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  get(
+    endpoint: string,
+    opts?: Object = {},
+    raw?: boolean = false
+  ): Promise<any | Error> {
+    throw new Error('Using default method: \'get\'')
+  }
+
+  /**
+   * Make a POST request.
+   * @param {!string} [endpoint] - The endpoint to make the POST request to.
+   * @param {?Object} [opts={}] - The options for the HTTP POST
+   * request.
+   * @throws {Error} - Using default method: 'post'
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  post(
+    endpoint: string,
+    opts?: Object = {}
+  ): Promise<any | Error> {
+    throw new Error('Using default method: \'post\'')
+  }
+
+  /**
+   * Make a PUT request.
+   * @param {!string} [endpoint] - The endpoint to make the PUT request to.
+   * @param {?Object} [opts={}] - The options for the HTTP PUT
+   * request.
+   * @throws {Error} - Using default method: 'put'
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  put(
+    endpoint: string,
+    opts?: Object = {}
+  ): Promise<any | Error> {
+    throw new Error('Using default method: \'put\'')
+  }
+
+  /**
+   * Make a DELETE request.
+   * @param {!string} [endpoint] - The endpoint to make the DELETE request to.
+   * @param {?Object} [opts={}] - The options for the HTTP DELETE
+   * request.
+   * @throws {Error} - Using default method: 'delete'
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  delete(
+    endpoint: string,
+    opts?: Object = {}
+  ): Promise<any | Error> {
+    throw new Error('Using default method: \'delete\'')
+  }
+
+  /**
+   * Request to download an item.
+   * @param {!string} endpoint - The uri to the item.
+   * @param {!string} filePath - The name of the file to save the item.
+   * @throws {Error} - Using default method: 'download'
+   * @returns {Promise<string, Error>} - Message when it's finally downloaded.
+   */
+  download(endpoint: string, filePath: string): Promise<string | Error> {
+    throw new Error('Using default method: \'download\'')
+  }
+
+  /**
+   * Print the debug message.
+   * @param {!string} method - The method of the HTTP request.
+   * @param {!string} uri - The uri of the HTTP request.
+   * @param {?Object} opts=this._opts - The options for the HTTP request.
+   * @throws {Error} - Using default method: 'printDebug'
+   * @returns {undefined}
+   */
+  printDebug(method: string, uri: string, opts?: Object): void {
+    throw new Error('Using default method: \'printDebug\'')
+  }
+
+  /**
+   * Make a HTTP request.
+   * @param {!string} method - The method of the HTTP request.
+   * @param {!string} [endpoint] - The endpoint to make the HTTP request to.
+   * @param {?Object} [opts] - The options for the HTTP request.
+   * @param {?boolean} [raw] - Return the raw body.
+   * @throws {Error} - Using default method: 'request'
+   * @returns {Promise<Object, Error>} - Promise with the HTML loaded in
+   * cheerio.
+   */
+  request(
+    method: string,
+    endpoint: string,
+    opts?: Object,
+    raw?: boolean
+  ): Promise<any | Error> {
+    throw new Error('Using default method: \'request\'')
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/http/index.js.html b/docs/file/src/http/index.js.html new file mode 100644 index 0000000..243f403 --- /dev/null +++ b/docs/file/src/http/index.js.html @@ -0,0 +1,66 @@ + + + + + + src/http/index.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/http/index.js

+
// Export the neseccary modules.
+export AbstractHttpService from './AbstractHttpService'
+export HttpService from './HttpService'
+export IHttpService from './IHttpService'
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/index.js.html b/docs/file/src/index.js.html new file mode 100644 index 0000000..89755fb --- /dev/null +++ b/docs/file/src/index.js.html @@ -0,0 +1,68 @@ + + + + + + src/index.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/index.js

+
// Import the necessary modules.
+export Context from './Context'
+export Cron from './Cron'
+export PopApiScraper from './PopApiScraper'
+export * from './http'
+export * from './providers'
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/providers/AbstractProvider.js.html b/docs/file/src/providers/AbstractProvider.js.html new file mode 100644 index 0000000..e5582cc --- /dev/null +++ b/docs/file/src/providers/AbstractProvider.js.html @@ -0,0 +1,142 @@ + + + + + + src/providers/AbstractProvider.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/providers/AbstractProvider.js

+
// Import the necessary.
+// @flow
+import pMap from 'p-map'
+
+import IProvider from './IProvider'
+
+/**
+ * The abstract provider for the strategy pattern.
+ * @implements {IProvider}
+ * @type {AbstractProvider}
+ */
+export default class AbstractProvider extends IProvider {
+
+  /**
+   * The name of the abstract provider.
+   * @type {string}
+   */
+  name: string
+
+  /**
+   * The max allowed concurrent web requests.
+   * @type {number}
+   */
+  maxWebRequests: number
+
+  /**
+   * The configs fro the abstract provider.
+   * @type {Array<Object>}
+   */
+  configs: Array<Object>
+
+  /**
+   * Create a nwe AbstractProvider object.
+   * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance.
+   * @param {!Object} options - The options for the AbstractProvider.
+   * @param {!string} name - The name of the AbstractProvider.
+   * @param {!Array<Object>} options.configs - The configurations of the
+   * provider.
+   * @param {!number} [maxWebRequests=2] - The max allowed concurrent web
+   * requests.
+   */
+  constructor(PopApiScraper: any, {
+    name,
+    configs,
+    maxWebRequests = 2
+  }: Object): void {
+    super()
+
+    /**
+     * The name of the abstract provider.
+     * @type {string}
+     */
+    this.name = name || this.constructor.name
+    /**
+     * The max allowed concurrent web requests.
+     * @type {number}
+     */
+    this.maxWebRequests = maxWebRequests
+    /**
+     * The configs for the abstract provider.
+     * @type {Array<Object>}
+     */
+    this.configs = configs
+  }
+
+  /**
+   * Get the contents for the configurations.
+   * @override
+   * @returns {Promise<Array<Object>, Error>} - The results of the scraped
+   * configurations.
+   */
+  scrapeConfigs(): Promise<Array<Object> | Error> {
+    return pMap(this.configs, config => {
+      return this.scrapeConfig(config)
+    }, {
+      concurrency: 1
+    })
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/providers/IProvider.js.html b/docs/file/src/providers/IProvider.js.html new file mode 100644 index 0000000..c2f1d6f --- /dev/null +++ b/docs/file/src/providers/IProvider.js.html @@ -0,0 +1,94 @@ + + + + + + src/providers/IProvider.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/providers/IProvider.js

+
// @flow
+
+/**
+ * Interface for scraping and content from various sources.
+ * @interface
+ * @type {IProvider}
+ */
+export default class IProvider {
+
+  /**
+   * Get the contents for a configuration.
+   * @param {!Object} config - The config to get content with.
+   * @abstract
+   * @throws {Error} - Using default method: '_scrapeConfig'
+   * @returns {Promise<Array<Object>, Error>} - The results of a configuration.
+   */
+  scrapeConfig(config: Object): Promise<Array<Object> | Error> {
+    throw new Error('Using default method: \'scrapeConfig\'')
+  }
+
+  /**
+   * Get the contents for the configurations.
+   * @abstract
+   * @throws {Error} - Using default method: 'scrapeConfigs'
+   * @returns {Promise<Array<Object>, Error>} - The results of the scrape
+   * configurations.
+   */
+  scrapeConfigs(): Promise<Array<Object> | Error> {
+    throw new Error('Using default method: \'scrapeConfigs\'')
+  }
+
+}
+
+ +
+ + + + + + + + + + + + diff --git a/docs/file/src/providers/index.js.html b/docs/file/src/providers/index.js.html new file mode 100644 index 0000000..a01ecfc --- /dev/null +++ b/docs/file/src/providers/index.js.html @@ -0,0 +1,65 @@ + + + + + + src/providers/index.js | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

src/providers/index.js

+
// Export the neseccary modules.
+export AbstractProvider from './AbstractProvider'
+export IProvider from './IProvider'
+
+ +
+ + + + + + + + + + + + diff --git a/docs/identifiers.html b/docs/identifiers.html new file mode 100644 index 0000000..f5d6c54 --- /dev/null +++ b/docs/identifiers.html @@ -0,0 +1,362 @@ + + + + + + Reference | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

References

+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
summary
+ public + + + + + +
+

+ C + + + Context: Context +

+
+
+ + +

Base context for the strategy pattern.

+
+
+
+ + +
+ public + + + + + +
+

+ C + + + Cron: Cron +

+
+
+ + +

Cron class for executing the scraper periodically.

+
+
+
+ + +
+ public + + + + + +
+

+ C + + + PopApiScraper: PopApiScraper +

+
+
+ + +

Class for Initiating the scraping process.

+
+
+
+ + +
+ public + + + + + +
+

+ E + + + PopApi +

+
+
+ + + +
+
+ + +
+
+
+
+

http

+
+ + + + + + + + + + + + + + + + + + + +
summary
+ public + + + abstract + + + +
+ + +

Class for making HTTP calls.

+
+
+
+ + +
+ public + + + + + +
+

+ C + + + HttpService: HttpService +

+
+
+ + +

Class for making HTTP calls with the got library.

+
+
+
+ + +
+ public + + + + + +
+

+ I + + + IHttpService: IHttpService +

+
+
+ + +

Interface to send HTTP requests.

+
+
+
+ + +
+
+
+
+

providers

+
+ + + + + + + + + + + + + + +
summary
+ public + + + + + + +
+ + +

The abstract provider for the strategy pattern.

+
+
+
+ + +
+ public + + + + + +
+

+ I + + + IProvider: IProvider +

+
+
+ + +

Interface for scraping and content from various sources.

+
+
+
+ + +
+
+
+
+ +
+
Directories
+ +
+
+
+ + + + + + + + + + + + diff --git a/docs/image/badge.svg b/docs/image/badge.svg new file mode 100644 index 0000000..b18426b --- /dev/null +++ b/docs/image/badge.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + document + document + @ratio@ + @ratio@ + + diff --git a/docs/image/brand_logo.png b/docs/image/brand_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7588fc7f648c5a3f985843b62771eeca2f49161b GIT binary patch literal 44570 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⋙I^o@OKoBA81lBy0&9nH3il_mX{C1w9u?1t*PYc@6i=WYEkzJ7KlS6mti z!}Q}?t`@QhJZ9XccN^#%C(9evVD2)G?d{M6wtzvS4e*?V*;tOqp<5c-L32GT~ z;q%UZ(?RDS%x$*!7QiIInr_dW5B|>MM-*`Sq zE*!6!eQH88`F1crh@u|1U1(cYy<~lrYKpD@^W5&J+}9eQcT3vJG|I6+9cdrc`{7o` z4T~@Fu#Cw)Tscf;KG{vGGEA~R!bq8m#2cVd`&@pP#mK(*Z=U*M?C((1te2f6ZpZc)|Hd|#M+gj8DBH{JGdceK zDP!;bi8yOdC(O6dDNsnEcP0wb@y+lE6ZkiU)11BOP#0+U%LjI-Uj%sE_H4B5h+_s7 z56}Xcqq%;$1F=eqkHJvjNwd$krI3E!CY_}9K^bR!abRRLY*r3qspLZU&>(kgao?^# zIr;R_XZW8(QuNypT%uYgyC|{!@)mx6yUdApcG-Wek3dtv#^6e8)>!x}cF18D9l@YQ z2o?4R62fI2=E2|9rz&NbC09ZdSazZQZKw?)kGcpEj$_^|VIS#P_tj=Gst6OP?1G~h zBfV^G(>uw`sV8sThCuHzT7|59c>kMQ z^pxEL2El{b+Aed;v$J?PLsMv85F(0b`8pFucy(R`7;CP`evCP`W!BewW-lINNueQmpZhQ!;)rdp&^%YMw2%UiO(FmXQ}@phjO1$3-d7 z4Ymrwy<+6ydL*0=N=hYt-YdY?b(`U3v<0*JNEJxIMx)s!^235Y?v9lG*AuC)9}2Is z6lk28uX6;b@X_rO10BPhe8e4&%7s=k+Bbg_{6b!h!#_&e6=a$AQSU$XusnjuvkIB?imC@I|zb?ynf=i0-SOZtOV4SZ9$?(ab^1<>j z9+YP^s#1NICy~SWy&)KP22E+^{*zYpbBD@Of!GT7Em)_q3%?Mn<@F=Wx$N_FAjlZ`vEXbcPUz~bWkxrZ%bfv!xh zxqqLc3Yxk?pgxJ4;CB75jNIg z^@|W(#5vLOW_CM=AI53t77P3vRG#7s>j^XEmN@WrR&3fN_Cv(}vjw=7{JV<>cfmL~ bICpm&d&+uxe_?mPFF5MT+Dg^Wt-}5XIr2hq literal 0 HcmV?d00001 diff --git a/docs/image/esdoc-logo-mini-black.png b/docs/image/esdoc-logo-mini-black.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5f9a254a27bdd14a2156eb3c66fbe2daa89459 GIT binary patch literal 5651 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 literal 0 HcmV?d00001 diff --git a/docs/image/esdoc-logo-mini.png b/docs/image/esdoc-logo-mini.png new file mode 100644 index 0000000000000000000000000000000000000000..76ba5b7d8e547bb469f0479736e96707453718b4 GIT binary patch literal 6504 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 XLyRvu{aX3a{{tgEGu={c*U0|?Dtn-9 literal 0 HcmV?d00001 diff --git a/docs/image/manual-badge.svg b/docs/image/manual-badge.svg new file mode 100644 index 0000000..4029606 --- /dev/null +++ b/docs/image/manual-badge.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + manual + manual + @value@ + @value@ + + diff --git a/docs/image/search.png b/docs/image/search.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d84b697dad0c856a822c2df0a0da46ee3e9be3 GIT binary patch literal 12704 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%0DL>M5GrSuBf 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 Vu(5TF{pSVFvnSfBRgWw~{|7^yU3&lk literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..e89e4fa --- /dev/null +++ b/docs/index.html @@ -0,0 +1,158 @@ + + + + + + Home | pop-api-scraper + + + + + + + +

+ + Manual + Reference + Source + Test + +
+ + + +

pop-api-scraper

Build Status +Windows Build +Coverage Status +Dependency Status +devDependencies Status

+

Features

The pop-api-scraper project aims to provide the core modules for the +popcorn-api scraper, but +can also be used for other purposes by using middleware.

+
    +
  • Strategy pattern with providers
  • +
  • Cronjobs
  • +
  • Scraper wrapper class
  • +
  • HttpService with got
  • +
+

Installation

 $ npm install --save pop-api-scraper pop-api
+

Documentation

+

Usage

For the basic setup you need to create a Provider (strategy) the +PopApiScraper instance can use. The PopApiScraper implements the strategy +pattern, where the providers are the strategies.

+

The example below makes a HTTP GET request to a web service or website. from +there on you are free to implement how and what data you want to get from it.

+
// ./ExampleProvider.js
+import { AbstractProvider, HttpService } from 'pop-api-scraper'
+
+// Extend from the internal AbstractProvider.
+export default class ExampleProvider extends AbstractProvider {
+
+  constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {
+    super(PopApiScraper, {name, configs, maxWebRequests})
+  }
+
+  // Override the `scrapeConfig` method to get the content from one
+  // configuration.
+  scrapeConfig(config) {
+    // A HTTP service to send HTTP requests.
+    this.httpService = new HttpService({
+      baseUrl: config.baseUrl
+    })
+
+    // HTTP  GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar
+    return this.httpService.get('/posts', config.httpOptions)
+      .then(res => res.data)
+  }
+
+}
+
+

Bundle it all up together with +pop-api:

+
// ./index.js
+import os from 'os'
+import { PopApi } from 'pop-api'
+import { join } from 'path'
+import { Cron, PopApiScraper } from 'pop-api-scraper'
+
+import ExampleProvider from './ExampleProvider'
+
+(async () => {
+  try {
+    // Let the PopApiScraper use the ExampleProvider o scrape data.
+    PopApiScraper.use(ExampleProvider, {
+      name: 'example-provider',
+      configs: [{
+        baseUrl: 'https://jsonplaceholder.typicode.com',
+        httpOptions: {
+          query: {
+            foo: 'bar'
+          }
+        }
+      }],
+      maxWebRequests: 2
+    })
+
+    // Register the PopApiScraper middleware to the pop-api instance.
+    PopApi.use(PopApiScraper, {
+      statusPath: join(...[os.tmpdir(), 'status.json']),
+      updatedPath: join(...[os.tmpdir(), 'updated.json'])
+    })
+    // Optionally you can use the Cron middleware to scrape for content on a
+    // regulat basis.
+    PopApi.use(Cron, {
+      cronTime: '0 0 */6 * * *',
+      start: false
+    })
+
+    // PopApi now has a `scraper` instance.
+    const res = await PopApi.scraper.scrape()
+    console.info(res[0])
+  } catch (err) {
+    console.error(err)
+  }
+})()
+
+

License

MIT License

+
+
+ + + + + + + + + + + + diff --git a/docs/index.json b/docs/index.json new file mode 100644 index 0000000..db51c05 --- /dev/null +++ b/docs/index.json @@ -0,0 +1,3542 @@ +[ + { + "__docId__": 1, + "kind": "external", + "name": "Infinity", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Infinity", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 2, + "kind": "external", + "name": "NaN", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~NaN", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 3, + "kind": "external", + "name": "undefined", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~undefined", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 4, + "kind": "external", + "name": "null", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~null", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 5, + "kind": "external", + "name": "Object", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Object", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 6, + "kind": "external", + "name": "object", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~object", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 7, + "kind": "external", + "name": "Function", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Function", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 8, + "kind": "external", + "name": "function", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~function", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 9, + "kind": "external", + "name": "Boolean", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Boolean", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 10, + "kind": "external", + "name": "boolean", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~boolean", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 11, + "kind": "external", + "name": "Symbol", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Symbol", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 12, + "kind": "external", + "name": "Error", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Error", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 13, + "kind": "external", + "name": "EvalError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~EvalError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 14, + "kind": "external", + "name": "InternalError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~InternalError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 15, + "kind": "external", + "name": "RangeError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~RangeError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 16, + "kind": "external", + "name": "ReferenceError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~ReferenceError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 17, + "kind": "external", + "name": "SyntaxError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~SyntaxError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 18, + "kind": "external", + "name": "TypeError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~TypeError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 19, + "kind": "external", + "name": "URIError", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~URIError", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 20, + "kind": "external", + "name": "Number", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Number", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 21, + "kind": "external", + "name": "number", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~number", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 22, + "kind": "external", + "name": "Date", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Date", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 23, + "kind": "external", + "name": "String", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~String", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 24, + "kind": "external", + "name": "string", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~string", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 25, + "kind": "external", + "name": "RegExp", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~RegExp", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 26, + "kind": "external", + "name": "Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 27, + "kind": "external", + "name": "Int8Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Int8Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 28, + "kind": "external", + "name": "Uint8Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Uint8Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 29, + "kind": "external", + "name": "Uint8ClampedArray", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Uint8ClampedArray", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 30, + "kind": "external", + "name": "Int16Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Int16Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 31, + "kind": "external", + "name": "Uint16Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Uint16Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 32, + "kind": "external", + "name": "Int32Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Int32Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 33, + "kind": "external", + "name": "Uint32Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Uint32Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 34, + "kind": "external", + "name": "Float32Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Float32Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 35, + "kind": "external", + "name": "Float64Array", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Float64Array", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 36, + "kind": "external", + "name": "Map", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Map", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 37, + "kind": "external", + "name": "Set", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Set", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 38, + "kind": "external", + "name": "WeakMap", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~WeakMap", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 39, + "kind": "external", + "name": "WeakSet", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~WeakSet", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 40, + "kind": "external", + "name": "ArrayBuffer", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~ArrayBuffer", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 41, + "kind": "external", + "name": "DataView", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~DataView", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 42, + "kind": "external", + "name": "JSON", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~JSON", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 43, + "kind": "external", + "name": "Promise", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Promise", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 44, + "kind": "external", + "name": "Generator", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Generator", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 45, + "kind": "external", + "name": "GeneratorFunction", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~GeneratorFunction", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 46, + "kind": "external", + "name": "Reflect", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Reflect", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 47, + "kind": "external", + "name": "Proxy", + "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy", + "memberof": "src/.external-ecmascript.js", + "static": true, + "longname": "src/.external-ecmascript.js~Proxy", + "access": "public", + "description": "", + "builtinExternal": true + }, + { + "__docId__": 48, + "kind": "file", + "name": "src/Context.js", + "content": "// Import the necessary modules.\n// @flow\nimport { IProvider } from './providers'\n\n/**\n * Base context for the strategy pattern.\n * @type {Context}\n */\nexport default class Context {\n\n /**\n * The provider of the context to execute.\n * @type {IProvider}\n */\n provider: IProvider\n\n /**\n * Create a new Context object.\n * @param {?IProvider} [provider=new IProvider()] - The provider of the\n * context to execute.\n */\n constructor(provider: IProvider = new IProvider()): void {\n /**\n * The provider of the context to execute.\n * @type {IProvider}\n */\n this.provider = provider\n }\n\n /**\n * Execute the set provider.\n * @returns {Promise, Error>} - A list of scraped content.\n */\n execute(): Promise | Error> {\n return this.provider.scrapeConfigs()\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/Context.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 49, + "kind": "class", + "name": "Context", + "memberof": "src/Context.js", + "static": true, + "longname": "src/Context.js~Context", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/Context.js", + "importStyle": "Context", + "description": "Base context for the strategy pattern.", + "lineNumber": 9, + "type": { + "nullable": null, + "types": [ + "Context" + ], + "spread": false, + "description": null + }, + "interface": false + }, + { + "__docId__": 50, + "kind": "member", + "name": "provider", + "memberof": "src/Context.js~Context", + "static": false, + "longname": "src/Context.js~Context#provider", + "access": "public", + "description": "The provider of the context to execute. ", + "lineNumber": 15, + "type": { + "nullable": null, + "types": [ + "IProvider" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 51, + "kind": "constructor", + "name": "constructor", + "memberof": "src/Context.js~Context", + "generator": false, + "async": false, + "static": false, + "longname": "src/Context.js~Context#constructor", + "access": "public", + "description": "Create a new Context object.", + "lineNumber": 22, + "params": [ + { + "nullable": true, + "types": [ + "IProvider" + ], + "spread": false, + "optional": true, + "defaultValue": "new IProvider()", + "defaultRaw": "new IProvider()", + "name": "provider", + "description": "The provider of the\ncontext to execute." + } + ] + }, + { + "__docId__": 53, + "kind": "method", + "name": "execute", + "memberof": "src/Context.js~Context", + "generator": false, + "async": false, + "static": false, + "longname": "src/Context.js~Context#execute", + "access": "public", + "description": "Execute the set provider. ", + "lineNumber": 34, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise, Error>} - A list of scraped content. " + } + ], + "return": { + "nullable": null, + "types": [ + "Promise, Error>" + ], + "spread": false, + "description": "A list of scraped content." + }, + "params": [] + }, + { + "__docId__": 54, + "kind": "file", + "name": "src/Cron.js", + "content": "// Import the necessary modules.\n// @flow\nimport cron from 'node-cron'\n\n/**\n * Cron class for executing the scraper periodically.\n * @type {Cron}\n */\nexport default class Cron {\n\n /**\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n */\n cronTime: string\n\n /**\n * Create a new Cron object.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {!Object} [options={}] - The options for the Cron middleware.\n * @param {!string} [options.cronTime=0 0 *\\/6 * * *] - The cron tab to\n * execute the scraper.\n * @param {?boolean} [options.start=false] - Start the cronjob on creation.\n */\n constructor(PopApi: any, {\n cronTime = '0 0 */6 * * *',\n start = false\n }: Object = {}): void {\n const { name } = this.constructor\n PopApi.debug(`Registering ${name} with options: %o`, {\n cronTime,\n start\n })\n\n /**\n * The cron time for scraping audios. Default is `0 0 *\\/6 * * *`.\n * @type {string}\n */\n this.cronTime = cronTime\n PopApi.cron = this.getCron(PopApi, start)\n }\n\n /**\n * Get the cron job to run.\n * @param {!PopApi} PopApi - The PopApi instance.\n * @param {?boolean} [start] - Start the cron job.\n * @returns {Object} - A configured cron job.\n */\n getCron(PopApi: any, start?: boolean): Object {\n return cron.schedule(this.cronTime, PopApi.scraper.scrape, start)\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/Cron.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 55, + "kind": "class", + "name": "Cron", + "memberof": "src/Cron.js", + "static": true, + "longname": "src/Cron.js~Cron", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/Cron.js", + "importStyle": "Cron", + "description": "Cron class for executing the scraper periodically.", + "lineNumber": 9, + "type": { + "nullable": null, + "types": [ + "Cron" + ], + "spread": false, + "description": null + }, + "interface": false + }, + { + "__docId__": 56, + "kind": "member", + "name": "cronTime", + "memberof": "src/Cron.js~Cron", + "static": false, + "longname": "src/Cron.js~Cron#cronTime", + "access": "public", + "description": "The cron time for scraping audios. Default is `0 0 *\\/6 * * *`. ", + "lineNumber": 15, + "type": { + "nullable": null, + "types": [ + "string" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 57, + "kind": "constructor", + "name": "constructor", + "memberof": "src/Cron.js~Cron", + "generator": false, + "async": false, + "static": false, + "longname": "src/Cron.js~Cron#constructor", + "access": "public", + "description": "Create a new Cron object.", + "lineNumber": 25, + "params": [ + { + "nullable": false, + "types": [ + "PopApi" + ], + "spread": false, + "optional": false, + "name": "PopApi", + "description": "The PopApi instance." + }, + { + "nullable": false, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "options", + "description": "The options for the Cron middleware." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "defaultValue": "0 0 *\\/6 * * *", + "defaultRaw": "0 0 *\\/6 * * *", + "name": "options.cronTime", + "description": "The cron tab to\nexecute the scraper." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": true, + "defaultValue": "false", + "defaultRaw": false, + "name": "options.start", + "description": "Start the cronjob on creation." + } + ] + }, + { + "__docId__": 59, + "kind": "method", + "name": "getCron", + "memberof": "src/Cron.js~Cron", + "generator": false, + "async": false, + "static": false, + "longname": "src/Cron.js~Cron#getCron", + "access": "public", + "description": "Get the cron job to run. ", + "lineNumber": 49, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Object} - A configured cron job. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "PopApi" + ], + "spread": false, + "optional": false, + "name": "PopApi", + "description": "The PopApi instance." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": true, + "name": "start", + "description": "Start the cron job." + } + ], + "return": { + "nullable": null, + "types": [ + "Object" + ], + "spread": false, + "description": "A configured cron job." + } + }, + { + "__docId__": 60, + "kind": "file", + "name": "src/PopApiScraper.js", + "content": "// Import the necessary modules.\n// @flow\nimport fs from 'fs-extra'\nimport pMap from 'p-map'\n\nimport Context from './Context'\n\n/** @external {PopApi} https://github.com/ChrisAlderson/pop-api */\n\n/**\n * Class for Initiating the scraping process.\n * @type {PopApiScraper}\n */\nexport default class PopApiScraper {\n\n /**\n * The context to execute the providers in.\n * @type {Context}\n */\n context: Context\n\n /**\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n */\n statusPath: string\n\n /**\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n */\n updatedPath: string\n\n /**\n * A map of the installed plugins.\n * @type {Map}\n */\n static _installedPlugins: Map = new Map()\n\n /**\n * Create a new BaseScraper object.\n * The base modules for popcorn-api\n * @param {!PopApi} PopApi - The PopApiScraper instance.\n * @param {!Object} options - The options for the BaseScraper middleware.\n * @param {!string} options.statusPath = - The path of the status file.\n * @param {!string} options.updatedPath - The path of the updated file.\n */\n constructor(PopApi: any, {\n statusPath,\n updatedPath\n }: Object): void {\n const { name } = this.constructor\n PopApi.debug(`Registering ${name} with options: %o`, {\n statusPath,\n updatedPath\n })\n\n if (!statusPath || !updatedPath) {\n throw new TypeError('\\'statusPath\\' and \\'updatedPath\\' are required options for the PopApiScraper middleware!')\n }\n\n /**\n * The context to execute the providers in.\n * @type {Context}\n */\n this.context = new Context()\n /**\n * The path of the status file. Default is `./tmp/status.json`.\n * @type {string}\n */\n this.statusPath = statusPath\n /**\n * The path of the updated file. Default is `./tmp/updated.json`.\n * @type {string}\n */\n this.updatedPath = updatedPath\n\n fs.createWriteStream(this.statusPath).end()\n fs.createWriteStream(this.updatedPath).end()\n\n PopApi.scraper = this\n }\n\n /**\n * Get the status object.\n * @returns {Promise} - The status of the scraping process.\n */\n getStatus(): Promise {\n return fs.readFile(this.statusPath, 'utf8')\n }\n\n /**\n * Updates the `status.json` file.\n * @param {!string} status - The status which will be set to in the\n * `status.json` file.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n */\n setStatus(status: string): Promise {\n return fs.writeFile(this.statusPath, status, 'utf8')\n }\n\n /**\n * Get the updated object.\n * @returns {Promise} - The status of the scraping process.\n */\n getUpdated(): Promise {\n return fs.readFile(this.updatedPath, 'utf8')\n .then(res => Number(res))\n }\n\n /**\n * Updates the `updated.json` file.\n * @param {!number} updated - The epoch time when the API last started\n * scraping.\n * @returns {Promise} - 'ok' if saved, or the error is there\n * is one.\n */\n setUpdated(updated: number): Promise {\n return fs.writeFile(this.updatedPath, String(updated), 'utf8')\n }\n\n /**\n * Register middleware for the PopApi framework.\n * @param {!Function} Plugin - The plugin to use.\n * @param {!Object} args - The arguments passed down to the constructor of\n * the plugin.\n * @returns {Promise} - The PopApi instance with the installed\n * plugins.\n */\n static use(Plugin: any, ...args: any): any {\n if (PopApiScraper._installedPlugins.has(Plugin)) {\n return this\n }\n\n const plugin = typeof Plugin === 'function'\n ? new Plugin(this, ...args)\n : null\n\n if (plugin) {\n PopApiScraper._installedPlugins.set(Plugin, plugin)\n }\n\n return this\n }\n /**\n * Initiate the scraping.\n * @param {!number} [concurrency=1] - How many providers to scrape\n * concurrently.\n * @returns {Promise, Error>} - The array of the scraped\n * content.\n */\n async scrape(concurrency?: number = 1): Promise | Error> {\n await this.setUpdated(Math.floor(new Date().getTime() / 1000))\n const providers = PopApiScraper._installedPlugins.values()\n\n const res = await pMap(providers, async provider => {\n this.context.provider = provider\n await this.setStatus(`Scraping: ${provider.name}`)\n\n return this.context.execute()\n }, { concurrency })\n await this.setStatus('idle')\n\n return res\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/PopApiScraper.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 61, + "kind": "external", + "name": "PopApi", + "externalLink": "https://github.com/ChrisAlderson/pop-api", + "memberof": "src/PopApiScraper.js", + "static": true, + "longname": "src/PopApiScraper.js~PopApi", + "access": "public", + "description": null + }, + { + "__docId__": 62, + "kind": "class", + "name": "PopApiScraper", + "memberof": "src/PopApiScraper.js", + "static": true, + "longname": "src/PopApiScraper.js~PopApiScraper", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/PopApiScraper.js", + "importStyle": "PopApiScraper", + "description": "Class for Initiating the scraping process.", + "lineNumber": 14, + "type": { + "nullable": null, + "types": [ + "PopApiScraper" + ], + "spread": false, + "description": null + }, + "interface": false + }, + { + "__docId__": 63, + "kind": "member", + "name": "context", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#context", + "access": "public", + "description": "The context to execute the providers in. ", + "lineNumber": 20, + "type": { + "nullable": null, + "types": [ + "Context" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 64, + "kind": "member", + "name": "statusPath", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#statusPath", + "access": "public", + "description": "The path of the status file. Default is `./tmp/status.json`. ", + "lineNumber": 26, + "type": { + "nullable": null, + "types": [ + "string" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 65, + "kind": "member", + "name": "updatedPath", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#updatedPath", + "access": "public", + "description": "The path of the updated file. Default is `./tmp/updated.json`. ", + "lineNumber": 32, + "type": { + "nullable": null, + "types": [ + "string" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 66, + "kind": "member", + "name": "_installedPlugins", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "static": true, + "longname": "src/PopApiScraper.js~PopApiScraper._installedPlugins", + "access": "private", + "description": "A map of the installed plugins. ", + "lineNumber": 38, + "type": { + "nullable": null, + "types": [ + "Map" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 67, + "kind": "constructor", + "name": "constructor", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": false, + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#constructor", + "access": "public", + "description": "Create a new BaseScraper object.\nThe base modules for popcorn-api", + "lineNumber": 48, + "params": [ + { + "nullable": false, + "types": [ + "PopApi" + ], + "spread": false, + "optional": false, + "name": "PopApi", + "description": "The PopApiScraper instance." + }, + { + "nullable": false, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "name": "options", + "description": "The options for the BaseScraper middleware." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "options.statusPath", + "description": "= - The path of the status file." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "options.updatedPath", + "description": "The path of the updated file." + } + ] + }, + { + "__docId__": 71, + "kind": "method", + "name": "getStatus", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": false, + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#getStatus", + "access": "public", + "description": "Get the status object. ", + "lineNumber": 88, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - The status of the scraping process. " + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "The status of the scraping process." + }, + "params": [] + }, + { + "__docId__": 72, + "kind": "method", + "name": "setStatus", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": false, + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#setStatus", + "access": "public", + "description": "Updates the `status.json` file. ", + "lineNumber": 99, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - 'ok' if saved, or the error is there\nis one. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "status", + "description": "The status which will be set to in the\n`status.json` file." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "'ok' if saved, or the error is there\nis one." + } + }, + { + "__docId__": 73, + "kind": "method", + "name": "getUpdated", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": false, + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#getUpdated", + "access": "public", + "description": "Get the updated object. ", + "lineNumber": 107, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - The status of the scraping process. " + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "The status of the scraping process." + }, + "params": [] + }, + { + "__docId__": 74, + "kind": "method", + "name": "setUpdated", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": false, + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#setUpdated", + "access": "public", + "description": "Updates the `updated.json` file. ", + "lineNumber": 119, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - 'ok' if saved, or the error is there\nis one. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "number" + ], + "spread": false, + "optional": false, + "name": "updated", + "description": "The epoch time when the API last started\nscraping." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "'ok' if saved, or the error is there\nis one." + } + }, + { + "__docId__": 75, + "kind": "method", + "name": "use", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": false, + "static": true, + "longname": "src/PopApiScraper.js~PopApiScraper.use", + "access": "public", + "description": "Register middleware for the PopApi framework. ", + "lineNumber": 131, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - The PopApi instance with the installed\nplugins. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "Function" + ], + "spread": false, + "optional": false, + "name": "Plugin", + "description": "The plugin to use." + }, + { + "nullable": false, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "name": "args", + "description": "The arguments passed down to the constructor of\nthe plugin." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "The PopApi instance with the installed\nplugins." + } + }, + { + "__docId__": 76, + "kind": "method", + "name": "scrape", + "memberof": "src/PopApiScraper.js~PopApiScraper", + "generator": false, + "async": true, + "static": false, + "longname": "src/PopApiScraper.js~PopApiScraper#scrape", + "access": "public", + "description": "Initiate the scraping. ", + "lineNumber": 153, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise, Error>} - The array of the scraped\ncontent. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "number" + ], + "spread": false, + "optional": true, + "defaultValue": "1", + "defaultRaw": 1, + "name": "concurrency", + "description": "How many providers to scrape\nconcurrently." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise, Error>" + ], + "spread": false, + "description": "The array of the scraped\ncontent." + } + }, + { + "__docId__": 77, + "kind": "file", + "name": "src/http/AbstractHttpService.js", + "content": "// Import the necessary modules.\n// @flow\nimport cheerio from 'cheerio'\nimport debug from 'debug'\nimport { stringify } from 'querystring'\n\nimport IHttpService from './IHttpService'\nimport { name } from '../../package.json'\n\n/**\n * Class for making HTTP calls.\n * @abstract\n * @implements {IHttpService}\n * @type {AbstractHttpService}\n */\nexport default class AbstractHttpService extends IHttpService {\n\n /**\n * The base url of the website to scrape.\n * @type {string}\n */\n baseUrl: string\n\n /**\n * The default options for the HTTP requests.\n * @type {Object}\n */\n options: Object\n\n /**\n * The debug function for extra output.\n * @type {Function}\n */\n _debug: Function\n\n /**\n * Create a new Request object.\n * @param {!string} baseUrl - The base url of the website to scrape.\n * @param {?Object} options={} - The default options for the HTTP requests.\n */\n constructor({baseUrl, options = {}}: Object): void {\n super()\n\n /**\n * The the base url of hte website to scrape.\n * @type {string}\n */\n this.baseUrl = baseUrl\n /**\n * The default options for the HTTP requests.\n * @type {Object}\n */\n this.options = options\n /**\n * The debug function for extra output.\n * @type {Function}\n */\n this._debug = debug(`${name}:Http`)\n }\n\n /**\n * Make a GET request.\n * @param {!string} [endpoint=''] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n get(\n endpoint?: string = '',\n opts?: Object = {},\n raw?: boolean = false\n ): Promise {\n return this.request('GET', endpoint, opts, raw)\n }\n\n /**\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n post(\n endpoint: string,\n opts?: Object = {}\n ): Promise {\n return this.request('POST', endpoint, opts)\n }\n\n /**\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n put(\n endpoint: string,\n opts?: Object = {}\n ): Promise {\n return this.request('PUT', endpoint, opts)\n }\n\n /**\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n delete(\n endpoint: string,\n opts?: Object = {}\n ): Promise {\n return this.request('DELETE', endpoint, opts)\n }\n\n /**\n * Handle the body response string.\n * @param {!string} body - The body to parse.\n * @param {?boolean} raw - Return the raw body.\n * @returns {Function|string} - The raw body or the body parsed by\n * cheerio.\n */\n handleBody(body: string, raw?: boolean): Function | string {\n if (raw) {\n return body\n }\n\n return cheerio.load(body)\n }\n\n /**\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @returns {undefined}\n */\n printDebug(method: string, uri: string, opts?: Object): void {\n let msg = `Making ${method} request to: ${uri}`\n if (opts) {\n const { body, query, form } = opts\n const s = {\n ...body,\n ...query,\n ...form\n }\n msg += `?${stringify(s)}`\n }\n\n this._debug(msg)\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/http/AbstractHttpService.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 78, + "kind": "class", + "name": "AbstractHttpService", + "memberof": "src/http/AbstractHttpService.js", + "static": true, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/http/AbstractHttpService.js", + "importStyle": "AbstractHttpService", + "description": "Class for making HTTP calls.", + "lineNumber": 16, + "type": { + "nullable": null, + "types": [ + "AbstractHttpService" + ], + "spread": false, + "description": null + }, + "abstract": true, + "interface": false, + "extends": [ + "src/http/IHttpService.js~IHttpService" + ], + "implements": [ + "IHttpService" + ] + }, + { + "__docId__": 79, + "kind": "member", + "name": "baseUrl", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#baseUrl", + "access": "public", + "description": "The base url of the website to scrape. ", + "lineNumber": 22, + "type": { + "nullable": null, + "types": [ + "string" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 80, + "kind": "member", + "name": "options", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#options", + "access": "public", + "description": "The default options for the HTTP requests. ", + "lineNumber": 28, + "type": { + "nullable": null, + "types": [ + "Object" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 81, + "kind": "member", + "name": "_debug", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#_debug", + "access": "private", + "description": "The debug function for extra output. ", + "lineNumber": 34, + "type": { + "nullable": null, + "types": [ + "Function" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 82, + "kind": "constructor", + "name": "constructor", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#constructor", + "access": "public", + "description": "Create a new Request object.", + "lineNumber": 41, + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "baseUrl", + "description": "The base url of the website to scrape." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "options", + "description": "The default options for the HTTP requests." + } + ] + }, + { + "__docId__": 86, + "kind": "method", + "name": "get", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#get", + "access": "public", + "description": "Make a GET request. ", + "lineNumber": 70, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "defaultValue": "''", + "defaultRaw": "''", + "name": "endpoint", + "description": "The endpoint to make the GET request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP GET\nrequest." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": true, + "defaultValue": "false", + "defaultRaw": false, + "name": "raw", + "description": "Return json object." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + } + }, + { + "__docId__": 87, + "kind": "method", + "name": "post", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#post", + "access": "public", + "description": "Make a POST request. ", + "lineNumber": 86, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the POST request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP POST\nrequest." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + } + }, + { + "__docId__": 88, + "kind": "method", + "name": "put", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#put", + "access": "public", + "description": "Make a PUT request. ", + "lineNumber": 101, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the PUT request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP PUT\nrequest." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + } + }, + { + "__docId__": 89, + "kind": "method", + "name": "delete", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#delete", + "access": "public", + "description": "Make a DELETE request. ", + "lineNumber": 116, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the DELETE request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP DELETE\nrequest." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + } + }, + { + "__docId__": 90, + "kind": "method", + "name": "handleBody", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#handleBody", + "access": "public", + "description": "Handle the body response string. ", + "lineNumber": 130, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Function|string} - The raw body or the body parsed by\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "body", + "description": "The body to parse." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": false, + "name": "raw", + "description": "Return the raw body." + } + ], + "return": { + "nullable": null, + "types": [ + "Function", + "string" + ], + "spread": false, + "description": "The raw body or the body parsed by\ncheerio." + } + }, + { + "__docId__": 91, + "kind": "method", + "name": "printDebug", + "memberof": "src/http/AbstractHttpService.js~AbstractHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/AbstractHttpService.js~AbstractHttpService#printDebug", + "access": "public", + "description": "Print the debug message. ", + "lineNumber": 145, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{undefined} " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "method", + "description": "The method of the HTTP request." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "uri", + "description": "The uri of the HTTP request." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "defaultValue": "this._opts", + "defaultRaw": "this._opts", + "name": "opts", + "description": "The options for the HTTP request." + } + ], + "return": { + "nullable": null, + "types": [ + "undefined" + ], + "spread": false, + "description": "" + } + }, + { + "__docId__": 92, + "kind": "file", + "name": "src/http/HttpService.js", + "content": "// Import the necessary modules.\n// @flow\nimport got from 'got'\nimport { URL } from 'url'\nimport {\n createWriteStream,\n unlinkSync\n} from 'fs'\n\nimport AbstractHttpService from './AbstractHttpService'\n\n/**\n * Class for making HTTP calls with the got library.\n * @extends {AbstractHttpService}\n * @type {HttpService}\n */\nexport default class HttpService extends AbstractHttpService {\n\n /**\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n request(\n method: string,\n endpoint: string,\n opts?: Object,\n raw?: boolean\n ): Promise {\n const { href } = new URL(endpoint, this.baseUrl)\n\n const options = {\n ...this.options,\n ...opts,\n method\n }\n this.printDebug(method, href, options)\n\n return got(href, options)\n .then(({ body }) => this.handleBody(body, raw))\n }\n\n /**\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @returns {Promise} - Message when it's finally\n * downloaded.\n */\n download(endpoint: string, filePath: string): Promise {\n const { href } = new URL(endpoint, this.baseUrl)\n this.printDebug('GET', href)\n\n return new Promise((resolve, reject) => {\n const stream = createWriteStream(filePath)\n const req = got.stream(href, this.options)\n\n req.on('error', err => {\n req.end()\n\n stream.end(() => unlinkSync(filePath))\n\n const error = new Error(\n `Error on: '${filePath}', uri: '${href}', ${err}`\n )\n return reject(error)\n })\n\n req.on('response', function () {\n this.pipe(stream)\n stream.on('finish', () => resolve(filePath))\n })\n })\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/http/HttpService.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 93, + "kind": "class", + "name": "HttpService", + "memberof": "src/http/HttpService.js", + "static": true, + "longname": "src/http/HttpService.js~HttpService", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/http/HttpService.js", + "importStyle": "HttpService", + "description": "Class for making HTTP calls with the got library.", + "lineNumber": 17, + "type": { + "nullable": null, + "types": [ + "HttpService" + ], + "spread": false, + "description": null + }, + "interface": false, + "extends": [ + "AbstractHttpService" + ] + }, + { + "__docId__": 94, + "kind": "method", + "name": "request", + "memberof": "src/http/HttpService.js~HttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/HttpService.js~HttpService#request", + "access": "public", + "description": "Make a HTTP request. ", + "lineNumber": 28, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "method", + "description": "The method of the HTTP request." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the HTTP request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "name": "opts", + "description": "The options for the HTTP request." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": true, + "name": "raw", + "description": "Return the raw body." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + } + }, + { + "__docId__": 95, + "kind": "method", + "name": "download", + "memberof": "src/http/HttpService.js~HttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/HttpService.js~HttpService#download", + "access": "public", + "description": "Request to download an item. ", + "lineNumber": 54, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Message when it's finally\ndownloaded. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "endpoint", + "description": "The uri to the item." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "filePath", + "description": "The name of the file to save the item." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Message when it's finally\ndownloaded." + } + }, + { + "__docId__": 96, + "kind": "file", + "name": "src/http/IHttpService.js", + "content": "// @flow\n\n/**\n * Interface to send HTTP requests.\n * @interface\n * @type {IHttpService}\n */\nexport default class IHttpService {\n\n /**\n * Make a GET request.\n * @param {!string} [endpoint] - The endpoint to make the GET request to.\n * @param {?Object} [opts={}] - The options for the HTTP GET\n * request.\n * @param {?boolean} [raw=false] - Return json object.\n * @throws {Error} - Using default method: 'get'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n get(\n endpoint: string,\n opts?: Object = {},\n raw?: boolean = false\n ): Promise {\n throw new Error('Using default method: \\'get\\'')\n }\n\n /**\n * Make a POST request.\n * @param {!string} [endpoint] - The endpoint to make the POST request to.\n * @param {?Object} [opts={}] - The options for the HTTP POST\n * request.\n * @throws {Error} - Using default method: 'post'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n post(\n endpoint: string,\n opts?: Object = {}\n ): Promise {\n throw new Error('Using default method: \\'post\\'')\n }\n\n /**\n * Make a PUT request.\n * @param {!string} [endpoint] - The endpoint to make the PUT request to.\n * @param {?Object} [opts={}] - The options for the HTTP PUT\n * request.\n * @throws {Error} - Using default method: 'put'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n put(\n endpoint: string,\n opts?: Object = {}\n ): Promise {\n throw new Error('Using default method: \\'put\\'')\n }\n\n /**\n * Make a DELETE request.\n * @param {!string} [endpoint] - The endpoint to make the DELETE request to.\n * @param {?Object} [opts={}] - The options for the HTTP DELETE\n * request.\n * @throws {Error} - Using default method: 'delete'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n delete(\n endpoint: string,\n opts?: Object = {}\n ): Promise {\n throw new Error('Using default method: \\'delete\\'')\n }\n\n /**\n * Request to download an item.\n * @param {!string} endpoint - The uri to the item.\n * @param {!string} filePath - The name of the file to save the item.\n * @throws {Error} - Using default method: 'download'\n * @returns {Promise} - Message when it's finally downloaded.\n */\n download(endpoint: string, filePath: string): Promise {\n throw new Error('Using default method: \\'download\\'')\n }\n\n /**\n * Print the debug message.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} uri - The uri of the HTTP request.\n * @param {?Object} opts=this._opts - The options for the HTTP request.\n * @throws {Error} - Using default method: 'printDebug'\n * @returns {undefined}\n */\n printDebug(method: string, uri: string, opts?: Object): void {\n throw new Error('Using default method: \\'printDebug\\'')\n }\n\n /**\n * Make a HTTP request.\n * @param {!string} method - The method of the HTTP request.\n * @param {!string} [endpoint] - The endpoint to make the HTTP request to.\n * @param {?Object} [opts] - The options for the HTTP request.\n * @param {?boolean} [raw] - Return the raw body.\n * @throws {Error} - Using default method: 'request'\n * @returns {Promise} - Promise with the HTML loaded in\n * cheerio.\n */\n request(\n method: string,\n endpoint: string,\n opts?: Object,\n raw?: boolean\n ): Promise {\n throw new Error('Using default method: \\'request\\'')\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/http/IHttpService.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 97, + "kind": "class", + "name": "IHttpService", + "memberof": "src/http/IHttpService.js", + "static": true, + "longname": "src/http/IHttpService.js~IHttpService", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/http/IHttpService.js", + "importStyle": "IHttpService", + "description": "Interface to send HTTP requests.", + "lineNumber": 8, + "type": { + "nullable": null, + "types": [ + "IHttpService" + ], + "spread": false, + "description": null + }, + "interface": true + }, + { + "__docId__": 98, + "kind": "method", + "name": "get", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#get", + "access": "public", + "description": "Make a GET request. ", + "lineNumber": 20, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the GET request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP GET\nrequest." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": true, + "defaultValue": "false", + "defaultRaw": false, + "name": "raw", + "description": "Return json object." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'get'" + } + ] + }, + { + "__docId__": 99, + "kind": "method", + "name": "post", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#post", + "access": "public", + "description": "Make a POST request. ", + "lineNumber": 37, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the POST request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP POST\nrequest." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'post'" + } + ] + }, + { + "__docId__": 100, + "kind": "method", + "name": "put", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#put", + "access": "public", + "description": "Make a PUT request. ", + "lineNumber": 53, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the PUT request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP PUT\nrequest." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'put'" + } + ] + }, + { + "__docId__": 101, + "kind": "method", + "name": "delete", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#delete", + "access": "public", + "description": "Make a DELETE request. ", + "lineNumber": 69, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the DELETE request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "defaultValue": "{}", + "defaultRaw": {}, + "name": "opts", + "description": "The options for the HTTP DELETE\nrequest." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'delete'" + } + ] + }, + { + "__docId__": 102, + "kind": "method", + "name": "download", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#download", + "access": "public", + "description": "Request to download an item. ", + "lineNumber": 83, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Message when it's finally downloaded. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "endpoint", + "description": "The uri to the item." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "filePath", + "description": "The name of the file to save the item." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Message when it's finally downloaded." + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'download'" + } + ] + }, + { + "__docId__": 103, + "kind": "method", + "name": "printDebug", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#printDebug", + "access": "public", + "description": "Print the debug message. ", + "lineNumber": 95, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{undefined} " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "method", + "description": "The method of the HTTP request." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "uri", + "description": "The uri of the HTTP request." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "defaultValue": "this._opts", + "defaultRaw": "this._opts", + "name": "opts", + "description": "The options for the HTTP request." + } + ], + "return": { + "nullable": null, + "types": [ + "undefined" + ], + "spread": false, + "description": "" + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'printDebug'" + } + ] + }, + { + "__docId__": 104, + "kind": "method", + "name": "request", + "memberof": "src/http/IHttpService.js~IHttpService", + "generator": false, + "async": false, + "static": false, + "longname": "src/http/IHttpService.js~IHttpService#request", + "access": "public", + "description": "Make a HTTP request. ", + "lineNumber": 109, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise} - Promise with the HTML loaded in\ncheerio. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "method", + "description": "The method of the HTTP request." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": true, + "name": "endpoint", + "description": "The endpoint to make the HTTP request to." + }, + { + "nullable": true, + "types": [ + "Object" + ], + "spread": false, + "optional": true, + "name": "opts", + "description": "The options for the HTTP request." + }, + { + "nullable": true, + "types": [ + "boolean" + ], + "spread": false, + "optional": true, + "name": "raw", + "description": "Return the raw body." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise" + ], + "spread": false, + "description": "Promise with the HTML loaded in\ncheerio." + }, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'request'" + } + ] + }, + { + "__docId__": 105, + "kind": "file", + "name": "src/http/index.js", + "content": "// Export the neseccary modules.\nexport AbstractHttpService from './AbstractHttpService'\nexport HttpService from './HttpService'\nexport IHttpService from './IHttpService'\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/http/index.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 106, + "kind": "file", + "name": "src/index.js", + "content": "// Import the necessary modules.\nexport Context from './Context'\nexport Cron from './Cron'\nexport PopApiScraper from './PopApiScraper'\nexport * from './http'\nexport * from './providers'\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/index.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 107, + "kind": "file", + "name": "src/providers/AbstractProvider.js", + "content": "// Import the necessary.\n// @flow\nimport pMap from 'p-map'\n\nimport IProvider from './IProvider'\n\n/**\n * The abstract provider for the strategy pattern.\n * @implements {IProvider}\n * @type {AbstractProvider}\n */\nexport default class AbstractProvider extends IProvider {\n\n /**\n * The name of the abstract provider.\n * @type {string}\n */\n name: string\n\n /**\n * The max allowed concurrent web requests.\n * @type {number}\n */\n maxWebRequests: number\n\n /**\n * The configs fro the abstract provider.\n * @type {Array}\n */\n configs: Array\n\n /**\n * Create a nwe AbstractProvider object.\n * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance.\n * @param {!Object} options - The options for the AbstractProvider.\n * @param {!string} name - The name of the AbstractProvider.\n * @param {!Array} options.configs - The configurations of the\n * provider.\n * @param {!number} [maxWebRequests=2] - The max allowed concurrent web\n * requests.\n */\n constructor(PopApiScraper: any, {\n name,\n configs,\n maxWebRequests = 2\n }: Object): void {\n super()\n\n /**\n * The name of the abstract provider.\n * @type {string}\n */\n this.name = name || this.constructor.name\n /**\n * The max allowed concurrent web requests.\n * @type {number}\n */\n this.maxWebRequests = maxWebRequests\n /**\n * The configs for the abstract provider.\n * @type {Array}\n */\n this.configs = configs\n }\n\n /**\n * Get the contents for the configurations.\n * @override\n * @returns {Promise, Error>} - The results of the scraped\n * configurations.\n */\n scrapeConfigs(): Promise | Error> {\n return pMap(this.configs, config => {\n return this.scrapeConfig(config)\n }, {\n concurrency: 1\n })\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/providers/AbstractProvider.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 108, + "kind": "class", + "name": "AbstractProvider", + "memberof": "src/providers/AbstractProvider.js", + "static": true, + "longname": "src/providers/AbstractProvider.js~AbstractProvider", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/providers/AbstractProvider.js", + "importStyle": "AbstractProvider", + "description": "The abstract provider for the strategy pattern.", + "lineNumber": 12, + "type": { + "nullable": null, + "types": [ + "AbstractProvider" + ], + "spread": false, + "description": null + }, + "interface": false, + "extends": [ + "src/providers/IProvider.js~IProvider" + ], + "implements": [ + "IProvider" + ] + }, + { + "__docId__": 109, + "kind": "member", + "name": "name", + "memberof": "src/providers/AbstractProvider.js~AbstractProvider", + "static": false, + "longname": "src/providers/AbstractProvider.js~AbstractProvider#name", + "access": "public", + "description": "The name of the abstract provider. ", + "lineNumber": 18, + "type": { + "nullable": null, + "types": [ + "string" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 110, + "kind": "member", + "name": "maxWebRequests", + "memberof": "src/providers/AbstractProvider.js~AbstractProvider", + "static": false, + "longname": "src/providers/AbstractProvider.js~AbstractProvider#maxWebRequests", + "access": "public", + "description": "The max allowed concurrent web requests. ", + "lineNumber": 24, + "type": { + "nullable": null, + "types": [ + "number" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 111, + "kind": "member", + "name": "configs", + "memberof": "src/providers/AbstractProvider.js~AbstractProvider", + "static": false, + "longname": "src/providers/AbstractProvider.js~AbstractProvider#configs", + "access": "public", + "description": "The configs fro the abstract provider. ", + "lineNumber": 30, + "type": { + "nullable": null, + "types": [ + "Array" + ], + "spread": false, + "description": null + } + }, + { + "__docId__": 112, + "kind": "constructor", + "name": "constructor", + "memberof": "src/providers/AbstractProvider.js~AbstractProvider", + "generator": false, + "async": false, + "static": false, + "longname": "src/providers/AbstractProvider.js~AbstractProvider#constructor", + "access": "public", + "description": "Create a nwe AbstractProvider object.", + "lineNumber": 42, + "params": [ + { + "nullable": false, + "types": [ + "PopApiScraper" + ], + "spread": false, + "optional": false, + "name": "PopApiScraper", + "description": "The PopApScraper instance." + }, + { + "nullable": false, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "name": "options", + "description": "The options for the AbstractProvider." + }, + { + "nullable": false, + "types": [ + "string" + ], + "spread": false, + "optional": false, + "name": "name", + "description": "The name of the AbstractProvider." + }, + { + "nullable": false, + "types": [ + "Array" + ], + "spread": false, + "optional": false, + "name": "options.configs", + "description": "The configurations of the\nprovider." + }, + { + "nullable": false, + "types": [ + "number" + ], + "spread": false, + "optional": true, + "defaultValue": "2", + "defaultRaw": 2, + "name": "maxWebRequests", + "description": "The max allowed concurrent web\nrequests." + } + ] + }, + { + "__docId__": 116, + "kind": "method", + "name": "scrapeConfigs", + "memberof": "src/providers/AbstractProvider.js~AbstractProvider", + "generator": false, + "async": false, + "static": false, + "longname": "src/providers/AbstractProvider.js~AbstractProvider#scrapeConfigs", + "access": "public", + "description": "Get the contents for the configurations. ", + "lineNumber": 72, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise, Error>} - The results of the scraped\nconfigurations. " + } + ], + "return": { + "nullable": null, + "types": [ + "Promise, Error>" + ], + "spread": false, + "description": "The results of the scraped\nconfigurations." + }, + "override": true, + "params": [] + }, + { + "__docId__": 117, + "kind": "file", + "name": "src/providers/IProvider.js", + "content": "// @flow\n\n/**\n * Interface for scraping and content from various sources.\n * @interface\n * @type {IProvider}\n */\nexport default class IProvider {\n\n /**\n * Get the contents for a configuration.\n * @param {!Object} config - The config to get content with.\n * @abstract\n * @throws {Error} - Using default method: '_scrapeConfig'\n * @returns {Promise, Error>} - The results of a configuration.\n */\n scrapeConfig(config: Object): Promise | Error> {\n throw new Error('Using default method: \\'scrapeConfig\\'')\n }\n\n /**\n * Get the contents for the configurations.\n * @abstract\n * @throws {Error} - Using default method: 'scrapeConfigs'\n * @returns {Promise, Error>} - The results of the scrape\n * configurations.\n */\n scrapeConfigs(): Promise | Error> {\n throw new Error('Using default method: \\'scrapeConfigs\\'')\n }\n\n}\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/providers/IProvider.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 118, + "kind": "class", + "name": "IProvider", + "memberof": "src/providers/IProvider.js", + "static": true, + "longname": "src/providers/IProvider.js~IProvider", + "access": "public", + "export": true, + "importPath": "pop-api-scraper/src/providers/IProvider.js", + "importStyle": "IProvider", + "description": "Interface for scraping and content from various sources.", + "lineNumber": 8, + "type": { + "nullable": null, + "types": [ + "IProvider" + ], + "spread": false, + "description": null + }, + "interface": true + }, + { + "__docId__": 119, + "kind": "method", + "name": "scrapeConfig", + "memberof": "src/providers/IProvider.js~IProvider", + "generator": false, + "async": false, + "static": false, + "longname": "src/providers/IProvider.js~IProvider#scrapeConfig", + "access": "public", + "description": "Get the contents for a configuration. ", + "lineNumber": 17, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise, Error>} - The results of a configuration. " + } + ], + "params": [ + { + "nullable": false, + "types": [ + "Object" + ], + "spread": false, + "optional": false, + "name": "config", + "description": "The config to get content with." + } + ], + "return": { + "nullable": null, + "types": [ + "Promise, Error>" + ], + "spread": false, + "description": "The results of a configuration." + }, + "abstract": true, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: '_scrapeConfig'" + } + ] + }, + { + "__docId__": 120, + "kind": "method", + "name": "scrapeConfigs", + "memberof": "src/providers/IProvider.js~IProvider", + "generator": false, + "async": false, + "static": false, + "longname": "src/providers/IProvider.js~IProvider#scrapeConfigs", + "access": "public", + "description": "Get the contents for the configurations. ", + "lineNumber": 28, + "unknown": [ + { + "tagName": "@returns", + "tagValue": "{Promise, Error>} - The results of the scrape\nconfigurations. " + } + ], + "return": { + "nullable": null, + "types": [ + "Promise, Error>" + ], + "spread": false, + "description": "The results of the scrape\nconfigurations." + }, + "abstract": true, + "throws": [ + { + "types": [ + "Error" + ], + "description": "Using default method: 'scrapeConfigs'" + } + ], + "params": [] + }, + { + "__docId__": 121, + "kind": "file", + "name": "src/providers/index.js", + "content": "// Export the neseccary modules.\nexport AbstractProvider from './AbstractProvider'\nexport IProvider from './IProvider'\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/src/providers/index.js", + "access": "public", + "description": null, + "lineNumber": 1 + }, + { + "kind": "index", + "content": "# pop-api-scraper\n\n[![Build Status](https://travis-ci.org/popcorn-official/pop-api-scraper.svg?branch=master)](https://travis-ci.org/popcorn-official/pop-api-scraper)\n[![Windows Build](https://img.shields.io/appveyor/ci/ChrisAlderson/pop-api-scraper/master.svg?label=windows)](https://ci.appveyor.com/project/ChrisAlderson/pop-api-scraper)\n[![Coverage Status](https://coveralls.io/repos/github/popcorn-official/pop-api-scraper/badge.svg?branch=master)](https://coveralls.io/github/popcorn-official/pop-api-scraper?branch=master)\n[![Dependency Status](https://david-dm.org/popcorn-official/pop-api-scraper.svg)](https://david-dm.org/popcorn-official/pop-api-scraper)\n[![devDependencies Status](https://david-dm.org/popcorn-official/pop-api-scraper/dev-status.svg)](https://david-dm.org/popcorn-official/pop-api-scraper?type=dev)\n\n## Features\n\nThe pop-api-scraper project aims to provide the core modules for the\n[`popcorn-api`](https://github.com/popcorn-official/popcorn-api) scraper, but\ncan also be used for other purposes by using middleware.\n - Strategy pattern with providers\n - Cronjobs\n - Scraper wrapper class\n - HttpService with [`got`](https://github.com/sindresorhus/got)\n\n## Installation\n\n```\n $ npm install --save pop-api-scraper pop-api\n```\n\n## Documentation\n\n - [General documentation](https://popcorn-official.github.io/pop-api-scraper/manual/index.html)\n - [Api docs](https://popcorn-official.github.io/pop-api-scraper/identifiers.html)\n - [Usage](https://popcorn-official.github.io/pop-api-scraper/manual/usage.html)\n - [Middleware](https://popcorn-official.github.io/pop-api-scraper/manual/middleware.html)\n\n## Usage\n\nFor the basic setup you need to create a `Provider` (strategy) the\n`PopApiScraper` instance can use. The `PopApiScraper` implements the strategy\npattern, where the providers are the strategies.\n\nThe example below makes a HTTP GET request to a web service or website. from\nthere on you are free to implement how and what data you want to get from it.\n\n```js\n// ./ExampleProvider.js\nimport { AbstractProvider, HttpService } from 'pop-api-scraper'\n\n// Extend from the internal AbstractProvider.\nexport default class ExampleProvider extends AbstractProvider {\n\n constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {\n super(PopApiScraper, {name, configs, maxWebRequests})\n }\n\n // Override the `scrapeConfig` method to get the content from one\n // configuration.\n scrapeConfig(config) {\n // A HTTP service to send HTTP requests.\n this.httpService = new HttpService({\n baseUrl: config.baseUrl\n })\n\n // HTTP GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar\n return this.httpService.get('/posts', config.httpOptions)\n .then(res => res.data)\n }\n\n}\n```\n\nBundle it all up together with\n[`pop-api`](https://github.com/popcorn-official/pop-api):\n\n```js\n// ./index.js\nimport os from 'os'\nimport { PopApi } from 'pop-api'\nimport { join } from 'path'\nimport { Cron, PopApiScraper } from 'pop-api-scraper'\n\nimport ExampleProvider from './ExampleProvider'\n\n(async () => {\n try {\n // Let the PopApiScraper use the ExampleProvider o scrape data.\n PopApiScraper.use(ExampleProvider, {\n name: 'example-provider',\n configs: [{\n baseUrl: 'https://jsonplaceholder.typicode.com',\n httpOptions: {\n query: {\n foo: 'bar'\n }\n }\n }],\n maxWebRequests: 2\n })\n\n // Register the PopApiScraper middleware to the pop-api instance.\n PopApi.use(PopApiScraper, {\n statusPath: join(...[os.tmpdir(), 'status.json']),\n updatedPath: join(...[os.tmpdir(), 'updated.json'])\n })\n // Optionally you can use the Cron middleware to scrape for content on a\n // regulat basis.\n PopApi.use(Cron, {\n cronTime: '0 0 */6 * * *',\n start: false\n })\n\n // PopApi now has a `scraper` instance.\n const res = await PopApi.scraper.scrape()\n console.info(res[0])\n } catch (err) {\n console.error(err)\n }\n})()\n```\n\n## License\n\nMIT License\n", + "longname": "/home/eosapien/Software/pop-api-scraper/README.md", + "name": "./README.md", + "static": true, + "access": "public" + }, + { + "kind": "packageJSON", + "content": "{\n \"name\": \"pop-api-scraper\",\n \"version\": \"0.1.0\",\n \"description\": \"The base modules for the popcorn-api scraper\",\n \"dependencies\": {\n \"cheerio\": \"^1.0.0-rc.2\",\n \"debug\": \"^3.1.0\",\n \"fs-extra\": \"^5.0.0\",\n \"got\": \"^8.0.1\",\n \"node-cron\": \"^1.2.1\",\n \"p-map\": \"^1.2.0\"\n },\n \"peerDependencies\": {\n \"pop-api\": \"^0.6.0\"\n },\n \"devDependencies\": {\n \"babel-cli\": \"^6.26.0\",\n \"babel-plugin-external-helpers\": \"^6.22.0\",\n \"babel-plugin-istanbul\": \"^4.1.5\",\n \"babel-plugin-transform-class-properties\": \"^6.24.1\",\n \"babel-plugin-transform-export-extensions\": \"^6.22.0\",\n \"babel-plugin-transform-object-rest-spread\": \"^6.26.0\",\n \"babel-plugin-transform-strict-mode\": \"^6.24.1\",\n \"babel-preset-env\": \"^1.6.1\",\n \"babel-preset-flow\": \"^6.23.0\",\n \"babel-register\": \"^6.26.0\",\n \"chai\": \"^4.1.2\",\n \"coveralls\": \"^3.0.0\",\n \"cross-env\": \"^5.1.3\",\n \"del\": \"^3.0.0\",\n \"esdoc\": \"^1.0.4\",\n \"esdoc-ecmascript-proposal-plugin\": \"^1.0.0\",\n \"esdoc-flow-type-plugin\": \"^1.0.1\",\n \"esdoc-standard-plugin\": \"^1.0.0\",\n \"eslint\": \"^4.14.0\",\n \"eslint-config-vixo\": \"^2.0.2\",\n \"flow\": \"^0.2.3\",\n \"flow-bin\": \"^0.61.0\",\n \"flow-typed\": \"^2.2.3\",\n \"husky\": \"^0.14.3\",\n \"mkdirp\": \"^0.5.1\",\n \"mocha\": \"^4.0.1\",\n \"nyc\": \"^11.4.1\",\n \"rollup\": \"^0.52.3\",\n \"rollup-plugin-babel\": \"^3.0.3\",\n \"rollup-plugin-json\": \"^2.3.0\",\n \"rollup-plugin-node-resolve\": \"^3.0.0\",\n \"rollup-plugin-uglify\": \"^2.0.1\",\n \"sinon\": \"^4.1.3\",\n \"standard-version\": \"^4.2.0\",\n \"uglify-es\": \"^3.3.2\"\n },\n \"license\": \"MIT\",\n \"scripts\": {\n \"build\": \"cross-env NODE_ENV=production rollup -c\",\n \"coveralls\": \"cat ./coverage/lcov.info | coveralls\",\n \"debug\": \"npm run dev --inspect\",\n \"dev\": \"cross-env DEBUG=pop-api-scraper* NODE_ENV=development node -r babel-register ./examples/exampleSetup.js\",\n \"docs\": \"esdoc -c .esdoc.json\",\n \"flow\": \"flow\",\n \"flow-typed\": \"flow-typed install\",\n \"lint\": \"eslint {example,src,test}/** *.js$\",\n \"release\": \"git add ./docs/* && standard-version -a\",\n \"precommit\": \"npm run lint && npm run flow\",\n \"prerelease\": \"npm run build && npm run docs\",\n \"prepush\": \"npm run test\",\n \"test\": \"cross-env NODE_ENV=test nyc -r=lcov -r=text mocha --exit --recursive\"\n },\n \"engines\": {\n \"node\": \">=7.10.1\"\n },\n \"keywords\": [\n \"api\",\n \"popcorn\",\n \"middleware\",\n \"scraper\"\n ],\n \"main\": \"./build/pop-api-scraper.js\",\n \"module\": \"./build/pop-api-scraper.esm.js\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/popcorn-official/pop-api-scraper.git\"\n },\n \"files\": [\n \"build/**/*\"\n ]\n}\n", + "longname": "/home/eosapien/Software/pop-api-scraper/package.json", + "name": "package.json", + "static": true, + "access": "public" + }, + { + "kind": "manualIndex", + "globalIndex": false, + "content": "# pop-api-scraper\n\n[![Build Status](https://travis-ci.org/popcorn-official/pop-api-scraper.svg?branch=master)](https://travis-ci.org/popcorn-official/pop-api-scraper)\n[![Windows Build](https://img.shields.io/appveyor/ci/ChrisAlderson/pop-api-scraper/master.svg?label=windows)](https://ci.appveyor.com/project/ChrisAlderson/pop-api-scraper)\n[![Coverage Status](https://coveralls.io/repos/github/popcorn-official/pop-api-scraper/badge.svg?branch=master)](https://coveralls.io/github/popcorn-official/pop-api-scraper?branch=master)\n[![Dependency Status](https://david-dm.org/popcorn-official/pop-api-scraper.svg)](https://david-dm.org/popcorn-official/pop-api-scraper)\n[![devDependencies Status](https://david-dm.org/popcorn-official/pop-api-scraper/dev-status.svg)](https://david-dm.org/popcorn-official/pop-api-scraper?type=dev)\n\n## Features\n\nThe pop-api-scraper project aims to provide the core modules for the\n[`popcorn-api`](https://github.com/popcorn-official/popcorn-api) scraper, but\ncan also be used for other purposes by using middleware.\n - Strategy pattern with providers\n - Cronjobs\n - Scraper wrapper class\n - HttpService with [`got`](https://github.com/sindresorhus/got)\n\n## Installation\n\n```\n $ npm install --save pop-api-scraper pop-api\n```\n\n## Documentation\n\n - [General documentation](https://popcorn-official.github.io/pop-api-scraper/manual/index.html)\n - [Api docs](https://popcorn-official.github.io/pop-api-scraper/identifiers.html)\n - [Usage](https://popcorn-official.github.io/pop-api-scraper/manual/usage.html)\n - [Middleware](https://popcorn-official.github.io/pop-api-scraper/manual/middleware.html)\n\n## Usage\n\nFor the basic setup you need to create a `Provider` (strategy) the\n`PopApiScraper` instance can use. The `PopApiScraper` implements the strategy\npattern, where the providers are the strategies.\n\nThe example below makes a HTTP GET request to a web service or website. from\nthere on you are free to implement how and what data you want to get from it.\n\n```js\n// ./ExampleProvider.js\nimport { AbstractProvider, HttpService } from 'pop-api-scraper'\n\n// Extend from the internal AbstractProvider.\nexport default class ExampleProvider extends AbstractProvider {\n\n constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {\n super(PopApiScraper, {name, configs, maxWebRequests})\n }\n\n // Override the `scrapeConfig` method to get the content from one\n // configuration.\n scrapeConfig(config) {\n // A HTTP service to send HTTP requests.\n this.httpService = new HttpService({\n baseUrl: config.baseUrl\n })\n\n // HTTP GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar\n return this.httpService.get('/posts', config.httpOptions)\n .then(res => res.data)\n }\n\n}\n```\n\nBundle it all up together with\n[`pop-api`](https://github.com/popcorn-official/pop-api):\n\n```js\n// ./index.js\nimport os from 'os'\nimport { PopApi } from 'pop-api'\nimport { join } from 'path'\nimport { Cron, PopApiScraper } from 'pop-api-scraper'\n\nimport ExampleProvider from './ExampleProvider'\n\n(async () => {\n try {\n // Let the PopApiScraper use the ExampleProvider o scrape data.\n PopApiScraper.use(ExampleProvider, {\n name: 'example-provider',\n configs: [{\n baseUrl: 'https://jsonplaceholder.typicode.com',\n httpOptions: {\n query: {\n foo: 'bar'\n }\n }\n }],\n maxWebRequests: 2\n })\n\n // Register the PopApiScraper middleware to the pop-api instance.\n PopApi.use(PopApiScraper, {\n statusPath: join(...[os.tmpdir(), 'status.json']),\n updatedPath: join(...[os.tmpdir(), 'updated.json'])\n })\n // Optionally you can use the Cron middleware to scrape for content on a\n // regulat basis.\n PopApi.use(Cron, {\n cronTime: '0 0 */6 * * *',\n start: false\n })\n\n // PopApi now has a `scraper` instance.\n const res = await PopApi.scraper.scrape()\n console.info(res[0])\n } catch (err) {\n console.error(err)\n }\n})()\n```\n\n## License\n\nMIT License\n", + "longname": "/home/eosapien/Software/pop-api-scraper/README.md", + "name": "./README.md", + "static": true, + "access": "public" + }, + { + "kind": "manual", + "longname": "/home/eosapien/Software/pop-api-scraper/manual/usage.md", + "name": "./manual/usage.md", + "content": "# Usage\n\nFor the basic setup you need to create a `Provider` (strategy) the\n`PopApiScraper` instance can use. The `PopApiScraper` implements the strategy\npattern, where the providers are the strategies.\n\nThe example below makes a HTTP GET request to a web service or website. from\nthere on you are free to implement how and what data you want to get from it.\n\n```js\n// ./ExampleProvider.js\nimport { AbstractProvider, HttpService } from 'pop-api-scraper'\n\n// Extend from the internal AbstractProvider.\nexport default class ExampleProvider extends AbstractProvider {\n\n constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {\n super(PopApiScraper, {name, configs, maxWebRequests})\n }\n\n // Override the `scrapeConfig` method to get the content from one\n // configuration.\n scrapeConfig(config) {\n // A HTTP service to send HTTP requests.\n this.httpService = new HttpService({\n baseUrl: config.baseUrl\n })\n\n // HTTP GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar\n return this.httpService.get('/posts', config.httpOptions)\n .then(res => res.data)\n }\n\n}\n```\n\nBundle it all up together with\n[`pop-api`](https://github.com/popcorn-official/pop-api):\n\n```js\n// ./index.js\nimport os from 'os'\nimport { PopApi } from 'pop-api'\nimport { join } from 'path'\nimport { Cron, PopApiScraper } from 'pop-api-scraper'\n\nimport ExampleProvider from './ExampleProvider'\n\n(async () => {\n try {\n // Let the PopApiScraper use the ExampleProvider o scrape data.\n PopApiScraper.use(ExampleProvider, {\n name: 'example-provider',\n configs: [{\n baseUrl: 'https://jsonplaceholder.typicode.com',\n httpOptions: {\n query: {\n foo: 'bar'\n }\n }\n }],\n maxWebRequests: 2\n })\n\n // Register the PopApiScraper middleware to the pop-api instance.\n PopApi.use(PopApiScraper, {\n statusPath: join(...[os.tmpdir(), 'status.json']),\n updatedPath: join(...[os.tmpdir(), 'updated.json'])\n })\n // Optionally you can use the Cron middleware to scrape for content on a\n // regulat basis.\n PopApi.use(Cron, {\n cronTime: '0 0 */6 * * *',\n start: false\n })\n\n // PopApi now has a `scraper` instance.\n const res = await PopApi.scraper.scrape()\n console.info(res[0])\n } catch (err) {\n console.error(err)\n }\n})()\n```\n", + "static": true, + "access": "public" + }, + { + "kind": "manual", + "longname": "/home/eosapien/Software/pop-api-scraper/manual/middleware.md", + "name": "./manual/middleware.md", + "content": "# Middleware\n\n - [Scraper](#scraper)\n - [Cron](#cron)\n\n## Scraper\n\nThe `PopApiScraper` middleware implements a strategy pattern where you can\nuse your own `Providers` (strageties) for scraping content from the web.\n\n```js\nimport os from 'os'\nimport { PopApi } from 'pop-api'\nimport { PopApiScraper } from 'pop-api-scraper'\nimport { join } from 'path'\n\nimport ExampleProvider from './ExampleProvider'\n\nconst providerOpts = {\n name: 'example-provider', // The name of the provider.\n configs: [{ // The configurations to scrape with.\n key: 'value' // Put anything you like into the configuration.\n }],\n maxWebRequests: 2 // The maximum concurrent web requests at a time.\n}\nPopApiScraper.use(ExampleProvider, providerOpts)\n\n// Join paths for the scraper options.\nconst tmpDir = join(...[os.tmpdir(), name])\nconst statusPath = join(...[tmpDir, 'status.json'])\nconst updatedPath = join(...[tmpDir, 'updated.json'])\n\nconst scraperOpts = {\n statusPath, // The path to the status file where the scraper status is\n // saved.\n updatedPath // The path to the updated file where the time of the scraping\n // process is saved.\n}\nPopApi.use(PopApiScraper, scraperOpts)\n\n// Start the scraping process by calling the `scrape` method.\nPopApi.scraper.scrape()\n```\n\n## Cron\n\nThe `Cron` middleware allows for the scraping process to be started regularly.\n\n```js\nimport { PopApi } from 'pop-api'\nimport { Cron } from 'pop-api-scraper'\n\nconst cronOpts = {\n cronTime: '0 0 */6 * * *', // The ctron time for the cronjob.\n start: false // Start the cron job on creation.\n}\nPopApi.use(Cron, cronOpts)\n\n// PopApi.cron will be an instance of: https://github.com/merencia/node-cron\n```\n", + "static": true, + "access": "public" + }, + { + "kind": "manual", + "longname": "/home/eosapien/Software/pop-api-scraper/CHANGELOG.md", + "name": "./CHANGELOG.md", + "content": "", + "static": true, + "access": "public" + }, + { + "kind": "manual", + "longname": "/home/eosapien/Software/pop-api-scraper/CONTRIBUTING.md", + "name": "./CONTRIBUTING.md", + "content": "# Contributing\n\nSo you're interested in giving us a hand? That's awesome! We've put together\nsome brief guidelines that should help you get started quickly and easily.\n\nThere are lots and lots of ways to get involved, this document covers:\n - [Raising Issues](#raising-issues)\n - [Report A Bug](#report-a-bug)\n - [Feature Requests](#feature-requests)\n - [Pull Requests](#pull-requests)\n - [Commit Messages](#commit-messages)\n - [Styleguides](#styleguides)\n - [JavaScript Styleguide](#javascript-styleguide)\n - [Tests Styleguide](#tests-styleguide)\n - [Documentation Styleguide](#documentation-styleguide)\n - [Setting up for development](#setting-up-for-development)\n - [npm scripts](#npm-scripts)\n - [Git hooks](#git-hooks)\n\n## Raising Issues\n\nIf you're about to raise an issue because you think that you've found a problem\nwith the application, or you'd like to make a request for a new feature in the\ncodebase, or any other reason… please read this first.\n\nThe GitHub issue tracker is the preferred channel for\n[bug reports](#report-a-bug), [feature requests](#feature-requests), and\n[pull requests](#pull-requests) but respect the following restrictions:\n\n* Please **do not** use the issue tracker for personal support requests.\n* Please **do not** derail or troll issues. Keep the discussion on topic and\nrespect the opinions of others.\n\n### Report A Bug\n\nA bug is a _demonstrable problem_ that is caused by the code in the repository.\nGood bug reports are extremely helpful - thank you!\n\nGuidelines for bug reports:\n1. **Use the GitHub issue search** — check if the issue has already been\nreported.\n2. **Check if the issue has been fixed** — try to reproduce it using the\nlatest `master` or look for [closed issues](https://github.com/popcorn-official/pop-api-scraper/issues?q=is%3Aissue+is%3Aclosed).\n3. **Include a screencast if relevant** - Is your issue about a design or front\nend feature or bug? The most helpful thing in the world is if we can *see* what\nyou're talking about. Just drop the picture after writing your issue, it'll be\nuploaded and shown to the developers.\n3. Use the Issue tab on GitHub to start [creating a bug report](https://github.com/popcorn-official/pop-api-scraper/issues/new).\nA good bug report shouldn't leave others needing to chase you up for more\ninformation. Be sure to include all the possible required details and the steps\nto take to reproduce the issue.\n\n### Feature Requests\n\nFeature requests are welcome. Before you submit one be sure to:\n1. **Use the [GitHub Issues search](https://github.com/popcorn-official/pop-api-scraper/issues)**\nand check the feature hasn't already been requested.\n2. Take a moment to think about whether your idea fits with the scope and aims\nof the project, or if it might better fit being an app/plugin.\n3. Remember, it's up to *you* to make a strong case to convince the project's\nleaders of the merits of this feature. Please provide as much detail and\ncontext as possible, this means explaining the use case and why it is likely to\nbe common.\n4. Clearly indicate whether this is a feature request for the application\nitself, or for packages like Providers, Metadatas, or other.\n\n### Pull Requests\n\nPull requests are awesome. If you're looking to raise a PR for something which\ndoesn't have an open issue, please think carefully about\n[raising an issue](#report-a-bug) which your PR can close, especially if you're\nfixing a bug. This makes it more likely that there will be enough information\navailable for your PR to be properly tested and merged. To make sure your PR is\naccepted as quickly as possible, you should be sure to have read all the\nguidelines on:\n\n* [Commit Messages](#commit-messages)\n* [Stylesguides](#styleguides)\n\n## Commit Messages\n\nThis project uses the [Conventional Commits](https://conventionalcommits.org/)\nconvention. If you are not familiar with this convention please read about it\nfirst before creating a commit message or a PR.\n\n## Styleguides\n\n### JavaScript Styleguide\n\nAll JavaScript must adhere to [JavaScript Standard Style](http://standardjs.com/).\n\n* Inline `export`s with expressions whenever possible\n ```js\n // Use this:\n export default class ClassName {\n\n }\n\n // Instead of:\n class ClassName {\n\n }\n export default ClassName\n ```\n\n### Tests Styleguide\n\n- Include thoughtfully-worded, well-structured [Mocha](https://mochajs.org/) tests in the `./test` folder.\n- Treat `describe` as a noun or situation.\n- Treat `it` as a statement about state or how an operation changes state.\n\n### Documentation Styleguide\n\n * Use [Markdown](https://daringfireball.net/projects/markdown).\n * Reference methods and classes in markdown with the custom `{}` notation:\n * Reference classes with `{ClassName}`\n * Reference instance methods with `{ClassName.methodName}`\n * Reference class methods with `{ClassName#methodName}`\n\n## Setting up for development\n\nTo setup your local machine to start working on the project you can follow these\nsteps:\n\n1. Install [NodeJS](https://nodejs.org/) (at least Node v7.10.1 or greater)\n2. Clone the repository with: `git clone https://github.com/popcorn-official/pop-api-scraper.git`\n3. Install dependencies `npm i`\n4. Install the flow-typed libraries with `npm run flow-typed`\n\n### npm scripts\n\nThe following [`npm-scripts`](https://docs.npmjs.com/misc/scripts) are available in order to help you with the\ndevelopment of the project.\n\n```\n $ npm run build # Transform the code with 'babel'\n $ npm run docs # Generate the documentation with 'esdoc'\n $ npm run debug # Run the applicaiton in debug mode\n $ npm run dev # Run the application in development mode\n $ npm run flow # Check flow typings\n $ npm run lint # Check javascript style\n $ npm run test # Run unit tests\n```\n\n### Git hooks\n\nThe following `git` hooks are available to ensure the changes you are about to\nmake follow the [styleguides](#styleguides) and make sure your changes pass the\ntests.\n\n```\npre-commit # npm run lint && npm run flow\npre-push # npm run test\n```\n", + "static": true, + "access": "public" + }, + { + "kind": "manual", + "longname": "/home/eosapien/Software/pop-api-scraper/CODE_OF_CONDUCT.md", + "name": "./CODE_OF_CONDUCT.md", + "content": "# Contributor Covenant Code of Conduct\n\n - [Our Pledge](#our-pledge)\n - [Our Standards](#our-standards)\n - [Our Responsibilities](#our-responsibilities)\n - [Scope](#scope)\n - [Enforcement](#enforcement)\n - [Attribution](#attribution)\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age,\nbody size, disability, ethnicity, gender identity and expression, level of\nexperience, nationality, personal appearance, race, religion, or sexual\nidentity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n - Using welcoming and inclusive language\n - Being respectful of differing viewpoints and experiences\n - Gracefully accepting constructive criticism\n - Focusing on what is best for the community\n - Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n - The use of sexualized language or imagery and unwelcome sexual attention or advances\n - Trolling, insulting/derogatory comments, and personal or political attacks\n - Public or private harassment\n - Publishing others' private information, such as a physical or electronic address, without explicit permission\n - Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an\nappointed representative at an online or offline event. Representation of a\nproject may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at `hello@popcorntime.sh`. The\nproject team will review and investigate all complaints, and will respond in a\nway that it deems appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an\nincident. Further details of specific enforcement policies may be posted\nseparately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the Contributor Covenant, version 1.4,\navailable at http://contributor-covenant.org/version/1/4\n", + "static": true, + "access": "public" + }, + { + "__docId__": 122, + "kind": "testFile", + "name": "test/Context.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport { expect } from 'chai'\n\nimport {\n Context,\n IProvider\n} from '../src'\n\n/** @test {Context} */\ndescribe('Context', () => {\n /**\n * The context object to test\n * @type {Context}\n */\n let context: Context\n\n /**\n * Hook for setting up the Context tests.\n * @type {Function}\n */\n before(() => {\n context = new Context()\n })\n\n /** @test {Context#execute} */\n it('should throw an error when executing the default provider', () => {\n expect(context.execute.bind(context)).to\n .throw('Using default method: \\'scrapeConfigs\\'')\n })\n\n /** @test {Context#provider} */\n it('should check if Context has a provider', () => {\n const current = context.provider\n const iProvider = new IProvider()\n context.provider = iProvider\n\n expect(context.provider).to.not.equal(current)\n expect(context.provider).to.equal(iProvider)\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/Context.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 123, + "kind": "test", + "name": "describe0", + "testId": 0, + "memberof": "test/Context.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/Context.spec.js~describe0", + "access": null, + "description": "Context", + "lineNumber": 12, + "testTargets": [ + "Context" + ] + }, + { + "__docId__": 124, + "kind": "test", + "name": "it1", + "testId": 1, + "memberof": "test/Context.spec.js~describe0", + "testDepth": 1, + "static": true, + "longname": "test/Context.spec.js~describe0.it1", + "access": null, + "description": "should throw an error when executing the default provider", + "lineNumber": 28, + "testTargets": [ + "Context#execute" + ] + }, + { + "__docId__": 125, + "kind": "test", + "name": "it2", + "testId": 2, + "memberof": "test/Context.spec.js~describe0", + "testDepth": 1, + "static": true, + "longname": "test/Context.spec.js~describe0.it2", + "access": null, + "description": "should check if Context has a provider", + "lineNumber": 34, + "testTargets": [ + "Context#provider" + ] + }, + { + "__docId__": 126, + "kind": "testFile", + "name": "test/Cron.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport del from 'del'\nimport mkdirp from 'mkdirp'\nimport { join } from 'path'\nimport { expect } from 'chai'\nimport { PopApi } from 'pop-api'\n\nimport {\n Cron,\n PopApiScraper\n} from '../src/'\n\n/** @test {Cron} */\ndescribe('Cron', () => {\n /**\n * The Cron object to test.\n * @type {Cron}\n */\n let cron: Cron\n\n /**\n * The temporary directory to store the status and updated files.\n * @type {string}\n */\n let tempDir: string\n\n /**\n * Hook for setting up the Cron tests.\n * @type {Function}\n */\n before(() => {\n tempDir = join(...[\n __dirname,\n '..',\n 'tmp'\n ])\n del.sync([tempDir])\n mkdirp.sync(tempDir)\n\n PopApi.use(PopApiScraper, {\n statusPath: join(...[tempDir, 'status.json']),\n updatedPath: join(...[tempDir, 'updated.json'])\n })\n cron = new Cron(PopApi)\n })\n\n /** @test {Cron#constructor} */\n it('should test the constructor with options.', () => {\n new Cron(PopApi, { // eslint-disable-line no-new\n cronTime: '0 0 */6 * * *'\n })\n })\n\n /** @test {Cron#constructor} */\n it('should check the attributes of the Cron', () => {\n expect(cron.cronTime).to.exist\n expect(cron.cronTime).to.be.a('string')\n })\n\n /** @test {Cron#getCron} */\n it('should get the cron object', () => {\n const res = cron.getCron(PopApi)\n expect(res).to.be.an('object')\n })\n\n /**\n * Hook for tearing down the Cron tests.\n * @type {Function}\n */\n after(() => {\n del.sync(tempDir)\n PopApi._installedPlugins = new Map()\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/Cron.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 127, + "kind": "test", + "name": "describe3", + "testId": 3, + "memberof": "test/Cron.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/Cron.spec.js~describe3", + "access": null, + "description": "Cron", + "lineNumber": 16, + "testTargets": [ + "Cron" + ] + }, + { + "__docId__": 128, + "kind": "test", + "name": "it4", + "testId": 4, + "memberof": "test/Cron.spec.js~describe3", + "testDepth": 1, + "static": true, + "longname": "test/Cron.spec.js~describe3.it4", + "access": null, + "description": "should test the constructor with options.", + "lineNumber": 50, + "testTargets": [ + "Cron#constructor" + ] + }, + { + "__docId__": 129, + "kind": "test", + "name": "it5", + "testId": 5, + "memberof": "test/Cron.spec.js~describe3", + "testDepth": 1, + "static": true, + "longname": "test/Cron.spec.js~describe3.it5", + "access": null, + "description": "should check the attributes of the Cron", + "lineNumber": 57, + "testTargets": [ + "Cron#constructor" + ] + }, + { + "__docId__": 130, + "kind": "test", + "name": "it6", + "testId": 6, + "memberof": "test/Cron.spec.js~describe3", + "testDepth": 1, + "static": true, + "longname": "test/Cron.spec.js~describe3.it6", + "access": null, + "description": "should get the cron object", + "lineNumber": 63, + "testTargets": [ + "Cron#getCron" + ] + }, + { + "__docId__": 131, + "kind": "testFile", + "name": "test/PopApiScraper.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport del from 'del'\nimport mkdirp from 'mkdirp'\nimport { expect } from 'chai'\nimport { join } from 'path'\nimport { PopApi } from 'pop-api'\n\nimport ExampleProvider from '../examples/ExampleProvider'\nimport { PopApiScraper } from '../src'\n\n/** @test {PopApiScraper} */\ndescribe('PopApiScraper', () => {\n /**\n * The PopApiScraper to test with.\n * @type {PopApiScraper}\n */\n let popApiScraper: PopApiScraper\n\n /**\n * The temporary directory to store the status and updated files.\n * @type {string}\n */\n let tempDir: string\n\n /**\n * Hook for setting up the PopApiScraper tests.\n * @type {Function}\n */\n before(() => {\n tempDir = join(...[\n __dirname,\n '..',\n 'tmp'\n ])\n del.sync([tempDir])\n mkdirp.sync(tempDir)\n\n popApiScraper = new PopApiScraper(PopApi, {\n statusPath: join(...[\n tempDir,\n 'status.json'\n ]),\n updatedPath: join(...[\n tempDir,\n 'updated.json'\n ])\n })\n })\n\n /** @test {PopApiScraper#constructor} */\n it('should check the attributes of the PopApiScraper', () => {\n expect(popApiScraper.context).to.exist\n expect(popApiScraper.context).to.be.an('object')\n expect(popApiScraper.statusPath).to.exist\n expect(popApiScraper.statusPath).to.be.a('string')\n expect(popApiScraper.updatedPath).to.exist\n expect(popApiScraper.updatedPath).to.be.a('string')\n })\n\n /** @test {PopApiScraper#constructor} */\n it('should throw an error if the required options are not given', () => {\n try {\n new PopApiScraper(PopApi, {}) // eslint-disable-line no-new\n expect(true).to.be.false\n } catch (err) {\n expect(err).to.be.an('Error')\n expect(err.message).to.equal(\n '\\'statusPath\\' and \\'updatedPath\\' are required options for the PopApiScraper middleware!'\n )\n }\n })\n\n /** @test {PopApiScraper#setStatus} */\n it('should set the status of the scraper', done => {\n popApiScraper.setStatus('status').then(res => {\n expect(res).to.be.undefined\n done()\n }).catch(done)\n })\n\n /** @test {PopApiScraper#getStatus} */\n it('should get the status of the scraper', done => {\n popApiScraper.getStatus().then(res => {\n expect(res).to.be.a('string')\n done()\n }).catch(done)\n })\n\n /** @test {PopApiScraper#setUpdated} */\n it('should set the updated status of the scraper', done => {\n popApiScraper.setUpdated(123456789).then(res => {\n expect(res).to.be.undefined\n done()\n }).catch(done)\n })\n\n /** @test {PopApiScraper#getUpdated} */\n it('should get the updated status of the scraper', done => {\n popApiScraper.getUpdated().then(res => {\n expect(res).to.be.a('number')\n done()\n }).catch(done)\n })\n\n /**\n * Helper function to test the `use` method.\n * @param {!string} msg - The message to print for the test.\n * @returns {undefined}\n */\n function testUse(msg: string): void {\n /** @test {PopApiScraper.use} */\n it(msg, () => {\n PopApiScraper.use(ExampleProvider, {\n name: 'exampleProvider',\n configs: [{\n baseUrl: 'https://jsonplaceholder.typicode.com/'\n }]\n })\n\n expect(PopApiScraper._installedPlugins).to.be.a('Map')\n expect(PopApiScraper._installedPlugins.size).to.equal(1)\n })\n }\n\n // Execute the tests.\n [\n 'should register a middleware plugin',\n 'should not register the same plugin twice'\n ].map(testUse)\n\n /** @test {PopApiScraper.use} */\n it('should not register the plugin if it is not a class', () => {\n PopApiScraper.use({})\n\n expect(PopApiScraper._installedPlugins).to.be.a('Map')\n expect(PopApiScraper._installedPlugins.size).to.equal(1)\n })\n\n /** @test {PopApiScraper#scrape} */\n it('should call the scrape method', done => {\n popApiScraper.scrape().then(res => {\n expect(res).to.be.an('array')\n done()\n }).catch(done)\n })\n\n /**\n * Hook for tearing down the PopApiScraper tests.\n * @type {Function}\n */\n after(() => {\n del.sync(tempDir)\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/PopApiScraper.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 132, + "kind": "test", + "name": "describe7", + "testId": 7, + "memberof": "test/PopApiScraper.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7", + "access": null, + "description": "PopApiScraper", + "lineNumber": 14, + "testTargets": [ + "PopApiScraper" + ] + }, + { + "__docId__": 133, + "kind": "test", + "name": "it8", + "testId": 8, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it8", + "access": null, + "description": "should check the attributes of the PopApiScraper", + "lineNumber": 53, + "testTargets": [ + "PopApiScraper#constructor" + ] + }, + { + "__docId__": 134, + "kind": "test", + "name": "it9", + "testId": 9, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it9", + "access": null, + "description": "should throw an error if the required options are not given", + "lineNumber": 63, + "testTargets": [ + "PopApiScraper#constructor" + ] + }, + { + "__docId__": 135, + "kind": "test", + "name": "it10", + "testId": 10, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it10", + "access": null, + "description": "should set the status of the scraper", + "lineNumber": 76, + "testTargets": [ + "PopApiScraper#setStatus" + ] + }, + { + "__docId__": 136, + "kind": "test", + "name": "it11", + "testId": 11, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it11", + "access": null, + "description": "should get the status of the scraper", + "lineNumber": 84, + "testTargets": [ + "PopApiScraper#getStatus" + ] + }, + { + "__docId__": 137, + "kind": "test", + "name": "it12", + "testId": 12, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it12", + "access": null, + "description": "should set the updated status of the scraper", + "lineNumber": 92, + "testTargets": [ + "PopApiScraper#setUpdated" + ] + }, + { + "__docId__": 138, + "kind": "test", + "name": "it13", + "testId": 13, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it13", + "access": null, + "description": "should get the updated status of the scraper", + "lineNumber": 100, + "testTargets": [ + "PopApiScraper#getUpdated" + ] + }, + { + "__docId__": 139, + "kind": "test", + "name": "it14", + "testId": 14, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it14", + "access": null, + "lineNumber": 114, + "testTargets": [ + "PopApiScraper.use" + ] + }, + { + "__docId__": 140, + "kind": "test", + "name": "it15", + "testId": 15, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it15", + "access": null, + "description": "should not register the plugin if it is not a class", + "lineNumber": 134, + "testTargets": [ + "PopApiScraper.use" + ] + }, + { + "__docId__": 141, + "kind": "test", + "name": "it16", + "testId": 16, + "memberof": "test/PopApiScraper.spec.js~describe7", + "testDepth": 1, + "static": true, + "longname": "test/PopApiScraper.spec.js~describe7.it16", + "access": null, + "description": "should call the scrape method", + "lineNumber": 142, + "testTargets": [ + "PopApiScraper#scrape" + ] + }, + { + "__docId__": 142, + "kind": "testFile", + "name": "test/http/AbstractHttpService.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport { expect } from 'chai'\n\nimport { AbstractHttpService } from '../../src'\n\n/** @test {AbstractHttpService} */\ndescribe('AbstractHttpService', () => {\n /**\n * The AbstractHttpService object to be tested.\n * @type {AbstractHttpService}\n */\n let abstractHttpService: AbstractHttpService\n\n /**\n * Hook for setting up the AbstractHttpService tests.\n * @type {Function}\n */\n before(() => {\n abstractHttpService = new AbstractHttpService({\n baseUrl: 'https://jsonplaceholder.typicode.com/'\n })\n })\n\n /** @test {HttpService#constructor} */\n it('should throw an error when calling the get method', () => {\n abstractHttpService = new AbstractHttpService({\n baseUrl: 'https://jsonplaceholder.typicode.com',\n options: {}\n })\n })\n\n /** @test {AbstractHttpService#get} */\n it('should throw an error when calling the get method', () => {\n expect(abstractHttpService.get.bind(abstractHttpService)).to\n .throw('Using default method: \\'request\\'')\n })\n\n /** @test {AbstractHttpService#post} */\n it('should throw an error when calling the post method', () => {\n expect(abstractHttpService.post.bind(abstractHttpService)).to\n .throw('Using default method: \\'request\\'')\n })\n\n /** @test {AbstractHttpService#put} */\n it('should throw an error when calling the put method', () => {\n expect(abstractHttpService.put.bind(abstractHttpService)).to\n .throw('Using default method: \\'request\\'')\n })\n\n /** @test {AbstractHttpService#delete} */\n it('should throw an error when calling the delete method', () => {\n expect(abstractHttpService.delete.bind(abstractHttpService)).to\n .throw('Using default method: \\'request\\'')\n })\n\n /** @test {AbstractHttpService#download} */\n it('should throw an error when calling the download method', () => {\n expect(abstractHttpService.download.bind(abstractHttpService)).to\n .throw('Using default method: \\'download\\'')\n })\n\n /** @test {AbstractHttpService#handleBody} */\n it('should get the raw body of a request', () => {\n const body = 'Test'\n const res = abstractHttpService.handleBody(body, true)\n expect(res).to.equal(body)\n })\n\n /** @test {AbstractHttpService#handleBody} */\n it('should get the body wrapped in cheerio', () => {\n const body = 'Test'\n const res = abstractHttpService.handleBody(body, false)\n expect(res).to.be.a('function')\n })\n\n /** @test {AbstractHttpService#request} */\n it('should throw an error when calling the _request method', () => {\n expect(abstractHttpService.request.bind(abstractHttpService)).to\n .throw('Using default method: \\'request\\'')\n })\n\n /** @test {AbstractHttpService#printDebug} */\n it('should throw an error when calling the _printDebug method', () => {\n const url = 'https://jsonplaceholder.typicode.com'\n const toStringify = {\n key: 'value'\n }\n\n let res = abstractHttpService.printDebug('GET', url, {\n body: toStringify\n })\n expect(res).to.be.undefined\n\n res = abstractHttpService.printDebug('GET', url, {\n query: toStringify\n })\n expect(res).to.be.undefined\n\n res = abstractHttpService.printDebug('GET', url, {\n form: toStringify\n })\n expect(res).to.be.undefined\n\n res = abstractHttpService.printDebug('GET', url, {})\n expect(res).to.be.undefined\n\n res = abstractHttpService.printDebug('GET', url)\n expect(res).to.be.undefined\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/http/AbstractHttpService.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 143, + "kind": "test", + "name": "describe17", + "testId": 17, + "memberof": "test/http/AbstractHttpService.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17", + "access": null, + "description": "AbstractHttpService", + "lineNumber": 9, + "testTargets": [ + "AbstractHttpService" + ] + }, + { + "__docId__": 144, + "kind": "test", + "name": "it18", + "testId": 18, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it18", + "access": null, + "description": "should throw an error when calling the get method", + "lineNumber": 27, + "testTargets": [ + "HttpService#constructor" + ] + }, + { + "__docId__": 145, + "kind": "test", + "name": "it19", + "testId": 19, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it19", + "access": null, + "description": "should throw an error when calling the get method", + "lineNumber": 35, + "testTargets": [ + "AbstractHttpService#get" + ] + }, + { + "__docId__": 146, + "kind": "test", + "name": "it20", + "testId": 20, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it20", + "access": null, + "description": "should throw an error when calling the post method", + "lineNumber": 41, + "testTargets": [ + "AbstractHttpService#post" + ] + }, + { + "__docId__": 147, + "kind": "test", + "name": "it21", + "testId": 21, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it21", + "access": null, + "description": "should throw an error when calling the put method", + "lineNumber": 47, + "testTargets": [ + "AbstractHttpService#put" + ] + }, + { + "__docId__": 148, + "kind": "test", + "name": "it22", + "testId": 22, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it22", + "access": null, + "description": "should throw an error when calling the delete method", + "lineNumber": 53, + "testTargets": [ + "AbstractHttpService#delete" + ] + }, + { + "__docId__": 149, + "kind": "test", + "name": "it23", + "testId": 23, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it23", + "access": null, + "description": "should throw an error when calling the download method", + "lineNumber": 59, + "testTargets": [ + "AbstractHttpService#download" + ] + }, + { + "__docId__": 150, + "kind": "test", + "name": "it24", + "testId": 24, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it24", + "access": null, + "description": "should get the raw body of a request", + "lineNumber": 65, + "testTargets": [ + "AbstractHttpService#handleBody" + ] + }, + { + "__docId__": 151, + "kind": "test", + "name": "it25", + "testId": 25, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it25", + "access": null, + "description": "should get the body wrapped in cheerio", + "lineNumber": 72, + "testTargets": [ + "AbstractHttpService#handleBody" + ] + }, + { + "__docId__": 152, + "kind": "test", + "name": "it26", + "testId": 26, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it26", + "access": null, + "description": "should throw an error when calling the _request method", + "lineNumber": 79, + "testTargets": [ + "AbstractHttpService#request" + ] + }, + { + "__docId__": 153, + "kind": "test", + "name": "it27", + "testId": 27, + "memberof": "test/http/AbstractHttpService.spec.js~describe17", + "testDepth": 1, + "static": true, + "longname": "test/http/AbstractHttpService.spec.js~describe17.it27", + "access": null, + "description": "should throw an error when calling the _printDebug method", + "lineNumber": 85, + "testTargets": [ + "AbstractHttpService#printDebug" + ] + }, + { + "__docId__": 154, + "kind": "testFile", + "name": "test/http/HttpService.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport del from 'del'\nimport mkdirp from 'mkdirp'\nimport { expect } from 'chai'\nimport { existsSync } from 'fs'\nimport { join } from 'path'\n\nimport { HttpService } from '../../src'\n\n/** @test {HttpService} */\ndescribe('HttpService', () => {\n /**\n * The HttpService object to be tested.\n * @type {HttpService}\n */\n let httpService: HttpService\n\n /**\n * The temporary directory to store the status and updated files.\n * @type {string}\n */\n let tempDir: string\n\n /**\n * Hook for setting up the HttpService tests.\n * @type {Function}\n */\n before(() => {\n tempDir = join(...[\n __dirname,\n '..',\n '..',\n 'tmp'\n ])\n del.sync([tempDir])\n mkdirp.sync(tempDir)\n\n httpService = new HttpService({\n baseUrl: 'https://jsonplaceholder.typicode.com/'\n })\n })\n\n /** @test {HttpService#request} */\n it('should make a successful HTTP request', done => {\n httpService.request('GET', 'posts/1', {\n json: true\n }, true).then(res => {\n expect(res).to.be.an('object')\n done()\n }).catch(done)\n })\n\n /** @test {HttpService#download} */\n it('should fail to download a given link', done => {\n const fileName = 'file.json'\n const filePath = join(...[tempDir, fileName])\n const endpoint = '/faulty/1'\n\n expect(existsSync(filePath)).to.be.false\n\n httpService.download(endpoint, fileName)\n .then(done)\n .catch(() => {\n expect(existsSync(filePath)).to.be.false\n done()\n })\n })\n\n /** @test {HttpService#download} */\n it('should successfully download a given link', done => {\n const fileName = 'file.json'\n const filePath = join(...[tempDir, fileName])\n const endpoint = '/posts/1'\n\n expect(existsSync(filePath)).to.be.false\n\n httpService.download(endpoint, filePath).then(res => {\n expect(res).to.be.a('string')\n expect(existsSync(filePath)).to.be.true\n\n done()\n }).catch(done)\n })\n\n /**\n * Hook for tearing down the HttpService tests.\n * @type {Function}\n */\n after(() => {\n del.sync(tempDir)\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/http/HttpService.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 155, + "kind": "test", + "name": "describe28", + "testId": 28, + "memberof": "test/http/HttpService.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/http/HttpService.spec.js~describe28", + "access": null, + "description": "HttpService", + "lineNumber": 13, + "testTargets": [ + "HttpService" + ] + }, + { + "__docId__": 156, + "kind": "test", + "name": "it29", + "testId": 29, + "memberof": "test/http/HttpService.spec.js~describe28", + "testDepth": 1, + "static": true, + "longname": "test/http/HttpService.spec.js~describe28.it29", + "access": null, + "description": "should make a successful HTTP request", + "lineNumber": 46, + "testTargets": [ + "HttpService#request" + ] + }, + { + "__docId__": 157, + "kind": "test", + "name": "it30", + "testId": 30, + "memberof": "test/http/HttpService.spec.js~describe28", + "testDepth": 1, + "static": true, + "longname": "test/http/HttpService.spec.js~describe28.it30", + "access": null, + "description": "should fail to download a given link", + "lineNumber": 56, + "testTargets": [ + "HttpService#download" + ] + }, + { + "__docId__": 158, + "kind": "test", + "name": "it31", + "testId": 31, + "memberof": "test/http/HttpService.spec.js~describe28", + "testDepth": 1, + "static": true, + "longname": "test/http/HttpService.spec.js~describe28.it31", + "access": null, + "description": "should successfully download a given link", + "lineNumber": 72, + "testTargets": [ + "HttpService#download" + ] + }, + { + "__docId__": 159, + "kind": "testFile", + "name": "test/http/IHttpService.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport { expect } from 'chai'\n\nimport { IHttpService } from '../../src'\n\n/** @test {IHttpService} */\ndescribe('IHttpService', () => {\n /**\n * The IHttpService object to be tested.\n * @type {IHttpService}\n */\n let iHttpService: IHttpService\n\n /**\n * Hook for setting up the IHttpService tests.\n * @type {Function}\n */\n before(() => {\n iHttpService = new IHttpService()\n })\n\n /** @test {IHttpService#get} */\n it('should throw an error when calling the get method', () => {\n expect(iHttpService.get).to\n .throw('Using default method: \\'get\\'')\n })\n\n /** @test {IHttpService#post} */\n it('should throw an error when calling the post method', () => {\n expect(iHttpService.post).to\n .throw('Using default method: \\'post\\'')\n })\n /** @test {IHttpService#put} */\n it('should throw an error when calling the put method', () => {\n expect(iHttpService.put).to\n .throw('Using default method: \\'put\\'')\n })\n /** @test {IHttpService#delete} */\n it('should throw an error when calling the delete method', () => {\n expect(iHttpService.delete).to\n .throw('Using default method: \\'delete\\'')\n })\n\n /** @test {IHttpService#printDebug} */\n it('should throw an error when calling the printDebug method', () => {\n expect(iHttpService.printDebug).to\n .throw('Using default method: \\'printDebug\\'')\n })\n\n /** @test {IHttpService#request} */\n it('should throw an error when calling the request method', () => {\n expect(iHttpService.request).to\n .throw('Using default method: \\'request\\'')\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/http/IHttpService.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 160, + "kind": "test", + "name": "describe32", + "testId": 32, + "memberof": "test/http/IHttpService.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32", + "access": null, + "description": "IHttpService", + "lineNumber": 9, + "testTargets": [ + "IHttpService" + ] + }, + { + "__docId__": 161, + "kind": "test", + "name": "it33", + "testId": 33, + "memberof": "test/http/IHttpService.spec.js~describe32", + "testDepth": 1, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32.it33", + "access": null, + "description": "should throw an error when calling the get method", + "lineNumber": 25, + "testTargets": [ + "IHttpService#get" + ] + }, + { + "__docId__": 162, + "kind": "test", + "name": "it34", + "testId": 34, + "memberof": "test/http/IHttpService.spec.js~describe32", + "testDepth": 1, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32.it34", + "access": null, + "description": "should throw an error when calling the post method", + "lineNumber": 31, + "testTargets": [ + "IHttpService#post" + ] + }, + { + "__docId__": 163, + "kind": "test", + "name": "it35", + "testId": 35, + "memberof": "test/http/IHttpService.spec.js~describe32", + "testDepth": 1, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32.it35", + "access": null, + "description": "should throw an error when calling the put method", + "lineNumber": 36, + "testTargets": [ + "IHttpService#put" + ] + }, + { + "__docId__": 164, + "kind": "test", + "name": "it36", + "testId": 36, + "memberof": "test/http/IHttpService.spec.js~describe32", + "testDepth": 1, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32.it36", + "access": null, + "description": "should throw an error when calling the delete method", + "lineNumber": 41, + "testTargets": [ + "IHttpService#delete" + ] + }, + { + "__docId__": 165, + "kind": "test", + "name": "it37", + "testId": 37, + "memberof": "test/http/IHttpService.spec.js~describe32", + "testDepth": 1, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32.it37", + "access": null, + "description": "should throw an error when calling the printDebug method", + "lineNumber": 47, + "testTargets": [ + "IHttpService#printDebug" + ] + }, + { + "__docId__": 166, + "kind": "test", + "name": "it38", + "testId": 38, + "memberof": "test/http/IHttpService.spec.js~describe32", + "testDepth": 1, + "static": true, + "longname": "test/http/IHttpService.spec.js~describe32.it38", + "access": null, + "description": "should throw an error when calling the request method", + "lineNumber": 53, + "testTargets": [ + "IHttpService#request" + ] + }, + { + "__docId__": 167, + "kind": "testFile", + "name": "test/providers/AbstractProvider.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport { expect } from 'chai'\n\nimport { AbstractProvider } from '../../src'\n\n/** @test {AbstractProvider} */\ndescribe('AbstractProvider', () => {\n /** @test {AbstractProvider#scrapeConfigs} */\n it('should throw an error when calling the scrapeConfigs method', done => {\n const abstractProvider = new AbstractProvider({}, {\n baseUrl: 'https://jsonplaceholder.typicode.com/',\n configs: [{}]\n })\n\n abstractProvider.scrapeConfigs()\n .then(done)\n .catch(err => {\n expect(err).to.be.an('Error')\n done()\n })\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/providers/AbstractProvider.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 168, + "kind": "test", + "name": "describe39", + "testId": 39, + "memberof": "test/providers/AbstractProvider.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/providers/AbstractProvider.spec.js~describe39", + "access": null, + "description": "AbstractProvider", + "lineNumber": 9, + "testTargets": [ + "AbstractProvider" + ] + }, + { + "__docId__": 169, + "kind": "test", + "name": "it40", + "testId": 40, + "memberof": "test/providers/AbstractProvider.spec.js~describe39", + "testDepth": 1, + "static": true, + "longname": "test/providers/AbstractProvider.spec.js~describe39.it40", + "access": null, + "description": "should throw an error when calling the scrapeConfigs method", + "lineNumber": 11, + "testTargets": [ + "AbstractProvider#scrapeConfigs" + ] + }, + { + "__docId__": 170, + "kind": "testFile", + "name": "test/providers/IProvider.spec.js", + "content": "// Import the necessary modules.\n// @flow\n/* eslint-disable no-unused-expressions */\nimport { expect } from 'chai'\n\nimport { IProvider } from '../../src'\n\n/** @test {IProvider} */\ndescribe('IProvider', () => {\n /**\n * The IProvider object to be tested.\n * @type {IProvider}\n */\n let iProvider: IProvider\n\n /**\n * Hook for setting up the IProvider tests.\n * @type {Function}\n */\n before(() => {\n iProvider = new IProvider()\n })\n\n /** @test {IProvider#scrapeConfig} */\n it('should throw an error when calling the scrapeConfig method', () => {\n expect(iProvider.scrapeConfig).to\n .throw('Using default method: \\'scrapeConfig\\'')\n })\n\n /** @test {IProvider#scrapeConfigs} */\n it('should throw an error when calling the scrapeConfigs method', () => {\n expect(iProvider.scrapeConfigs).to\n .throw('Using default method: \\'scrapeConfigs\\'')\n })\n})\n", + "static": true, + "longname": "/home/eosapien/Software/pop-api-scraper/test/providers/IProvider.spec.js", + "access": null, + "description": null, + "lineNumber": 1 + }, + { + "__docId__": 171, + "kind": "test", + "name": "describe41", + "testId": 41, + "memberof": "test/providers/IProvider.spec.js", + "testDepth": 0, + "static": true, + "longname": "test/providers/IProvider.spec.js~describe41", + "access": null, + "description": "IProvider", + "lineNumber": 9, + "testTargets": [ + "IProvider" + ] + }, + { + "__docId__": 172, + "kind": "test", + "name": "it42", + "testId": 42, + "memberof": "test/providers/IProvider.spec.js~describe41", + "testDepth": 1, + "static": true, + "longname": "test/providers/IProvider.spec.js~describe41.it42", + "access": null, + "description": "should throw an error when calling the scrapeConfig method", + "lineNumber": 25, + "testTargets": [ + "IProvider#scrapeConfig" + ] + }, + { + "__docId__": 173, + "kind": "test", + "name": "it43", + "testId": 43, + "memberof": "test/providers/IProvider.spec.js~describe41", + "testDepth": 1, + "static": true, + "longname": "test/providers/IProvider.spec.js~describe41.it43", + "access": null, + "description": "should throw an error when calling the scrapeConfigs method", + "lineNumber": 31, + "testTargets": [ + "IProvider#scrapeConfigs" + ] + } +] \ No newline at end of file diff --git a/docs/lint.json b/docs/lint.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/docs/lint.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/docs/manual/CHANGELOG.html b/docs/manual/CHANGELOG.html new file mode 100644 index 0000000..ca91108 --- /dev/null +++ b/docs/manual/CHANGELOG.html @@ -0,0 +1,98 @@ + + + + + + Manual | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+
+ + + + + + + + + + + + diff --git a/docs/manual/CODE_OF_CONDUCT.html b/docs/manual/CODE_OF_CONDUCT.html new file mode 100644 index 0000000..1c73135 --- /dev/null +++ b/docs/manual/CODE_OF_CONDUCT.html @@ -0,0 +1,155 @@ + + + + + + Manual | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

Contributor Covenant Code of Conduct

+

Our Pledge

In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, +body size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual +identity and orientation.

+

Our Standards

Examples of behavior that contributes to creating a positive environment +include:

+
    +
  • Using welcoming and inclusive language
  • +
  • Being respectful of differing viewpoints and experiences
  • +
  • Gracefully accepting constructive criticism
  • +
  • Focusing on what is best for the community
  • +
  • Showing empathy towards other community members
  • +
+

Examples of unacceptable behavior by participants include:

+
    +
  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • +
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • +
  • Public or private harassment
  • +
  • Publishing others' private information, such as a physical or electronic address, without explicit permission
  • +
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • +
+

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior.

+

Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful.

+

Scope

This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an +appointed representative at an online or offline event. Representation of a +project may be further defined and clarified by project maintainers.

+

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at hello@popcorntime.sh. The +project team will review and investigate all complaints, and will respond in a +way that it deems appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an +incident. Further details of specific enforcement policies may be posted +separately.

+

Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership.

+

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at http://contributor-covenant.org/version/1/4

+
+
+ + + + + + + + + + + + diff --git a/docs/manual/CONTRIBUTING.html b/docs/manual/CONTRIBUTING.html new file mode 100644 index 0000000..743ccb5 --- /dev/null +++ b/docs/manual/CONTRIBUTING.html @@ -0,0 +1,228 @@ + + + + + + Manual | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

Contributing

So you're interested in giving us a hand? That's awesome! We've put together +some brief guidelines that should help you get started quickly and easily.

+

There are lots and lots of ways to get involved, this document covers:

+ +

Raising Issues

If you're about to raise an issue because you think that you've found a problem +with the application, or you'd like to make a request for a new feature in the +codebase, or any other reason… please read this first.

+

The GitHub issue tracker is the preferred channel for +bug reports, feature requests, and +pull requests but respect the following restrictions:

+
    +
  • Please do not use the issue tracker for personal support requests.
  • +
  • Please do not derail or troll issues. Keep the discussion on topic and +respect the opinions of others.
  • +
+

Report A Bug

A bug is a demonstrable problem that is caused by the code in the repository. +Good bug reports are extremely helpful - thank you!

+

Guidelines for bug reports:

+
    +
  1. Use the GitHub issue search — check if the issue has already been +reported.
  2. +
  3. Check if the issue has been fixed — try to reproduce it using the +latest master or look for closed issues.
  4. +
  5. Include a screencast if relevant - Is your issue about a design or front +end feature or bug? The most helpful thing in the world is if we can see what +you're talking about. Just drop the picture after writing your issue, it'll be +uploaded and shown to the developers.
  6. +
  7. Use the Issue tab on GitHub to start creating a bug report. +A good bug report shouldn't leave others needing to chase you up for more +information. Be sure to include all the possible required details and the steps +to take to reproduce the issue.
  8. +
+

Feature Requests

Feature requests are welcome. Before you submit one be sure to:

+
    +
  1. Use the GitHub Issues search +and check the feature hasn't already been requested.
  2. +
  3. Take a moment to think about whether your idea fits with the scope and aims +of the project, or if it might better fit being an app/plugin.
  4. +
  5. Remember, it's up to you to make a strong case to convince the project's +leaders of the merits of this feature. Please provide as much detail and +context as possible, this means explaining the use case and why it is likely to +be common.
  6. +
  7. Clearly indicate whether this is a feature request for the application +itself, or for packages like Providers, Metadatas, or other.
  8. +
+

Pull Requests

Pull requests are awesome. If you're looking to raise a PR for something which +doesn't have an open issue, please think carefully about +raising an issue which your PR can close, especially if you're +fixing a bug. This makes it more likely that there will be enough information +available for your PR to be properly tested and merged. To make sure your PR is +accepted as quickly as possible, you should be sure to have read all the +guidelines on:

+ +

Commit Messages

This project uses the Conventional Commits +convention. If you are not familiar with this convention please read about it +first before creating a commit message or a PR.

+

Styleguides

JavaScript Styleguide

All JavaScript must adhere to JavaScript Standard Style.

+
    +
  • Inline exports with expressions whenever possible

    +
    // Use this:
    +export default class ClassName {
    +
    +}
    +
    +// Instead of:
    +class ClassName {
    +
    +}
    +export default ClassName
    +
    +
  • +
+

Tests Styleguide

    +
  • Include thoughtfully-worded, well-structured Mocha tests in the ./test folder.
  • +
  • Treat describe as a noun or situation.
  • +
  • Treat it as a statement about state or how an operation changes state.
  • +
+

Documentation Styleguide

    +
  • Use Markdown.
  • +
  • Reference methods and classes in markdown with the custom {} notation:
      +
    • Reference classes with {ClassName}
    • +
    • Reference instance methods with {ClassName.methodName}
    • +
    • Reference class methods with {ClassName#methodName}
    • +
    +
  • +
+

Setting up for development

To setup your local machine to start working on the project you can follow these +steps:

+
    +
  1. Install NodeJS (at least Node v7.10.1 or greater)
  2. +
  3. Clone the repository with: git clone https://github.com/popcorn-official/pop-api-scraper.git
  4. +
  5. Install dependencies npm i
  6. +
  7. Install the flow-typed libraries with npm run flow-typed
  8. +
+

npm scripts

The following npm-scripts are available in order to help you with the +development of the project.

+
 $ npm run build    # Transform the code with 'babel'
+ $ npm run docs     # Generate the documentation with 'esdoc'
+ $ npm run debug    # Run the applicaiton in debug mode
+ $ npm run dev      # Run the application in development mode
+ $ npm run flow     # Check flow typings
+ $ npm run lint     # Check javascript style
+ $ npm run test     # Run unit tests
+

Git hooks

The following git hooks are available to ensure the changes you are about to +make follow the styleguides and make sure your changes pass the +tests.

+
pre-commit          # npm run lint && npm run flow
+pre-push            # npm run test
+
+
+ + + + + + + + + + + + diff --git a/docs/manual/index.html b/docs/manual/index.html new file mode 100644 index 0000000..a84fd29 --- /dev/null +++ b/docs/manual/index.html @@ -0,0 +1,497 @@ + + + + + + Manual | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +
+

pop-api-scraper

Build Status +Windows Build +Coverage Status +Dependency Status +devDependencies Status

+

Features

The pop-api-scraper project aims to provide the core modules for the +popcorn-api scraper, but +can also be used for other purposes by using middleware.

+
    +
  • Strategy pattern with providers
  • +
  • Cronjobs
  • +
  • Scraper wrapper class
  • +
  • HttpService with got
  • +
+

Installation

 $ npm install --save pop-api-scraper pop-api
+

Documentation

+

Usage

For the basic setup you need to create a Provider (strategy) the +PopApiScraper instance can use. The PopApiScraper implements the strategy +pattern, where the providers are the strategies.

+

The example below makes a HTTP GET request to a web service or website. from +there on you are free to implement how and what data you want to get from it.

+
// ./ExampleProvider.js
+import { AbstractProvider, HttpService } from 'pop-api-scraper'
+
+// Extend from the internal AbstractProvider.
+export default class ExampleProvider extends AbstractProvider {
+
+  constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {
+    super(PopApiScraper, {name, configs, maxWebRequests})
+  }
+
+  // Override the `scrapeConfig` method to get the content from one
+  // configuration.
+  scrapeConfig(config) {
+    // A HTTP service to send HTTP requests.
+    this.httpService = new HttpService({
+      baseUrl: config.baseUrl
+    })
+
+    // HTTP  GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar
+    return this.httpService.get('/posts', config.httpOptions)
+      .then(res => res.data)
+  }
+
+}
+
+

Bundle it all up together with +pop-api:

+
// ./index.js
+import os from 'os'
+import { PopApi } from 'pop-api'
+import { join } from 'path'
+import { Cron, PopApiScraper } from 'pop-api-scraper'
+
+import ExampleProvider from './ExampleProvider'
+
+(async () => {
+  try {
+    // Let the PopApiScraper use the ExampleProvider o scrape data.
+    PopApiScraper.use(ExampleProvider, {
+      name: 'example-provider',
+      configs: [{
+        baseUrl: 'https://jsonplaceholder.typicode.com',
+        httpOptions: {
+          query: {
+            foo: 'bar'
+          }
+        }
+      }],
+      maxWebRequests: 2
+    })
+
+    // Register the PopApiScraper middleware to the pop-api instance.
+    PopApi.use(PopApiScraper, {
+      statusPath: join(...[os.tmpdir(), 'status.json']),
+      updatedPath: join(...[os.tmpdir(), 'updated.json'])
+    })
+    // Optionally you can use the Cron middleware to scrape for content on a
+    // regulat basis.
+    PopApi.use(Cron, {
+      cronTime: '0 0 */6 * * *',
+      start: false
+    })
+
+    // PopApi now has a `scraper` instance.
+    const res = await PopApi.scraper.scrape()
+    console.info(res[0])
+  } catch (err) {
+    console.error(err)
+  }
+})()
+
+

License

MIT License

+
+ + + +
+ +
+
+

Usage

For the basic setup you need to create a Provider (strategy) the +PopApiScraper instance can use. The PopApiScraper implements the strategy +pattern, where the providers are the strategies.

The example below makes a HTTP GET request to a web service or website. from +there on you are free to implement how and what data you want to get from it.

// ./ExampleProvider.js
+import { AbstractProvider, HttpService } from 'pop-api-scraper'
+
+// Extend from the internal AbstractProvider.
+export default class ExampleProvider extends AbstractProvider {
+
+  constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {
+    super(PopApiScraper, {name, configs, maxWebRequests})
+  }
+
+  // Override the `scrapeConfig` method to get the content from one
+  // configuration.
+  scrapeConfig(config) {
+    // A HTTP service to send HTTP requests.
+    this.httpService = new HttpService({
+      baseUrl: config.baseUrl
+    })
+
+    // HTTP  GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar
+    return this.httpService.get('/posts', config.httpOptions)
+      .then(res => res.data)
+  }
+
+}
+

Bundle it all up together with +pop-api:

// ./index.js
+import os from 'os'
+import { PopApi } from 'pop-api'
+import { join } from 'path'
+import { Cron, PopApiScraper } from 'pop-api-scraper'
+
+import ExampleProvider from './ExampleProvider'
+
+(async () => {
+  try {
+    // Let the PopApiScraper use the ExampleProvider o scrape data.
+    PopApiScraper.use(ExampleProvider, {
+      name: 'example-provider',
+      configs: [{
+        baseUrl: 'https://jsonplaceholder.typicode.com',
+        httpOptions: {
+          query: {
+            foo: 'bar'
+          }
+        }
+      }],
+      maxWebRequests: 2
+    })
+
+    // Register the PopApiScraper middleware to the pop-api instance.
+    PopApi.use(PopApiScraper, {
+      statusPath: join(...[os.tmpdir(), 'status.json']),
+      updatedPath: join(...[os.tmpdir(), 'updated.json'])
+    })
+    // Optionally you can use the Cron middleware to scrape for content on a
+    // regulat basis.
+    PopApi.use(Cron, {
+      cronTime: '0 0 */6 * * *',
+      start: false
+    })
+
+    // PopApi now has a `scraper` instance.
+    const res = await PopApi.scraper.scrape()
+    console.info(res[0])
+  } catch (err) {
+    console.error(err)
+  }
+})()
+
+ +
+
+
+
+

Middleware

Scraper

The PopApiScraper middleware implements a strategy pattern where you can +use your own Providers (strageties) for scraping content from the web.

import os from 'os'
+import { PopApi } from 'pop-api'
+import { PopApiScraper } from 'pop-api-scraper'
+import { join } from 'path'
+
+import ExampleProvider  from './ExampleProvider'
+
+const providerOpts = {
+  name: 'example-provider',  // The name of the provider.
+  configs: [{                // The configurations to scrape with.
+    key: 'value'             // Put anything you like into the configuration.
+  }],
+  maxWebRequests: 2          // The maximum concurrent web requests at a time.
+}
+PopApiScraper.use(ExampleProvider, providerOpts)
+
+// Join paths for the scraper options.
+const tmpDir = join(...[os.tmpdir(), name])
+const statusPath = join(...[tmpDir, 'status.json'])
+const updatedPath = join(...[tmpDir, 'updated.json'])
+
+const scraperOpts = {
+  statusPath,  // The path to the status file where the scraper status is
+               // saved.
+  updatedPath  // The path to the updated file where the time of the scraping
+               // process is saved.
+}
+PopApi.use(PopApiScraper, scraperOpts)
+
+// Start the scraping process by calling the `scrape` method.
+PopApi.scraper.scrape()
+

Cron

The Cron middleware allows for the scraping process to be started regularly.

import { PopApi } from 'pop-api'
+import { Cron } from 'pop-api-scraper'
+
+const cronOpts = {
+  cronTime: '0 0 */6 * * *',  // The ctron time for the cronjob.
+  start: false                // Start the cron job on creation.
+}
+PopApi.use(Cron, cronOpts)
+
+// PopApi.cron will be an instance of: https://github.com/merencia/node-cron
+
+ +
+
+
+
+

Contributing

So you're interested in giving us a hand? That's awesome! We've put together +some brief guidelines that should help you get started quickly and easily.

There are lots and lots of ways to get involved, this document covers:

Raising Issues

If you're about to raise an issue because you think that you've found a problem +with the application, or you'd like to make a request for a new feature in the +codebase, or any other reason… please read this first.

The GitHub issue tracker is the preferred channel for +bug reports, feature requests, and +pull requests but respect the following restrictions:

    +
  • Please do not use the issue tracker for personal support requests.
  • +
  • Please do not derail or troll issues. Keep the discussion on topic and +respect the opinions of others.
  • +

Report A Bug

A bug is a demonstrable problem that is caused by the code in the repository. +Good bug reports are extremely helpful - thank you!

Guidelines for bug reports:

    +
  1. Use the GitHub issue search — check if the issue has already been +reported.
  2. +
  3. Check if the issue has been fixed — try to reproduce it using the +latest master or look for closed issues.
  4. +
  5. Include a screencast if relevant - Is your issue about a design or front +end feature or bug? The most helpful thing in the world is if we can see what +you're talking about. Just drop the picture after writing your issue, it'll be +uploaded and shown to the developers.
  6. +
  7. Use the Issue tab on GitHub to start creating a bug report. +A good bug report shouldn't leave others needing to chase you up for more +information. Be sure to include all the possible required details and the steps +to take to reproduce the issue.
  8. +

Feature Requests

Feature requests are welcome. Before you submit one be sure to:

    +
  1. Use the GitHub Issues search +and check the feature hasn't already been requested.
  2. +
  3. Take a moment to think about whether your idea fits with the scope and aims +of the project, or if it might better fit being an app/plugin.
  4. +
  5. Remember, it's up to you to make a strong case to convince the project's +leaders of the merits of this feature. Please provide as much detail and +context as possible, this means explaining the use case and why it is likely to +be common.
  6. +
  7. Clearly indicate whether this is a feature request for the application +itself, or for packages like Providers, Metadatas, or other.
  8. +

Pull Requests

Pull requests are awesome. If you're looking to raise a PR for something which +doesn't have an open issue, please think carefully about +raising an issue which your PR can close, especially if you're +fixing a bug. This makes it more likely that there will be enough information +available for your PR to be properly tested and merged. To make sure your PR is +accepted as quickly as possible, you should be sure to have read all the +guidelines on:

Commit Messages

This project uses the Conventional Commits +convention. If you are not familiar with this convention please read about it +first before creating a commit message or a PR.

Styleguides

JavaScript Styleguide

All JavaScript must adhere to JavaScript Standard Style.

    +
  • Inline exports with expressions whenever possible

    +
    // Use this:
    +export default class ClassName {
    +
    +}
    +
    +// Instead of:
    +class ClassName {
    +
    +}
    +export default ClassName
    +
    +
  • +

Tests Styleguide

    +
  • Include thoughtfully-worded, well-structured Mocha tests in the ./test folder.
  • +
  • Treat describe as a noun or situation.
  • +
  • Treat it as a statement about state or how an operation changes state.
  • +

Documentation Styleguide

    +
  • Use Markdown.
  • +
  • Reference methods and classes in markdown with the custom {} notation:
      +
    • Reference classes with {ClassName}
    • +
    • Reference instance methods with {ClassName.methodName}
    • +
    • Reference class methods with {ClassName#methodName}
    • +
    +
  • +

Setting up for development

To setup your local machine to start working on the project you can follow these +steps:

    +
  1. Install NodeJS (at least Node v7.10.1 or greater)
  2. +
  3. Clone the repository with: git clone https://github.com/popcorn-official/pop-api-scraper.git
  4. +
  5. Install dependencies npm i
  6. +
  7. Install the flow-typed libraries with npm run flow-typed
  8. +

npm scripts

The following npm-scripts are available in order to help you with the +development of the project.

 $ npm run build    # Transform the code with 'babel'
+ $ npm run docs     # Generate the documentation with 'esdoc'
+ $ npm run debug    # Run the applicaiton in debug mode
+ $ npm run dev      # Run the application in development mode
+ $ npm run flow     # Check flow typings
+ $ npm run lint     # Check javascript style
+ $ npm run test     # Run unit tests
+

Git hooks

The following git hooks are available to ensure the changes you are about to +make follow the styleguides and make sure your changes pass the +tests.

pre-commit          # npm run lint && npm run flow
+pre-push            # npm run test
+
+ +
+
+
+
+

Contributor Covenant Code of Conduct

Our Pledge

In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, +body size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual +identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment +include:

    +
  • Using welcoming and inclusive language
  • +
  • Being respectful of differing viewpoints and experiences
  • +
  • Gracefully accepting constructive criticism
  • +
  • Focusing on what is best for the community
  • +
  • Showing empathy towards other community members
  • +

Examples of unacceptable behavior by participants include:

    +
  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • +
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • +
  • Public or private harassment
  • +
  • Publishing others' private information, such as a physical or electronic address, without explicit permission
  • +
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • +

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an +appointed representative at an online or offline event. Representation of a +project may be further defined and clarified by project maintainers.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at hello@popcorntime.sh. The +project team will review and investigate all complaints, and will respond in a +way that it deems appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an +incident. Further details of specific enforcement policies may be posted +separately.

Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at http://contributor-covenant.org/version/1/4

+ +
+
+
+
+
+ + + + + + + + + + + + diff --git a/docs/manual/middleware.html b/docs/manual/middleware.html new file mode 100644 index 0000000..4105185 --- /dev/null +++ b/docs/manual/middleware.html @@ -0,0 +1,148 @@ + + + + + + Manual | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

Middleware

+

Scraper

The PopApiScraper middleware implements a strategy pattern where you can +use your own Providers (strageties) for scraping content from the web.

+
import os from 'os'
+import { PopApi } from 'pop-api'
+import { PopApiScraper } from 'pop-api-scraper'
+import { join } from 'path'
+
+import ExampleProvider  from './ExampleProvider'
+
+const providerOpts = {
+  name: 'example-provider',  // The name of the provider.
+  configs: [{                // The configurations to scrape with.
+    key: 'value'             // Put anything you like into the configuration.
+  }],
+  maxWebRequests: 2          // The maximum concurrent web requests at a time.
+}
+PopApiScraper.use(ExampleProvider, providerOpts)
+
+// Join paths for the scraper options.
+const tmpDir = join(...[os.tmpdir(), name])
+const statusPath = join(...[tmpDir, 'status.json'])
+const updatedPath = join(...[tmpDir, 'updated.json'])
+
+const scraperOpts = {
+  statusPath,  // The path to the status file where the scraper status is
+               // saved.
+  updatedPath  // The path to the updated file where the time of the scraping
+               // process is saved.
+}
+PopApi.use(PopApiScraper, scraperOpts)
+
+// Start the scraping process by calling the `scrape` method.
+PopApi.scraper.scrape()
+
+

Cron

The Cron middleware allows for the scraping process to be started regularly.

+
import { PopApi } from 'pop-api'
+import { Cron } from 'pop-api-scraper'
+
+const cronOpts = {
+  cronTime: '0 0 */6 * * *',  // The ctron time for the cronjob.
+  start: false                // Start the cron job on creation.
+}
+PopApi.use(Cron, cronOpts)
+
+// PopApi.cron will be an instance of: https://github.com/merencia/node-cron
+
+
+
+ + + + + + + + + + + + diff --git a/docs/manual/usage.html b/docs/manual/usage.html new file mode 100644 index 0000000..7ebc0db --- /dev/null +++ b/docs/manual/usage.html @@ -0,0 +1,174 @@ + + + + + + Manual | pop-api-scraper + + + + + + + +
+ + Manual + Reference + Source + Test + +
+ + + +

Usage

For the basic setup you need to create a Provider (strategy) the +PopApiScraper instance can use. The PopApiScraper implements the strategy +pattern, where the providers are the strategies.

+

The example below makes a HTTP GET request to a web service or website. from +there on you are free to implement how and what data you want to get from it.

+
// ./ExampleProvider.js
+import { AbstractProvider, HttpService } from 'pop-api-scraper'
+
+// Extend from the internal AbstractProvider.
+export default class ExampleProvider extends AbstractProvider {
+
+  constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) {
+    super(PopApiScraper, {name, configs, maxWebRequests})
+  }
+
+  // Override the `scrapeConfig` method to get the content from one
+  // configuration.
+  scrapeConfig(config) {
+    // A HTTP service to send HTTP requests.
+    this.httpService = new HttpService({
+      baseUrl: config.baseUrl
+    })
+
+    // HTTP  GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar
+    return this.httpService.get('/posts', config.httpOptions)
+      .then(res => res.data)
+  }
+
+}
+
+

Bundle it all up together with +pop-api:

+
// ./index.js
+import os from 'os'
+import { PopApi } from 'pop-api'
+import { join } from 'path'
+import { Cron, PopApiScraper } from 'pop-api-scraper'
+
+import ExampleProvider from './ExampleProvider'
+
+(async () => {
+  try {
+    // Let the PopApiScraper use the ExampleProvider o scrape data.
+    PopApiScraper.use(ExampleProvider, {
+      name: 'example-provider',
+      configs: [{
+        baseUrl: 'https://jsonplaceholder.typicode.com',
+        httpOptions: {
+          query: {
+            foo: 'bar'
+          }
+        }
+      }],
+      maxWebRequests: 2
+    })
+
+    // Register the PopApiScraper middleware to the pop-api instance.
+    PopApi.use(PopApiScraper, {
+      statusPath: join(...[os.tmpdir(), 'status.json']),
+      updatedPath: join(...[os.tmpdir(), 'updated.json'])
+    })
+    // Optionally you can use the Cron middleware to scrape for content on a
+    // regulat basis.
+    PopApi.use(Cron, {
+      cronTime: '0 0 */6 * * *',
+      start: false
+    })
+
+    // PopApi now has a `scraper` instance.
+    const res = await PopApi.scraper.scrape()
+    console.info(res[0])
+  } catch (err) {
+    console.error(err)
+  }
+})()
+
+
+
+ + + + + + + + + + + + diff --git a/docs/script/inherited-summary.js b/docs/script/inherited-summary.js new file mode 100644 index 0000000..0a35b6d --- /dev/null +++ b/docs/script/inherited-summary.js @@ -0,0 +1,28 @@ +(function(){ + function toggle(ev) { + var button = ev.target; + var parent = ev.target.parentElement; + while(parent) { + if (parent.tagName === 'TABLE' && parent.classList.contains('summary')) break; + parent = parent.parentElement; + } + + if (!parent) return; + + var tbody = parent.querySelector('tbody'); + if (button.classList.contains('opened')) { + button.classList.remove('opened'); + button.classList.add('closed'); + tbody.style.display = 'none'; + } else { + button.classList.remove('closed'); + button.classList.add('opened'); + tbody.style.display = 'block'; + } + } + + var buttons = document.querySelectorAll('.inherited-summary thead .toggle'); + for (var i = 0; i < buttons.length; i++) { + buttons[i].addEventListener('click', toggle); + } +})(); diff --git a/docs/script/inner-link.js b/docs/script/inner-link.js new file mode 100644 index 0000000..ad1c942 --- /dev/null +++ b/docs/script/inner-link.js @@ -0,0 +1,32 @@ +// inner link(#foo) can not correctly scroll, because page has fixed header, +// so, I manually scroll. +(function(){ + var matched = location.hash.match(/errorLines=([\d,]+)/); + if (matched) return; + + function adjust() { + window.scrollBy(0, -55); + var el = document.querySelector('.inner-link-active'); + if (el) el.classList.remove('inner-link-active'); + + // ``[ ] . ' " @`` are not valid in DOM id. so must escape these. + var id = location.hash.replace(/([\[\].'"@$])/g, '\\$1'); + var el = document.querySelector(id); + if (el) el.classList.add('inner-link-active'); + } + + window.addEventListener('hashchange', adjust); + + if (location.hash) { + setTimeout(adjust, 0); + } +})(); + +(function(){ + var els = document.querySelectorAll('[href^="#"]'); + var href = location.href.replace(/#.*$/, ''); // remove existed hash + for (var i = 0; i < els.length; i++) { + var el = els[i]; + el.href = href + el.getAttribute('href'); // because el.href is absolute path + } +})(); diff --git a/docs/script/manual.js b/docs/script/manual.js new file mode 100644 index 0000000..de0bfe2 --- /dev/null +++ b/docs/script/manual.js @@ -0,0 +1,12 @@ +(function(){ + var matched = location.pathname.match(/\/(manual\/.*\.html)$/); + if (!matched) return; + + var currentName = matched[1]; + var cssClass = '.navigation .manual-toc li[data-link="' + currentName + '"]'; + var styleText = cssClass + '{ display: block; }\n'; + styleText += cssClass + '.indent-h1 a { color: #039BE5 }'; + var style = document.createElement('style'); + style.textContent = styleText; + document.querySelector('head').appendChild(style); +})(); diff --git a/docs/script/patch-for-local.js b/docs/script/patch-for-local.js new file mode 100644 index 0000000..5756d13 --- /dev/null +++ b/docs/script/patch-for-local.js @@ -0,0 +1,8 @@ +(function(){ + if (location.protocol === 'file:') { + var elms = document.querySelectorAll('a[href="./"]'); + for (var i = 0; i < elms.length; i++) { + elms[i].href = './index.html'; + } + } +})(); diff --git a/docs/script/prettify/Apache-License-2.0.txt b/docs/script/prettify/Apache-License-2.0.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/docs/script/prettify/Apache-License-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/docs/script/prettify/prettify.js b/docs/script/prettify/prettify.js new file mode 100755 index 0000000..3b74b5b --- /dev/null +++ b/docs/script/prettify/prettify.js @@ -0,0 +1,46 @@ +!function(){/* + + Copyright (C) 2006 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function T(a){function d(e){var b=e.charCodeAt(0);if(92!==b)return b;var a=e.charAt(1);return(b=w[a])?b:"0"<=a&&"7">=a?parseInt(e.substring(1),8):"u"===a||"x"===a?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(32>e)return(16>e?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return"\\"===e||"-"===e||"]"===e||"^"===e?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[0-9A-Fa-f]{4}|\\x[0-9A-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\s\S]|-|[^-\\]/g);e= +[];var a="^"===b[0],c=["["];a&&c.push("^");for(var a=a?1:0,g=b.length;ak||122k||90k||122h[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(f(h[1])));c.push("]");return c.join("")}function v(e){for(var a=e.source.match(/(?:\[(?:[^\x5C\x5D]|\\[\s\S])*\]|\\u[A-Fa-f0-9]{4}|\\x[A-Fa-f0-9]{2}|\\[0-9]+|\\[^ux0-9]|\(\?[:!=]|[\(\)\^]|[^\x5B\x5C\(\)\^]+)/g),c=a.length,d=[],g=0,h=0;g/,null])):d.push(["com",/^#[^\r\n]*/,null,"#"]));a.cStyleComments&&(f.push(["com",/^\/\/[^\r\n]*/,null]),f.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]));if(b=a.regexLiterals){var v=(b=1|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+ +("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+v+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+v+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&f.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&f.push(["kwd",new RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),null]);d.push(["pln",/^\s+/,null," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");f.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,null],["typ",/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],["pln",/^[a-z_$][a-z_$@0-9]*/i, +null],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],["pln",/^\\[\s\S]?/,null],["pun",new RegExp(b),null]);return G(d,f)}function L(a,d,f){function b(a){var c=a.nodeType;if(1==c&&!A.test(a.className))if("br"===a.nodeName)v(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((3==c||4==c)&&f){var d=a.nodeValue,q=d.match(n);q&&(c=d.substring(0,q.index),a.nodeValue=c,(d=d.substring(q.index+q[0].length))&& +a.parentNode.insertBefore(l.createTextNode(d),a.nextSibling),v(a),c||a.parentNode.removeChild(a))}}function v(a){function b(a,c){var d=c?a.cloneNode(!1):a,k=a.parentNode;if(k){var k=b(k,1),e=a.nextSibling;k.appendChild(d);for(var f=e;f;f=e)e=f.nextSibling,k.appendChild(f)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;a=b(a.nextSibling,0);for(var d;(d=a.parentNode)&&1===d.nodeType;)a=d;c.push(a)}for(var A=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,l=a.ownerDocument,m=l.createElement("li");a.firstChild;)m.appendChild(a.firstChild); +for(var c=[m],p=0;p=+v[1],d=/\n/g,A=a.a,n=A.length,f=0,l=a.c,m=l.length,b=0,c=a.g,p=c.length,w=0;c[p]=n;var r,e;for(e=r=0;e=h&&(b+=2);f>=k&&(w+=2)}}finally{g&&(g.style.display=a)}}catch(x){E.console&&console.log(x&&x.stack||x)}}var E=window,C=["break,continue,do,else,for,if,return,while"], +F=[[C,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],H=[F,"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"], +O=[F,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],P=[F,"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield"], +F=[F,"abstract,async,await,constructor,debugger,enum,eval,export,function,get,implements,instanceof,interface,let,null,set,undefined,var,with,yield,Infinity,NaN"],Q=[C,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],R=[C,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],C=[C,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"], +S=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,W=/\S/,X=y({keywords:[H,P,O,F,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",Q,R,C],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),I={};t(X,["default-code"]);t(G([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),"default-markup htm html mxml xhtml xml xsl".split(" "));t(G([["pln",/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null, +"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);t(G([],[["atv",/^[\s\S]+/]]),["uq.val"]);t(y({keywords:H, +hashComments:!0,cStyleComments:!0,types:S}),"c cc cpp cxx cyc m".split(" "));t(y({keywords:"null,true,false"}),["json"]);t(y({keywords:P,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:S}),["cs"]);t(y({keywords:O,cStyleComments:!0}),["java"]);t(y({keywords:C,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);t(y({keywords:Q,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);t(y({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END", +hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);t(y({keywords:R,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);t(y({keywords:F,cStyleComments:!0,regexLiterals:!0}),["javascript","js","ts","typescript"]);t(y({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0, +regexLiterals:!0}),["coffee"]);t(G([],[["str",/^[\s\S]+/]]),["regex"]);var Y=E.PR={createSimpleLexer:G,registerLangHandler:t,sourceDecorator:y,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:E.prettyPrintOne=function(a,d,f){f=f||!1;d=d||null;var b=document.createElement("div");b.innerHTML="
"+a+"
"; +b=b.firstChild;f&&L(b,f,!0);M({j:d,m:f,h:b,l:1,a:null,i:null,c:null,g:null});return b.innerHTML},prettyPrint:E.prettyPrint=function(a,d){function f(){for(var b=E.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;p' + pair[2] + ''); + } + } + + var innerHTML = ''; + for (kind in html) { + var list = html[kind]; + if (!list.length) continue; + innerHTML += '
  • ' + kind + '
  • \n' + list.join('\n'); + } + result.innerHTML = innerHTML; + if (innerHTML) result.style.display = 'block'; + selectedIndex = -1; + }); + + // down, up and enter key are pressed, select search result. + input.addEventListener('keydown', function(ev){ + if (ev.keyCode === 40) { + // arrow down + var current = result.children[selectedIndex]; + var selected = result.children[selectedIndex + 1]; + if (selected && selected.classList.contains('search-separator')) { + var selected = result.children[selectedIndex + 2]; + selectedIndex++; + } + + if (selected) { + if (current) current.classList.remove('selected'); + selectedIndex++; + selected.classList.add('selected'); + } + } else if (ev.keyCode === 38) { + // arrow up + var current = result.children[selectedIndex]; + var selected = result.children[selectedIndex - 1]; + if (selected && selected.classList.contains('search-separator')) { + var selected = result.children[selectedIndex - 2]; + selectedIndex--; + } + + if (selected) { + if (current) current.classList.remove('selected'); + selectedIndex--; + selected.classList.add('selected'); + } + } else if (ev.keyCode === 13) { + // enter + var current = result.children[selectedIndex]; + if (current) { + var link = current.querySelector('a'); + if (link) location.href = link.href; + } + } else { + return; + } + + ev.preventDefault(); + }); + + // select search result when search result is mouse over. + result.addEventListener('mousemove', function(ev){ + var current = result.children[selectedIndex]; + if (current) current.classList.remove('selected'); + + var li = ev.target; + while (li) { + if (li.nodeName === 'LI') break; + li = li.parentElement; + } + + if (li) { + selectedIndex = Array.prototype.indexOf.call(result.children, li); + li.classList.add('selected'); + } + }); + + // clear search result when body is clicked. + document.body.addEventListener('click', function(ev){ + selectedIndex = -1; + result.style.display = 'none'; + result.innerHTML = ''; + }); + +})(); diff --git a/docs/script/search_index.js b/docs/script/search_index.js new file mode 100644 index 0000000..81df8bc --- /dev/null +++ b/docs/script/search_index.js @@ -0,0 +1,974 @@ +window.esdocSearchIndex = [ + [ + "pop-api-scraper/src/http/abstracthttpservice.js~abstracthttpservice", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html", + "AbstractHttpService pop-api-scraper/src/http/AbstractHttpService.js", + "class" + ], + [ + "pop-api-scraper/src/providers/abstractprovider.js~abstractprovider", + "class/src/providers/AbstractProvider.js~AbstractProvider.html", + "AbstractProvider pop-api-scraper/src/providers/AbstractProvider.js", + "class" + ], + [ + "pop-api-scraper/src/context.js~context", + "class/src/Context.js~Context.html", + "Context pop-api-scraper/src/Context.js", + "class" + ], + [ + "pop-api-scraper/src/cron.js~cron", + "class/src/Cron.js~Cron.html", + "Cron pop-api-scraper/src/Cron.js", + "class" + ], + [ + "pop-api-scraper/src/http/httpservice.js~httpservice", + "class/src/http/HttpService.js~HttpService.html", + "HttpService pop-api-scraper/src/http/HttpService.js", + "class" + ], + [ + "pop-api-scraper/src/http/ihttpservice.js~ihttpservice", + "class/src/http/IHttpService.js~IHttpService.html", + "IHttpService pop-api-scraper/src/http/IHttpService.js", + "class" + ], + [ + "pop-api-scraper/src/providers/iprovider.js~iprovider", + "class/src/providers/IProvider.js~IProvider.html", + "IProvider pop-api-scraper/src/providers/IProvider.js", + "class" + ], + [ + "pop-api-scraper/src/popapiscraper.js~popapiscraper", + "class/src/PopApiScraper.js~PopApiScraper.html", + "PopApiScraper pop-api-scraper/src/PopApiScraper.js", + "class" + ], + [ + "abstracthttpservice src/http/abstracthttpservice.js~abstracthttpservice,abstracthttpservice", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber9", + "AbstractHttpService", + "test" + ], + [ + "abstracthttpservice#handlebody src/http/abstracthttpservice.js~abstracthttpservice#handlebody,abstracthttpservice#handlebody", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber72", + "AbstractHttpService should get the body wrapped in cheerio", + "test" + ], + [ + "abstracthttpservice#handlebody src/http/abstracthttpservice.js~abstracthttpservice#handlebody,abstracthttpservice#handlebody", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber65", + "AbstractHttpService should get the raw body of a request", + "test" + ], + [ + "abstracthttpservice#printdebug src/http/abstracthttpservice.js~abstracthttpservice#printdebug,abstracthttpservice#printdebug", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber85", + "AbstractHttpService should throw an error when calling the _printDebug method", + "test" + ], + [ + "abstracthttpservice#request src/http/ihttpservice.js~ihttpservice#request,abstracthttpservice#request", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber79", + "AbstractHttpService should throw an error when calling the _request method", + "test" + ], + [ + "abstracthttpservice#delete src/http/abstracthttpservice.js~abstracthttpservice#delete,abstracthttpservice#delete", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber53", + "AbstractHttpService should throw an error when calling the delete method", + "test" + ], + [ + "abstracthttpservice#download src/http/ihttpservice.js~ihttpservice#download,abstracthttpservice#download", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber59", + "AbstractHttpService should throw an error when calling the download method", + "test" + ], + [ + "httpservice#constructor src/http/abstracthttpservice.js~abstracthttpservice#constructor,httpservice#constructor", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber27", + "AbstractHttpService should throw an error when calling the get method", + "test" + ], + [ + "abstracthttpservice#get src/http/abstracthttpservice.js~abstracthttpservice#get,abstracthttpservice#get", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber35", + "AbstractHttpService should throw an error when calling the get method", + "test" + ], + [ + "abstracthttpservice#post src/http/abstracthttpservice.js~abstracthttpservice#post,abstracthttpservice#post", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber41", + "AbstractHttpService should throw an error when calling the post method", + "test" + ], + [ + "abstracthttpservice#put src/http/abstracthttpservice.js~abstracthttpservice#put,abstracthttpservice#put", + "test-file/test/http/AbstractHttpService.spec.js.html#lineNumber47", + "AbstractHttpService should throw an error when calling the put method", + "test" + ], + [ + "abstractprovider src/providers/abstractprovider.js~abstractprovider,abstractprovider", + "test-file/test/providers/AbstractProvider.spec.js.html#lineNumber9", + "AbstractProvider", + "test" + ], + [ + "abstractprovider#scrapeconfigs src/providers/abstractprovider.js~abstractprovider#scrapeconfigs,abstractprovider#scrapeconfigs", + "test-file/test/providers/AbstractProvider.spec.js.html#lineNumber11", + "AbstractProvider should throw an error when calling the scrapeConfigs method", + "test" + ], + [ + "context src/context.js~context,context", + "test-file/test/Context.spec.js.html#lineNumber12", + "Context", + "test" + ], + [ + "context#provider src/context.js~context#provider,context#provider", + "test-file/test/Context.spec.js.html#lineNumber34", + "Context should check if Context has a provider", + "test" + ], + [ + "context#execute src/context.js~context#execute,context#execute", + "test-file/test/Context.spec.js.html#lineNumber28", + "Context should throw an error when executing the default provider", + "test" + ], + [ + "cron src/cron.js~cron,cron", + "test-file/test/Cron.spec.js.html#lineNumber16", + "Cron", + "test" + ], + [ + "cron#constructor src/cron.js~cron#constructor,cron#constructor", + "test-file/test/Cron.spec.js.html#lineNumber57", + "Cron should check the attributes of the Cron", + "test" + ], + [ + "cron#getcron src/cron.js~cron#getcron,cron#getcron", + "test-file/test/Cron.spec.js.html#lineNumber63", + "Cron should get the cron object", + "test" + ], + [ + "cron#constructor src/cron.js~cron#constructor,cron#constructor", + "test-file/test/Cron.spec.js.html#lineNumber50", + "Cron should test the constructor with options.", + "test" + ], + [ + "httpservice src/http/httpservice.js~httpservice,httpservice", + "test-file/test/http/HttpService.spec.js.html#lineNumber13", + "HttpService", + "test" + ], + [ + "httpservice#download src/http/httpservice.js~httpservice#download,httpservice#download", + "test-file/test/http/HttpService.spec.js.html#lineNumber56", + "HttpService should fail to download a given link", + "test" + ], + [ + "httpservice#request src/http/httpservice.js~httpservice#request,httpservice#request", + "test-file/test/http/HttpService.spec.js.html#lineNumber46", + "HttpService should make a successful HTTP request", + "test" + ], + [ + "httpservice#download src/http/httpservice.js~httpservice#download,httpservice#download", + "test-file/test/http/HttpService.spec.js.html#lineNumber72", + "HttpService should successfully download a given link", + "test" + ], + [ + "ihttpservice src/http/ihttpservice.js~ihttpservice,ihttpservice", + "test-file/test/http/IHttpService.spec.js.html#lineNumber9", + "IHttpService", + "test" + ], + [ + "ihttpservice#delete src/http/ihttpservice.js~ihttpservice#delete,ihttpservice#delete", + "test-file/test/http/IHttpService.spec.js.html#lineNumber41", + "IHttpService should throw an error when calling the delete method", + "test" + ], + [ + "ihttpservice#get src/http/ihttpservice.js~ihttpservice#get,ihttpservice#get", + "test-file/test/http/IHttpService.spec.js.html#lineNumber25", + "IHttpService should throw an error when calling the get method", + "test" + ], + [ + "ihttpservice#post src/http/ihttpservice.js~ihttpservice#post,ihttpservice#post", + "test-file/test/http/IHttpService.spec.js.html#lineNumber31", + "IHttpService should throw an error when calling the post method", + "test" + ], + [ + "ihttpservice#printdebug src/http/ihttpservice.js~ihttpservice#printdebug,ihttpservice#printdebug", + "test-file/test/http/IHttpService.spec.js.html#lineNumber47", + "IHttpService should throw an error when calling the printDebug method", + "test" + ], + [ + "ihttpservice#put src/http/ihttpservice.js~ihttpservice#put,ihttpservice#put", + "test-file/test/http/IHttpService.spec.js.html#lineNumber36", + "IHttpService should throw an error when calling the put method", + "test" + ], + [ + "ihttpservice#request src/http/ihttpservice.js~ihttpservice#request,ihttpservice#request", + "test-file/test/http/IHttpService.spec.js.html#lineNumber53", + "IHttpService should throw an error when calling the request method", + "test" + ], + [ + "iprovider src/providers/iprovider.js~iprovider,iprovider", + "test-file/test/providers/IProvider.spec.js.html#lineNumber9", + "IProvider", + "test" + ], + [ + "iprovider#scrapeconfig src/providers/iprovider.js~iprovider#scrapeconfig,iprovider#scrapeconfig", + "test-file/test/providers/IProvider.spec.js.html#lineNumber25", + "IProvider should throw an error when calling the scrapeConfig method", + "test" + ], + [ + "iprovider#scrapeconfigs src/providers/iprovider.js~iprovider#scrapeconfigs,iprovider#scrapeconfigs", + "test-file/test/providers/IProvider.spec.js.html#lineNumber31", + "IProvider should throw an error when calling the scrapeConfigs method", + "test" + ], + [ + "popapiscraper src/popapiscraper.js~popapiscraper,popapiscraper", + "test-file/test/PopApiScraper.spec.js.html#lineNumber14", + "PopApiScraper", + "test" + ], + [ + "popapiscraper.use src/popapiscraper.js~popapiscraper.use,popapiscraper.use", + "test-file/test/PopApiScraper.spec.js.html#lineNumber114", + "PopApiScraper ", + "test" + ], + [ + "popapiscraper#scrape src/popapiscraper.js~popapiscraper#scrape,popapiscraper#scrape", + "test-file/test/PopApiScraper.spec.js.html#lineNumber142", + "PopApiScraper should call the scrape method", + "test" + ], + [ + "popapiscraper#constructor src/popapiscraper.js~popapiscraper#constructor,popapiscraper#constructor", + "test-file/test/PopApiScraper.spec.js.html#lineNumber53", + "PopApiScraper should check the attributes of the PopApiScraper", + "test" + ], + [ + "popapiscraper#getstatus src/popapiscraper.js~popapiscraper#getstatus,popapiscraper#getstatus", + "test-file/test/PopApiScraper.spec.js.html#lineNumber84", + "PopApiScraper should get the status of the scraper", + "test" + ], + [ + "popapiscraper#getupdated src/popapiscraper.js~popapiscraper#getupdated,popapiscraper#getupdated", + "test-file/test/PopApiScraper.spec.js.html#lineNumber100", + "PopApiScraper should get the updated status of the scraper", + "test" + ], + [ + "popapiscraper.use src/popapiscraper.js~popapiscraper.use,popapiscraper.use", + "test-file/test/PopApiScraper.spec.js.html#lineNumber134", + "PopApiScraper should not register the plugin if it is not a class", + "test" + ], + [ + "popapiscraper#setstatus src/popapiscraper.js~popapiscraper#setstatus,popapiscraper#setstatus", + "test-file/test/PopApiScraper.spec.js.html#lineNumber76", + "PopApiScraper should set the status of the scraper", + "test" + ], + [ + "popapiscraper#setupdated src/popapiscraper.js~popapiscraper#setupdated,popapiscraper#setupdated", + "test-file/test/PopApiScraper.spec.js.html#lineNumber92", + "PopApiScraper should set the updated status of the scraper", + "test" + ], + [ + "popapiscraper#constructor src/popapiscraper.js~popapiscraper#constructor,popapiscraper#constructor", + "test-file/test/PopApiScraper.spec.js.html#lineNumber63", + "PopApiScraper should throw an error if the required options are not given", + "test" + ], + [ + "src/.external-ecmascript.js~array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array", + "src/.external-ecmascript.js~Array", + "external" + ], + [ + "src/.external-ecmascript.js~arraybuffer", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer", + "src/.external-ecmascript.js~ArrayBuffer", + "external" + ], + [ + "src/.external-ecmascript.js~boolean", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", + "src/.external-ecmascript.js~Boolean", + "external" + ], + [ + "src/.external-ecmascript.js~dataview", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView", + "src/.external-ecmascript.js~DataView", + "external" + ], + [ + "src/.external-ecmascript.js~date", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date", + "src/.external-ecmascript.js~Date", + "external" + ], + [ + "src/.external-ecmascript.js~error", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error", + "src/.external-ecmascript.js~Error", + "external" + ], + [ + "src/.external-ecmascript.js~evalerror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError", + "src/.external-ecmascript.js~EvalError", + "external" + ], + [ + "src/.external-ecmascript.js~float32array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array", + "src/.external-ecmascript.js~Float32Array", + "external" + ], + [ + "src/.external-ecmascript.js~float64array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array", + "src/.external-ecmascript.js~Float64Array", + "external" + ], + [ + "src/.external-ecmascript.js~function", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", + "src/.external-ecmascript.js~Function", + "external" + ], + [ + "src/.external-ecmascript.js~generator", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator", + "src/.external-ecmascript.js~Generator", + "external" + ], + [ + "src/.external-ecmascript.js~generatorfunction", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction", + "src/.external-ecmascript.js~GeneratorFunction", + "external" + ], + [ + "src/.external-ecmascript.js~infinity", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity", + "src/.external-ecmascript.js~Infinity", + "external" + ], + [ + "src/.external-ecmascript.js~int16array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array", + "src/.external-ecmascript.js~Int16Array", + "external" + ], + [ + "src/.external-ecmascript.js~int32array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array", + "src/.external-ecmascript.js~Int32Array", + "external" + ], + [ + "src/.external-ecmascript.js~int8array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array", + "src/.external-ecmascript.js~Int8Array", + "external" + ], + [ + "src/.external-ecmascript.js~internalerror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError", + "src/.external-ecmascript.js~InternalError", + "external" + ], + [ + "src/.external-ecmascript.js~json", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON", + "src/.external-ecmascript.js~JSON", + "external" + ], + [ + "src/.external-ecmascript.js~map", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map", + "src/.external-ecmascript.js~Map", + "external" + ], + [ + "src/.external-ecmascript.js~nan", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN", + "src/.external-ecmascript.js~NaN", + "external" + ], + [ + "src/.external-ecmascript.js~number", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", + "src/.external-ecmascript.js~Number", + "external" + ], + [ + "src/.external-ecmascript.js~object", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", + "src/.external-ecmascript.js~Object", + "external" + ], + [ + "src/.external-ecmascript.js~promise", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise", + "src/.external-ecmascript.js~Promise", + "external" + ], + [ + "src/.external-ecmascript.js~proxy", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy", + "src/.external-ecmascript.js~Proxy", + "external" + ], + [ + "src/.external-ecmascript.js~rangeerror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError", + "src/.external-ecmascript.js~RangeError", + "external" + ], + [ + "src/.external-ecmascript.js~referenceerror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError", + "src/.external-ecmascript.js~ReferenceError", + "external" + ], + [ + "src/.external-ecmascript.js~reflect", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect", + "src/.external-ecmascript.js~Reflect", + "external" + ], + [ + "src/.external-ecmascript.js~regexp", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp", + "src/.external-ecmascript.js~RegExp", + "external" + ], + [ + "src/.external-ecmascript.js~set", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set", + "src/.external-ecmascript.js~Set", + "external" + ], + [ + "src/.external-ecmascript.js~string", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", + "src/.external-ecmascript.js~String", + "external" + ], + [ + "src/.external-ecmascript.js~symbol", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol", + "src/.external-ecmascript.js~Symbol", + "external" + ], + [ + "src/.external-ecmascript.js~syntaxerror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError", + "src/.external-ecmascript.js~SyntaxError", + "external" + ], + [ + "src/.external-ecmascript.js~typeerror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError", + "src/.external-ecmascript.js~TypeError", + "external" + ], + [ + "src/.external-ecmascript.js~urierror", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError", + "src/.external-ecmascript.js~URIError", + "external" + ], + [ + "src/.external-ecmascript.js~uint16array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array", + "src/.external-ecmascript.js~Uint16Array", + "external" + ], + [ + "src/.external-ecmascript.js~uint32array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array", + "src/.external-ecmascript.js~Uint32Array", + "external" + ], + [ + "src/.external-ecmascript.js~uint8array", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array", + "src/.external-ecmascript.js~Uint8Array", + "external" + ], + [ + "src/.external-ecmascript.js~uint8clampedarray", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray", + "src/.external-ecmascript.js~Uint8ClampedArray", + "external" + ], + [ + "src/.external-ecmascript.js~weakmap", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap", + "src/.external-ecmascript.js~WeakMap", + "external" + ], + [ + "src/.external-ecmascript.js~weakset", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet", + "src/.external-ecmascript.js~WeakSet", + "external" + ], + [ + "src/.external-ecmascript.js~boolean", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean", + "src/.external-ecmascript.js~boolean", + "external" + ], + [ + "src/.external-ecmascript.js~function", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function", + "src/.external-ecmascript.js~function", + "external" + ], + [ + "src/.external-ecmascript.js~null", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null", + "src/.external-ecmascript.js~null", + "external" + ], + [ + "src/.external-ecmascript.js~number", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number", + "src/.external-ecmascript.js~number", + "external" + ], + [ + "src/.external-ecmascript.js~object", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object", + "src/.external-ecmascript.js~object", + "external" + ], + [ + "src/.external-ecmascript.js~string", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String", + "src/.external-ecmascript.js~string", + "external" + ], + [ + "src/.external-ecmascript.js~undefined", + "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined", + "src/.external-ecmascript.js~undefined", + "external" + ], + [ + "src/context.js", + "file/src/Context.js.html", + "src/Context.js", + "file" + ], + [ + "src/context.js~context#constructor", + "class/src/Context.js~Context.html#instance-constructor-constructor", + "src/Context.js~Context#constructor", + "method" + ], + [ + "src/context.js~context#execute", + "class/src/Context.js~Context.html#instance-method-execute", + "src/Context.js~Context#execute", + "method" + ], + [ + "src/context.js~context#provider", + "class/src/Context.js~Context.html#instance-member-provider", + "src/Context.js~Context#provider", + "member" + ], + [ + "src/cron.js", + "file/src/Cron.js.html", + "src/Cron.js", + "file" + ], + [ + "src/cron.js~cron#constructor", + "class/src/Cron.js~Cron.html#instance-constructor-constructor", + "src/Cron.js~Cron#constructor", + "method" + ], + [ + "src/cron.js~cron#crontime", + "class/src/Cron.js~Cron.html#instance-member-cronTime", + "src/Cron.js~Cron#cronTime", + "member" + ], + [ + "src/cron.js~cron#getcron", + "class/src/Cron.js~Cron.html#instance-method-getCron", + "src/Cron.js~Cron#getCron", + "method" + ], + [ + "src/popapiscraper.js", + "file/src/PopApiScraper.js.html", + "src/PopApiScraper.js", + "file" + ], + [ + "src/popapiscraper.js~popapi", + "https://github.com/ChrisAlderson/pop-api", + "src/PopApiScraper.js~PopApi", + "external" + ], + [ + "src/popapiscraper.js~popapiscraper#constructor", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-constructor-constructor", + "src/PopApiScraper.js~PopApiScraper#constructor", + "method" + ], + [ + "src/popapiscraper.js~popapiscraper#context", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-member-context", + "src/PopApiScraper.js~PopApiScraper#context", + "member" + ], + [ + "src/popapiscraper.js~popapiscraper#getstatus", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-method-getStatus", + "src/PopApiScraper.js~PopApiScraper#getStatus", + "method" + ], + [ + "src/popapiscraper.js~popapiscraper#getupdated", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-method-getUpdated", + "src/PopApiScraper.js~PopApiScraper#getUpdated", + "method" + ], + [ + "src/popapiscraper.js~popapiscraper#scrape", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-method-scrape", + "src/PopApiScraper.js~PopApiScraper#scrape", + "method" + ], + [ + "src/popapiscraper.js~popapiscraper#setstatus", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-method-setStatus", + "src/PopApiScraper.js~PopApiScraper#setStatus", + "method" + ], + [ + "src/popapiscraper.js~popapiscraper#setupdated", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-method-setUpdated", + "src/PopApiScraper.js~PopApiScraper#setUpdated", + "method" + ], + [ + "src/popapiscraper.js~popapiscraper#statuspath", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-member-statusPath", + "src/PopApiScraper.js~PopApiScraper#statusPath", + "member" + ], + [ + "src/popapiscraper.js~popapiscraper#updatedpath", + "class/src/PopApiScraper.js~PopApiScraper.html#instance-member-updatedPath", + "src/PopApiScraper.js~PopApiScraper#updatedPath", + "member" + ], + [ + "src/popapiscraper.js~popapiscraper._installedplugins", + "class/src/PopApiScraper.js~PopApiScraper.html#static-member-_installedPlugins", + "src/PopApiScraper.js~PopApiScraper._installedPlugins", + "member" + ], + [ + "src/popapiscraper.js~popapiscraper.use", + "class/src/PopApiScraper.js~PopApiScraper.html#static-method-use", + "src/PopApiScraper.js~PopApiScraper.use", + "method" + ], + [ + "src/http/abstracthttpservice.js", + "file/src/http/AbstractHttpService.js.html", + "src/http/AbstractHttpService.js", + "file" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#_debug", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-member-_debug", + "src/http/AbstractHttpService.js~AbstractHttpService#_debug", + "member" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#baseurl", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-member-baseUrl", + "src/http/AbstractHttpService.js~AbstractHttpService#baseUrl", + "member" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#constructor", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-constructor-constructor", + "src/http/AbstractHttpService.js~AbstractHttpService#constructor", + "method" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#delete", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-method-delete", + "src/http/AbstractHttpService.js~AbstractHttpService#delete", + "method" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#get", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-method-get", + "src/http/AbstractHttpService.js~AbstractHttpService#get", + "method" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#handlebody", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-method-handleBody", + "src/http/AbstractHttpService.js~AbstractHttpService#handleBody", + "method" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#options", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-member-options", + "src/http/AbstractHttpService.js~AbstractHttpService#options", + "member" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#post", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-method-post", + "src/http/AbstractHttpService.js~AbstractHttpService#post", + "method" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#printdebug", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-method-printDebug", + "src/http/AbstractHttpService.js~AbstractHttpService#printDebug", + "method" + ], + [ + "src/http/abstracthttpservice.js~abstracthttpservice#put", + "class/src/http/AbstractHttpService.js~AbstractHttpService.html#instance-method-put", + "src/http/AbstractHttpService.js~AbstractHttpService#put", + "method" + ], + [ + "src/http/httpservice.js", + "file/src/http/HttpService.js.html", + "src/http/HttpService.js", + "file" + ], + [ + "src/http/httpservice.js~httpservice#download", + "class/src/http/HttpService.js~HttpService.html#instance-method-download", + "src/http/HttpService.js~HttpService#download", + "method" + ], + [ + "src/http/httpservice.js~httpservice#request", + "class/src/http/HttpService.js~HttpService.html#instance-method-request", + "src/http/HttpService.js~HttpService#request", + "method" + ], + [ + "src/http/ihttpservice.js", + "file/src/http/IHttpService.js.html", + "src/http/IHttpService.js", + "file" + ], + [ + "src/http/ihttpservice.js~ihttpservice#delete", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-delete", + "src/http/IHttpService.js~IHttpService#delete", + "method" + ], + [ + "src/http/ihttpservice.js~ihttpservice#download", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-download", + "src/http/IHttpService.js~IHttpService#download", + "method" + ], + [ + "src/http/ihttpservice.js~ihttpservice#get", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-get", + "src/http/IHttpService.js~IHttpService#get", + "method" + ], + [ + "src/http/ihttpservice.js~ihttpservice#post", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-post", + "src/http/IHttpService.js~IHttpService#post", + "method" + ], + [ + "src/http/ihttpservice.js~ihttpservice#printdebug", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-printDebug", + "src/http/IHttpService.js~IHttpService#printDebug", + "method" + ], + [ + "src/http/ihttpservice.js~ihttpservice#put", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-put", + "src/http/IHttpService.js~IHttpService#put", + "method" + ], + [ + "src/http/ihttpservice.js~ihttpservice#request", + "class/src/http/IHttpService.js~IHttpService.html#instance-method-request", + "src/http/IHttpService.js~IHttpService#request", + "method" + ], + [ + "src/http/index.js", + "file/src/http/index.js.html", + "src/http/index.js", + "file" + ], + [ + "src/index.js", + "file/src/index.js.html", + "src/index.js", + "file" + ], + [ + "src/providers/abstractprovider.js", + "file/src/providers/AbstractProvider.js.html", + "src/providers/AbstractProvider.js", + "file" + ], + [ + "src/providers/abstractprovider.js~abstractprovider#configs", + "class/src/providers/AbstractProvider.js~AbstractProvider.html#instance-member-configs", + "src/providers/AbstractProvider.js~AbstractProvider#configs", + "member" + ], + [ + "src/providers/abstractprovider.js~abstractprovider#constructor", + "class/src/providers/AbstractProvider.js~AbstractProvider.html#instance-constructor-constructor", + "src/providers/AbstractProvider.js~AbstractProvider#constructor", + "method" + ], + [ + "src/providers/abstractprovider.js~abstractprovider#maxwebrequests", + "class/src/providers/AbstractProvider.js~AbstractProvider.html#instance-member-maxWebRequests", + "src/providers/AbstractProvider.js~AbstractProvider#maxWebRequests", + "member" + ], + [ + "src/providers/abstractprovider.js~abstractprovider#name", + "class/src/providers/AbstractProvider.js~AbstractProvider.html#instance-member-name", + "src/providers/AbstractProvider.js~AbstractProvider#name", + "member" + ], + [ + "src/providers/abstractprovider.js~abstractprovider#scrapeconfigs", + "class/src/providers/AbstractProvider.js~AbstractProvider.html#instance-method-scrapeConfigs", + "src/providers/AbstractProvider.js~AbstractProvider#scrapeConfigs", + "method" + ], + [ + "src/providers/iprovider.js", + "file/src/providers/IProvider.js.html", + "src/providers/IProvider.js", + "file" + ], + [ + "src/providers/iprovider.js~iprovider#scrapeconfig", + "class/src/providers/IProvider.js~IProvider.html#instance-method-scrapeConfig", + "src/providers/IProvider.js~IProvider#scrapeConfig", + "method" + ], + [ + "src/providers/iprovider.js~iprovider#scrapeconfigs", + "class/src/providers/IProvider.js~IProvider.html#instance-method-scrapeConfigs", + "src/providers/IProvider.js~IProvider#scrapeConfigs", + "method" + ], + [ + "src/providers/index.js", + "file/src/providers/index.js.html", + "src/providers/index.js", + "file" + ], + [ + "test/context.spec.js", + "test-file/test/Context.spec.js.html", + "test/Context.spec.js", + "testFile" + ], + [ + "test/cron.spec.js", + "test-file/test/Cron.spec.js.html", + "test/Cron.spec.js", + "testFile" + ], + [ + "test/popapiscraper.spec.js", + "test-file/test/PopApiScraper.spec.js.html", + "test/PopApiScraper.spec.js", + "testFile" + ], + [ + "test/http/abstracthttpservice.spec.js", + "test-file/test/http/AbstractHttpService.spec.js.html", + "test/http/AbstractHttpService.spec.js", + "testFile" + ], + [ + "test/http/httpservice.spec.js", + "test-file/test/http/HttpService.spec.js.html", + "test/http/HttpService.spec.js", + "testFile" + ], + [ + "test/http/ihttpservice.spec.js", + "test-file/test/http/IHttpService.spec.js.html", + "test/http/IHttpService.spec.js", + "testFile" + ], + [ + "test/providers/abstractprovider.spec.js", + "test-file/test/providers/AbstractProvider.spec.js.html", + "test/providers/AbstractProvider.spec.js", + "testFile" + ], + [ + "test/providers/iprovider.spec.js", + "test-file/test/providers/IProvider.spec.js.html", + "test/providers/IProvider.spec.js", + "testFile" + ] +] \ No newline at end of file diff --git a/docs/script/test-summary.js b/docs/script/test-summary.js new file mode 100644 index 0000000..2abad3b --- /dev/null +++ b/docs/script/test-summary.js @@ -0,0 +1,54 @@ +(function(){ + function toggle(ev) { + var button = ev.target; + var parent = ev.target.parentElement; + while(parent) { + if (parent.tagName === 'TR' && parent.classList.contains('test-interface')) break; + parent = parent.parentElement; + } + + if (!parent) return; + + var direction; + if (button.classList.contains('opened')) { + button.classList.remove('opened'); + button.classList.add('closed'); + direction = 'closed'; + } else { + button.classList.remove('closed'); + button.classList.add('opened'); + direction = 'opened'; + } + + var targetDepth = parseInt(parent.dataset.testDepth, 10) + 1; + var nextElement = parent.nextElementSibling; + while (nextElement) { + var depth = parseInt(nextElement.dataset.testDepth, 10); + if (depth >= targetDepth) { + if (direction === 'opened') { + if (depth === targetDepth) nextElement.style.display = ''; + } else if (direction === 'closed') { + nextElement.style.display = 'none'; + var innerButton = nextElement.querySelector('.toggle'); + if (innerButton && innerButton.classList.contains('opened')) { + innerButton.classList.remove('opened'); + innerButton.classList.add('closed'); + } + } + } else { + break; + } + nextElement = nextElement.nextElementSibling; + } + } + + var buttons = document.querySelectorAll('.test-summary tr.test-interface .toggle'); + for (var i = 0; i < buttons.length; i++) { + buttons[i].addEventListener('click', toggle); + } + + var topDescribes = document.querySelectorAll('.test-summary tr[data-test-depth="0"]'); + for (var i = 0; i < topDescribes.length; i++) { + topDescribes[i].style.display = ''; + } +})(); diff --git a/docs/source.html b/docs/source.html new file mode 100644 index 0000000..12a8011 --- /dev/null +++ b/docs/source.html @@ -0,0 +1,164 @@ + + + + + + Source | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    Source 51/51

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileIdentifierDocumentSizeLinesUpdated
    src/Context.jsContext100 %4/4827 byte382017-12-04 20:49:22 (UTC)
    src/Cron.jsCron100 %4/41396 byte532017-12-04 19:11:34 (UTC)
    src/PopApiScraper.jsPopApiScraper100 %12/124568 byte1682017-12-04 20:01:25 (UTC)
    src/http/AbstractHttpService.jsAbstractHttpService100 %11/114019 byte1602017-12-04 19:14:15 (UTC)
    src/http/HttpService.jsHttpService100 %3/32094 byte802017-12-04 20:53:47 (UTC)
    src/http/IHttpService.jsIHttpService100 %8/83614 byte1182017-12-04 20:13:40 (UTC)
    src/http/index.js--171 byte42017-11-01 21:58:59 (UTC)
    src/index.js--186 byte62017-12-04 20:10:45 (UTC)
    src/providers/AbstractProvider.jsAbstractProvider100 %6/61846 byte802017-12-04 19:11:34 (UTC)
    src/providers/IProvider.jsIProvider100 %3/3904 byte322017-11-05 00:04:27 (UTC)
    src/providers/index.js--119 byte32017-12-04 20:39:59 (UTC)
    +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/Context.spec.js.html b/docs/test-file/test/Context.spec.js.html new file mode 100644 index 0000000..a67df34 --- /dev/null +++ b/docs/test-file/test/Context.spec.js.html @@ -0,0 +1,104 @@ + + + + + + test/Context.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/Context.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import { expect } from 'chai'
    +
    +import {
    +  Context,
    +  IProvider
    +} from '../src'
    +
    +/** @test {Context} */
    +describe('Context', () => {
    +  /**
    +   * The context object to test
    +   * @type {Context}
    +   */
    +  let context: Context
    +
    +  /**
    +   * Hook for setting up the Context tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    context = new Context()
    +  })
    +
    +  /** @test {Context#execute} */
    +  it('should throw an error when executing the default provider', () => {
    +    expect(context.execute.bind(context)).to
    +      .throw('Using default method: \'scrapeConfigs\'')
    +  })
    +
    +  /** @test {Context#provider} */
    +  it('should check if Context has a provider', () => {
    +    const current = context.provider
    +    const iProvider = new IProvider()
    +    context.provider = iProvider
    +
    +    expect(context.provider).to.not.equal(current)
    +    expect(context.provider).to.equal(iProvider)
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/Cron.spec.js.html b/docs/test-file/test/Cron.spec.js.html new file mode 100644 index 0000000..78d8e58 --- /dev/null +++ b/docs/test-file/test/Cron.spec.js.html @@ -0,0 +1,138 @@ + + + + + + test/Cron.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/Cron.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import del from 'del'
    +import mkdirp from 'mkdirp'
    +import { join } from 'path'
    +import { expect } from 'chai'
    +import { PopApi } from 'pop-api'
    +
    +import {
    +  Cron,
    +  PopApiScraper
    +} from '../src/'
    +
    +/** @test {Cron} */
    +describe('Cron', () => {
    +  /**
    +   * The Cron object to test.
    +   * @type {Cron}
    +   */
    +  let cron: Cron
    +
    +  /**
    +   * The temporary directory to store the status and updated files.
    +   * @type {string}
    +   */
    +  let tempDir: string
    +
    +  /**
    +   * Hook for setting up the Cron tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    tempDir = join(...[
    +      __dirname,
    +      '..',
    +      'tmp'
    +    ])
    +    del.sync([tempDir])
    +    mkdirp.sync(tempDir)
    +
    +    PopApi.use(PopApiScraper, {
    +      statusPath: join(...[tempDir, 'status.json']),
    +      updatedPath: join(...[tempDir, 'updated.json'])
    +    })
    +    cron = new Cron(PopApi)
    +  })
    +
    +  /** @test {Cron#constructor} */
    +  it('should test the constructor with options.', () => {
    +    new Cron(PopApi, { // eslint-disable-line no-new
    +      cronTime: '0 0 */6 * * *'
    +    })
    +  })
    +
    +  /** @test {Cron#constructor} */
    +  it('should check the attributes of the Cron', () => {
    +    expect(cron.cronTime).to.exist
    +    expect(cron.cronTime).to.be.a('string')
    +  })
    +
    +  /** @test {Cron#getCron} */
    +  it('should get the cron object', () => {
    +    const res = cron.getCron(PopApi)
    +    expect(res).to.be.an('object')
    +  })
    +
    +  /**
    +   * Hook for tearing down the Cron tests.
    +   * @type {Function}
    +   */
    +  after(() => {
    +    del.sync(tempDir)
    +    PopApi._installedPlugins = new Map()
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/PopApiScraper.spec.js.html b/docs/test-file/test/PopApiScraper.spec.js.html new file mode 100644 index 0000000..6992447 --- /dev/null +++ b/docs/test-file/test/PopApiScraper.spec.js.html @@ -0,0 +1,218 @@ + + + + + + test/PopApiScraper.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/PopApiScraper.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import del from 'del'
    +import mkdirp from 'mkdirp'
    +import { expect } from 'chai'
    +import { join } from 'path'
    +import { PopApi } from 'pop-api'
    +
    +import ExampleProvider from '../examples/ExampleProvider'
    +import { PopApiScraper } from '../src'
    +
    +/** @test {PopApiScraper} */
    +describe('PopApiScraper', () => {
    +  /**
    +   * The PopApiScraper to test with.
    +   * @type {PopApiScraper}
    +   */
    +  let popApiScraper: PopApiScraper
    +
    +  /**
    +   * The temporary directory to store the status and updated files.
    +   * @type {string}
    +   */
    +  let tempDir: string
    +
    +  /**
    +   * Hook for setting up the PopApiScraper tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    tempDir = join(...[
    +      __dirname,
    +      '..',
    +      'tmp'
    +    ])
    +    del.sync([tempDir])
    +    mkdirp.sync(tempDir)
    +
    +    popApiScraper = new PopApiScraper(PopApi, {
    +      statusPath: join(...[
    +        tempDir,
    +        'status.json'
    +      ]),
    +      updatedPath: join(...[
    +        tempDir,
    +        'updated.json'
    +      ])
    +    })
    +  })
    +
    +  /** @test {PopApiScraper#constructor} */
    +  it('should check the attributes of the PopApiScraper', () => {
    +    expect(popApiScraper.context).to.exist
    +    expect(popApiScraper.context).to.be.an('object')
    +    expect(popApiScraper.statusPath).to.exist
    +    expect(popApiScraper.statusPath).to.be.a('string')
    +    expect(popApiScraper.updatedPath).to.exist
    +    expect(popApiScraper.updatedPath).to.be.a('string')
    +  })
    +
    +  /** @test {PopApiScraper#constructor} */
    +  it('should throw an error if the required options are not given', () => {
    +    try {
    +      new PopApiScraper(PopApi, {}) // eslint-disable-line no-new
    +      expect(true).to.be.false
    +    } catch (err) {
    +      expect(err).to.be.an('Error')
    +      expect(err.message).to.equal(
    +        '\'statusPath\' and \'updatedPath\' are required options for the PopApiScraper middleware!'
    +      )
    +    }
    +  })
    +
    +  /** @test {PopApiScraper#setStatus} */
    +  it('should set the status of the scraper', done => {
    +    popApiScraper.setStatus('status').then(res => {
    +      expect(res).to.be.undefined
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /** @test {PopApiScraper#getStatus} */
    +  it('should get the status of the scraper', done => {
    +    popApiScraper.getStatus().then(res => {
    +      expect(res).to.be.a('string')
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /** @test {PopApiScraper#setUpdated} */
    +  it('should set the updated status of the scraper', done => {
    +    popApiScraper.setUpdated(123456789).then(res => {
    +      expect(res).to.be.undefined
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /** @test {PopApiScraper#getUpdated} */
    +  it('should get the updated status of the scraper', done => {
    +    popApiScraper.getUpdated().then(res => {
    +      expect(res).to.be.a('number')
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /**
    +   * Helper function to test the `use` method.
    +   * @param {!string} msg - The message to print for the test.
    +   * @returns {undefined}
    +   */
    +  function testUse(msg: string): void {
    +    /** @test {PopApiScraper.use} */
    +    it(msg, () => {
    +      PopApiScraper.use(ExampleProvider, {
    +        name: 'exampleProvider',
    +        configs: [{
    +          baseUrl: 'https://jsonplaceholder.typicode.com/'
    +        }]
    +      })
    +
    +      expect(PopApiScraper._installedPlugins).to.be.a('Map')
    +      expect(PopApiScraper._installedPlugins.size).to.equal(1)
    +    })
    +  }
    +
    +  // Execute the tests.
    +  [
    +    'should register a middleware plugin',
    +    'should not register the same plugin twice'
    +  ].map(testUse)
    +
    +  /** @test {PopApiScraper.use} */
    +  it('should not register the plugin if it is not a class', () => {
    +    PopApiScraper.use({})
    +
    +    expect(PopApiScraper._installedPlugins).to.be.a('Map')
    +    expect(PopApiScraper._installedPlugins.size).to.equal(1)
    +  })
    +
    +  /** @test {PopApiScraper#scrape} */
    +  it('should call the scrape method', done => {
    +    popApiScraper.scrape().then(res => {
    +      expect(res).to.be.an('array')
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /**
    +   * Hook for tearing down the PopApiScraper tests.
    +   * @type {Function}
    +   */
    +  after(() => {
    +    del.sync(tempDir)
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/http/AbstractHttpService.spec.js.html b/docs/test-file/test/http/AbstractHttpService.spec.js.html new file mode 100644 index 0000000..a01d5da --- /dev/null +++ b/docs/test-file/test/http/AbstractHttpService.spec.js.html @@ -0,0 +1,174 @@ + + + + + + test/http/AbstractHttpService.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/http/AbstractHttpService.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import { expect } from 'chai'
    +
    +import { AbstractHttpService } from '../../src'
    +
    +/** @test {AbstractHttpService} */
    +describe('AbstractHttpService', () => {
    +  /**
    +   * The AbstractHttpService object to be tested.
    +   * @type {AbstractHttpService}
    +   */
    +  let abstractHttpService: AbstractHttpService
    +
    +  /**
    +   * Hook for setting up the AbstractHttpService tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    abstractHttpService = new AbstractHttpService({
    +      baseUrl: 'https://jsonplaceholder.typicode.com/'
    +    })
    +  })
    +
    +  /** @test {HttpService#constructor} */
    +  it('should throw an error when calling the get method', () => {
    +    abstractHttpService = new AbstractHttpService({
    +      baseUrl: 'https://jsonplaceholder.typicode.com',
    +      options: {}
    +    })
    +  })
    +
    +  /** @test {AbstractHttpService#get} */
    +  it('should throw an error when calling the get method', () => {
    +    expect(abstractHttpService.get.bind(abstractHttpService)).to
    +      .throw('Using default method: \'request\'')
    +  })
    +
    +  /** @test {AbstractHttpService#post} */
    +  it('should throw an error when calling the post method', () => {
    +    expect(abstractHttpService.post.bind(abstractHttpService)).to
    +      .throw('Using default method: \'request\'')
    +  })
    +
    +  /** @test {AbstractHttpService#put} */
    +  it('should throw an error when calling the put method', () => {
    +    expect(abstractHttpService.put.bind(abstractHttpService)).to
    +      .throw('Using default method: \'request\'')
    +  })
    +
    +  /** @test {AbstractHttpService#delete} */
    +  it('should throw an error when calling the delete method', () => {
    +    expect(abstractHttpService.delete.bind(abstractHttpService)).to
    +      .throw('Using default method: \'request\'')
    +  })
    +
    +  /** @test {AbstractHttpService#download} */
    +  it('should throw an error when calling the download method', () => {
    +    expect(abstractHttpService.download.bind(abstractHttpService)).to
    +      .throw('Using default method: \'download\'')
    +  })
    +
    +  /** @test {AbstractHttpService#handleBody} */
    +  it('should get the raw body of a request', () => {
    +    const body = '<html><head><title>Test</title></head></html>'
    +    const res = abstractHttpService.handleBody(body, true)
    +    expect(res).to.equal(body)
    +  })
    +
    +  /** @test {AbstractHttpService#handleBody} */
    +  it('should get the body wrapped in cheerio', () => {
    +    const body = '<html><head><title>Test</title></head></html>'
    +    const res = abstractHttpService.handleBody(body, false)
    +    expect(res).to.be.a('function')
    +  })
    +
    +  /** @test {AbstractHttpService#request} */
    +  it('should throw an error when calling the _request method', () => {
    +    expect(abstractHttpService.request.bind(abstractHttpService)).to
    +      .throw('Using default method: \'request\'')
    +  })
    +
    +  /** @test {AbstractHttpService#printDebug} */
    +  it('should throw an error when calling the _printDebug method', () => {
    +    const url = 'https://jsonplaceholder.typicode.com'
    +    const toStringify = {
    +      key: 'value'
    +    }
    +
    +    let res = abstractHttpService.printDebug('GET', url, {
    +      body: toStringify
    +    })
    +    expect(res).to.be.undefined
    +
    +    res = abstractHttpService.printDebug('GET', url, {
    +      query: toStringify
    +    })
    +    expect(res).to.be.undefined
    +
    +    res = abstractHttpService.printDebug('GET', url, {
    +      form: toStringify
    +    })
    +    expect(res).to.be.undefined
    +
    +    res = abstractHttpService.printDebug('GET', url, {})
    +    expect(res).to.be.undefined
    +
    +    res = abstractHttpService.printDebug('GET', url)
    +    expect(res).to.be.undefined
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/http/HttpService.spec.js.html b/docs/test-file/test/http/HttpService.spec.js.html new file mode 100644 index 0000000..3b03924 --- /dev/null +++ b/docs/test-file/test/http/HttpService.spec.js.html @@ -0,0 +1,156 @@ + + + + + + test/http/HttpService.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/http/HttpService.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import del from 'del'
    +import mkdirp from 'mkdirp'
    +import { expect } from 'chai'
    +import { existsSync } from 'fs'
    +import { join } from 'path'
    +
    +import { HttpService } from '../../src'
    +
    +/** @test {HttpService} */
    +describe('HttpService', () => {
    +  /**
    +   * The HttpService object to be tested.
    +   * @type {HttpService}
    +   */
    +  let httpService: HttpService
    +
    +  /**
    +   * The temporary directory to store the status and updated files.
    +   * @type {string}
    +   */
    +  let tempDir: string
    +
    +  /**
    +   * Hook for setting up the HttpService tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    tempDir = join(...[
    +      __dirname,
    +      '..',
    +      '..',
    +      'tmp'
    +    ])
    +    del.sync([tempDir])
    +    mkdirp.sync(tempDir)
    +
    +    httpService = new HttpService({
    +      baseUrl: 'https://jsonplaceholder.typicode.com/'
    +    })
    +  })
    +
    +  /** @test {HttpService#request} */
    +  it('should make a successful HTTP request', done => {
    +    httpService.request('GET', 'posts/1', {
    +      json: true
    +    }, true).then(res => {
    +      expect(res).to.be.an('object')
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /** @test {HttpService#download} */
    +  it('should fail to download a given link', done => {
    +    const fileName = 'file.json'
    +    const filePath = join(...[tempDir, fileName])
    +    const endpoint = '/faulty/1'
    +
    +    expect(existsSync(filePath)).to.be.false
    +
    +    httpService.download(endpoint, fileName)
    +      .then(done)
    +      .catch(() => {
    +        expect(existsSync(filePath)).to.be.false
    +        done()
    +      })
    +  })
    +
    +  /** @test {HttpService#download} */
    +  it('should successfully download a given link', done => {
    +    const fileName = 'file.json'
    +    const filePath = join(...[tempDir, fileName])
    +    const endpoint = '/posts/1'
    +
    +    expect(existsSync(filePath)).to.be.false
    +
    +    httpService.download(endpoint, filePath).then(res => {
    +      expect(res).to.be.a('string')
    +      expect(existsSync(filePath)).to.be.true
    +
    +      done()
    +    }).catch(done)
    +  })
    +
    +  /**
    +   * Hook for tearing down the HttpService tests.
    +   * @type {Function}
    +   */
    +  after(() => {
    +    del.sync(tempDir)
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/http/IHttpService.spec.js.html b/docs/test-file/test/http/IHttpService.spec.js.html new file mode 100644 index 0000000..cfbe4c1 --- /dev/null +++ b/docs/test-file/test/http/IHttpService.spec.js.html @@ -0,0 +1,119 @@ + + + + + + test/http/IHttpService.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/http/IHttpService.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import { expect } from 'chai'
    +
    +import { IHttpService } from '../../src'
    +
    +/** @test {IHttpService} */
    +describe('IHttpService', () => {
    +  /**
    +   * The IHttpService object to be tested.
    +   * @type {IHttpService}
    +   */
    +  let iHttpService: IHttpService
    +
    +  /**
    +   * Hook for setting up the IHttpService tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    iHttpService = new IHttpService()
    +  })
    +
    +  /** @test {IHttpService#get} */
    +  it('should throw an error when calling the get method', () => {
    +    expect(iHttpService.get).to
    +      .throw('Using default method: \'get\'')
    +  })
    +
    +  /** @test {IHttpService#post} */
    +  it('should throw an error when calling the post method', () => {
    +    expect(iHttpService.post).to
    +      .throw('Using default method: \'post\'')
    +  })
    +  /** @test {IHttpService#put} */
    +  it('should throw an error when calling the put method', () => {
    +    expect(iHttpService.put).to
    +      .throw('Using default method: \'put\'')
    +  })
    +  /** @test {IHttpService#delete} */
    +  it('should throw an error when calling the delete method', () => {
    +    expect(iHttpService.delete).to
    +      .throw('Using default method: \'delete\'')
    +  })
    +
    +  /** @test {IHttpService#printDebug} */
    +  it('should throw an error when calling the printDebug method', () => {
    +    expect(iHttpService.printDebug).to
    +      .throw('Using default method: \'printDebug\'')
    +  })
    +
    +  /** @test {IHttpService#request} */
    +  it('should throw an error when calling the request method', () => {
    +    expect(iHttpService.request).to
    +      .throw('Using default method: \'request\'')
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/providers/AbstractProvider.spec.js.html b/docs/test-file/test/providers/AbstractProvider.spec.js.html new file mode 100644 index 0000000..204748d --- /dev/null +++ b/docs/test-file/test/providers/AbstractProvider.spec.js.html @@ -0,0 +1,86 @@ + + + + + + test/providers/AbstractProvider.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/providers/AbstractProvider.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import { expect } from 'chai'
    +
    +import { AbstractProvider } from '../../src'
    +
    +/** @test {AbstractProvider} */
    +describe('AbstractProvider', () => {
    +  /** @test {AbstractProvider#scrapeConfigs} */
    +  it('should throw an error when calling the scrapeConfigs method', done => {
    +    const abstractProvider = new AbstractProvider({}, {
    +      baseUrl: 'https://jsonplaceholder.typicode.com/',
    +      configs: [{}]
    +    })
    +
    +    abstractProvider.scrapeConfigs()
    +      .then(done)
    +      .catch(err => {
    +        expect(err).to.be.an('Error')
    +        done()
    +      })
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test-file/test/providers/IProvider.spec.js.html b/docs/test-file/test/providers/IProvider.spec.js.html new file mode 100644 index 0000000..b0e1c26 --- /dev/null +++ b/docs/test-file/test/providers/IProvider.spec.js.html @@ -0,0 +1,97 @@ + + + + + + test/providers/IProvider.spec.js | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    test/providers/IProvider.spec.js

    +
    // Import the necessary modules.
    +// @flow
    +/* eslint-disable no-unused-expressions */
    +import { expect } from 'chai'
    +
    +import { IProvider } from '../../src'
    +
    +/** @test {IProvider} */
    +describe('IProvider', () => {
    +  /**
    +   * The IProvider object to be tested.
    +   * @type {IProvider}
    +   */
    +  let iProvider: IProvider
    +
    +  /**
    +   * Hook for setting up the IProvider tests.
    +   * @type {Function}
    +   */
    +  before(() => {
    +    iProvider = new IProvider()
    +  })
    +
    +  /** @test {IProvider#scrapeConfig} */
    +  it('should throw an error when calling the scrapeConfig method', () => {
    +    expect(iProvider.scrapeConfig).to
    +      .throw('Using default method: \'scrapeConfig\'')
    +  })
    +
    +  /** @test {IProvider#scrapeConfigs} */
    +  it('should throw an error when calling the scrapeConfigs method', () => {
    +    expect(iProvider.scrapeConfigs).to
    +      .throw('Using default method: \'scrapeConfigs\'')
    +  })
    +})
    +
    + +
    + + + + + + + + + + + + diff --git a/docs/test.html b/docs/test.html new file mode 100644 index 0000000..b763162 --- /dev/null +++ b/docs/test.html @@ -0,0 +1,332 @@ + + + + + + Test | pop-api-scraper + + + + + + + +
    + + Manual + Reference + Source + Test + +
    + + + +

    Test

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DescriptionIdentifier
    +
    + + + + + + + + + + + + diff --git a/examples/ExampleProvider.js b/examples/ExampleProvider.js new file mode 100644 index 0000000..dadf542 --- /dev/null +++ b/examples/ExampleProvider.js @@ -0,0 +1,44 @@ +// Import the necessary modules. +import { + AbstractProvider, + HttpService +} from '../src' + +/** + * Example provider extending the abstract provider. + * @extends {AbstractProvider} + * @type {ExampleProvider} + */ +export default class ExampleProvider extends AbstractProvider { + + /** + * Create a nwe ExampleProvider object. + * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance. + * @param {!Object} options - The options for the ExampleProvider. + * @param {!Array} options.configs - The configurations of the + * provider. + * @param {!number} [maxWebRequests=2] - The max allowed concurrent web + * requests. + */ + constructor(PopApiScraper, {name, baseUrl, configs, maxWebRequests = 2}) { + super(PopApiScraper, {name, baseUrl, configs, maxWebRequests}) + } + + /** + * Get the contents for the configurations. + * @override + * @returns {Promise, Error>} - The results of the scraped + * configurations. + */ + scrapeConfig(config) { + // A HTTP service to send HTTP requests. + this.httpService = new HttpService({ + baseUrl: config.baseUrl + }) + + // HTTP GET request to: 'https://jsonplaceholder.typicode.com/posts?foo=bar' + return this.httpService.get('/posts', config.httpOptions) + .then(res => res.data) + } + +} diff --git a/examples/exampleSetup.js b/examples/exampleSetup.js new file mode 100644 index 0000000..181c4c3 --- /dev/null +++ b/examples/exampleSetup.js @@ -0,0 +1,43 @@ +/* eslint-disable no-console */ +import os from 'os' +import { PopApi } from 'pop-api' +import { join } from 'path' +import { Cron, PopApiScraper } from '../src' + +import ExampleProvider from './ExampleProvider' + +(async () => { + try { + // Let the PopApiScraper use the ExampleProvider o scrape data. + PopApiScraper.use(ExampleProvider, { + name: 'example-provider', + configs: [{ + baseUrl: 'https://jsonplaceholder.typicode.com', + httpOptions: { + query: { + foo: 'bar' + } + } + }], + maxWebRequests: 2 + }) + + // Register the PopApiScraper middleware to the pop-api instance. + PopApi.use(PopApiScraper, { + statusPath: join(...[os.tmpdir(), 'status.json']), + updatedPath: join(...[os.tmpdir(), 'updated.json']) + }) + // Optionally you can use the Cron middleware to scrape for content on a + // regulat basis. + PopApi.use(Cron, { + cronTime: '0 0 */6 * * *', + start: false + }) + + // PopApi now has a `scraper` instance. + const res = await PopApi.scraper.scrape() + console.info(res[0]) + } catch (err) { + console.error(err) + } +})() diff --git a/flow-typed/pop-api-scraper_vx.x.x.js b/flow-typed/pop-api-scraper_vx.x.x.js new file mode 100644 index 0000000..e69de29 diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7588fc7f648c5a3f985843b62771eeca2f49161b GIT binary patch literal 44570 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⋙I^o@OKoBA81lBy0&9nH3il_mX{C1w9u?1t*PYc@6i=WYEkzJ7KlS6mti z!}Q}?t`@QhJZ9XccN^#%C(9evVD2)G?d{M6wtzvS4e*?V*;tOqp<5c-L32GT~ z;q%UZ(?RDS%x$*!7QiIInr_dW5B|>MM-*`Sq zE*!6!eQH88`F1crh@u|1U1(cYy<~lrYKpD@^W5&J+}9eQcT3vJG|I6+9cdrc`{7o` z4T~@Fu#Cw)Tscf;KG{vGGEA~R!bq8m#2cVd`&@pP#mK(*Z=U*M?C((1te2f6ZpZc)|Hd|#M+gj8DBH{JGdceK zDP!;bi8yOdC(O6dDNsnEcP0wb@y+lE6ZkiU)11BOP#0+U%LjI-Uj%sE_H4B5h+_s7 z56}Xcqq%;$1F=eqkHJvjNwd$krI3E!CY_}9K^bR!abRRLY*r3qspLZU&>(kgao?^# zIr;R_XZW8(QuNypT%uYgyC|{!@)mx6yUdApcG-Wek3dtv#^6e8)>!x}cF18D9l@YQ z2o?4R62fI2=E2|9rz&NbC09ZdSazZQZKw?)kGcpEj$_^|VIS#P_tj=Gst6OP?1G~h zBfV^G(>uw`sV8sThCuHzT7|59c>kMQ z^pxEL2El{b+Aed;v$J?PLsMv85F(0b`8pFucy(R`7;CP`evCP`W!BewW-lINNueQmpZhQ!;)rdp&^%YMw2%UiO(FmXQ}@phjO1$3-d7 z4Ymrwy<+6ydL*0=N=hYt-YdY?b(`U3v<0*JNEJxIMx)s!^235Y?v9lG*AuC)9}2Is z6lk28uX6;b@X_rO10BPhe8e4&%7s=k+Bbg_{6b!h!#_&e6=a$AQSU$XusnjuvkIB?imC@I|zb?ynf=i0-SOZtOV4SZ9$?(ab^1<>j z9+YP^s#1NICy~SWy&)KP22E+^{*zYpbBD@Of!GT7Em)_q3%?Mn<@F=Wx$N_FAjlZ`vEXbcPUz~bWkxrZ%bfv!xh zxqqLc3Yxk?pgxJ4;CB75jNIg z^@|W(#5vLOW_CM=AI53t77P3vRG#7s>j^XEmN@WrR&3fN_Cv(}vjw=7{JV<>cfmL~ bICpm&d&+uxe_?mPFF5MT+Dg^Wt-}5XIr2hq literal 0 HcmV?d00001 diff --git a/manual/middleware.md b/manual/middleware.md new file mode 100644 index 0000000..3b89fc9 --- /dev/null +++ b/manual/middleware.md @@ -0,0 +1,60 @@ +# Middleware + + - [Scraper](#scraper) + - [Cron](#cron) + +## Scraper + +The `PopApiScraper` middleware implements a strategy pattern where you can +use your own `Providers` (strageties) for scraping content from the web. + +```js +import os from 'os' +import { PopApi } from 'pop-api' +import { PopApiScraper } from 'pop-api-scraper' +import { join } from 'path' + +import ExampleProvider from './ExampleProvider' + +const providerOpts = { + name: 'example-provider', // The name of the provider. + configs: [{ // The configurations to scrape with. + key: 'value' // Put anything you like into the configuration. + }], + maxWebRequests: 2 // The maximum concurrent web requests at a time. +} +PopApiScraper.use(ExampleProvider, providerOpts) + +// Join paths for the scraper options. +const tmpDir = join(...[os.tmpdir(), name]) +const statusPath = join(...[tmpDir, 'status.json']) +const updatedPath = join(...[tmpDir, 'updated.json']) + +const scraperOpts = { + statusPath, // The path to the status file where the scraper status is + // saved. + updatedPath // The path to the updated file where the time of the scraping + // process is saved. +} +PopApi.use(PopApiScraper, scraperOpts) + +// Start the scraping process by calling the `scrape` method. +PopApi.scraper.scrape() +``` + +## Cron + +The `Cron` middleware allows for the scraping process to be started regularly. + +```js +import { PopApi } from 'pop-api' +import { Cron } from 'pop-api-scraper' + +const cronOpts = { + cronTime: '0 0 */6 * * *', // The ctron time for the cronjob. + start: false // Start the cron job on creation. +} +PopApi.use(Cron, cronOpts) + +// PopApi.cron will be an instance of: https://github.com/merencia/node-cron +``` diff --git a/manual/usage.md b/manual/usage.md new file mode 100644 index 0000000..986e090 --- /dev/null +++ b/manual/usage.md @@ -0,0 +1,84 @@ +# Usage + +For the basic setup you need to create a `Provider` (strategy) the +`PopApiScraper` instance can use. The `PopApiScraper` implements the strategy +pattern, where the providers are the strategies. + +The example below makes a HTTP GET request to a web service or website. from +there on you are free to implement how and what data you want to get from it. + +```js +// ./ExampleProvider.js +import { AbstractProvider, HttpService } from 'pop-api-scraper' + +// Extend from the internal AbstractProvider. +export default class ExampleProvider extends AbstractProvider { + + constructor(PopApiScraper, {name, configs, maxWebRequests = 2}) { + super(PopApiScraper, {name, configs, maxWebRequests}) + } + + // Override the `scrapeConfig` method to get the content from one + // configuration. + scrapeConfig(config) { + // A HTTP service to send HTTP requests. + this.httpService = new HttpService({ + baseUrl: config.baseUrl + }) + + // HTTP GET request to: https://jsonplaceholder.typicode.com/posts?foo=bar + return this.httpService.get('/posts', config.httpOptions) + .then(res => res.data) + } + +} +``` + +Bundle it all up together with +[`pop-api`](https://github.com/popcorn-official/pop-api): + +```js +// ./index.js +import os from 'os' +import { PopApi } from 'pop-api' +import { join } from 'path' +import { Cron, PopApiScraper } from 'pop-api-scraper' + +import ExampleProvider from './ExampleProvider' + +(async () => { + try { + // Let the PopApiScraper use the ExampleProvider o scrape data. + PopApiScraper.use(ExampleProvider, { + name: 'example-provider', + configs: [{ + baseUrl: 'https://jsonplaceholder.typicode.com', + httpOptions: { + query: { + foo: 'bar' + } + } + }], + maxWebRequests: 2 + }) + + // Register the PopApiScraper middleware to the pop-api instance. + PopApi.use(PopApiScraper, { + statusPath: join(...[os.tmpdir(), 'status.json']), + updatedPath: join(...[os.tmpdir(), 'updated.json']) + }) + // Optionally you can use the Cron middleware to scrape for content on a + // regulat basis. + PopApi.use(Cron, { + cronTime: '0 0 */6 * * *', + start: false + }) + + // PopApi now has a `scraper` instance. + const res = await PopApi.scraper.scrape() + console.info(res[0]) + } catch (err) { + console.error(err) + } +})() +``` diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6b6d95b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,10244 @@ +{ + "name": "pop-api-scraper", + "version": "0.2.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz", + "integrity": "sha512-yd7CkUughvHQoEahQqcMdrZw6o/6PwUxiRkfZuVDVHCDe77mysD/suoNyk5mK6phTnRW1kyIbPHyCJgxw++LXg==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz", + "integrity": "sha512-c+DAyp8LMm2nzSs2uXEuxp4LYGSUYEyHtU3fU57avFChjsnTmmpWmXj2dv0yUxHTEydgVAv5fIzA+4KJwoqWDA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.31", + "@babel/template": "7.0.0-beta.31", + "@babel/traverse": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz", + "integrity": "sha512-m7rVVX/dMLbbB9NCzKYRrrFb0qZxgpmQ4Wv6y7zEsB6skoJHRuXVeb/hAFze79vXBbuD63ci7AVHXzAdZSk9KQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.31" + } + }, + "@babel/template": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.31.tgz", + "integrity": "sha512-97IRmLvoDhIDSQkqklVt3UCxJsv0LUEVb/0DzXWtc8Lgiyxj567qZkmTG9aR21CmcJVVIvq2Y/moZj4oEpl5AA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "lodash": "4.17.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.31.tgz", + "integrity": "sha512-3N+VJW+KlezEjFBG7WSYeMyC5kIqVLPb/PGSzCDPFcJrnArluD1GIl7Y3xC7cjKiTq2/JohaLWHVPjJWHlo9Gg==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/helper-function-name": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "debug": "3.1.0", + "globals": "10.4.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", + "dev": true + }, + "globals": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-10.4.0.tgz", + "integrity": "sha512-uNUtxIZpGyuaq+5BqGGQHsL4wUlJAXRqOm6g3Y48/CWNGTLONgBibI0lh6lGxjR2HljFYUfszb+mk4WkgMntsA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.31.tgz", + "integrity": "sha512-exAHB+NeFGxkfQ5dSUD03xl3zYGneeSk2Mw2ldTt/nTvYxuDiuSp3DlxgUBgzbdTFG4fbwPk0WtKWOoTXCmNGg==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@chrisalderson/express-winston": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chrisalderson/express-winston/-/express-winston-3.0.0.tgz", + "integrity": "sha512-AJ2L+mU2rEGU6Cbe+7aeRwUU69MHRGeXU9OFS0HxO7PHJ5jZ6kzMJrXI37FqH9naBTjvoUcQmVkuDwpnPWEjKg==", + "dev": true + }, + "@sindresorhus/is": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.6.0.tgz", + "integrity": "sha1-OD9Faya8lseInwMyB59DWLFsWNw=" + }, + "@types/node": { + "version": "0.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-0.12.12.tgz", + "integrity": "sha512-NnGDpPUylcSdOnweuDxcCveqT/fLK0gJUT78GyM2Zpce1ZX0WwMHUrmEz21loRBJSbv/JqF6lTL4iig3JdindQ==" + }, + "JSONStream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", + "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", + "dev": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + } + }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true, + "optional": true + }, + "accepts": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "dev": true, + "requires": { + "mime-types": "2.1.17", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", + "dev": true + }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "dev": true, + "optional": true, + "requires": { + "acorn": "2.7.0" + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", + "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-escapes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assertion-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-cli": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", + "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "commander": "2.12.2", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.4", + "output-file-sync": "1.1.2", + "path-is-absolute": "1.0.1", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-eslint": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.1.2.tgz", + "integrity": "sha512-IE+glF8t0lLoldylN7JyR8gT7e3jwyuNH2ds8g3UVUwGob/U4iT7Xpsiq2kQ8QGLb0eX4RcQXNqeW6mgPysu9A==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/traverse": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-external-helpers": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", + "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", + "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.9.1", + "test-exclude": "4.1.1" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "dev": true, + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-preset-env": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.10.0", + "invariant": "2.2.2", + "semver": "5.4.1" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "6.22.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "dev": true, + "requires": { + "buffers": "0.1.1", + "chainsaw": "0.1.0" + } + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true, + "optional": true + }, + "bluebird": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.1", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.15" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browser-resolve": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "browserslist": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.10.0.tgz", + "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000783", + "electron-to-chromium": "1.3.28" + } + }, + "bson": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz", + "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=", + "dev": true + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacheable-request": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.3.tgz", + "integrity": "sha1-uTVgfdKrKBKJi++yJPZqqGxTPbs=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.0", + "responselike": "1.0.2" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000783", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000783.tgz", + "integrity": "sha1-m1SZ+xtQPSNF0SqmuGEoUvQnb/0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chai": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", + "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", + "dev": true, + "requires": { + "assertion-error": "1.0.2", + "check-error": "1.0.2", + "deep-eql": "3.0.1", + "get-func-name": "2.0.0", + "pathval": "1.1.0", + "type-detect": "4.0.5" + } + }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "dev": true, + "requires": { + "traverse": "0.3.9" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", + "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash": "4.17.4", + "parse5": "3.0.3" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "ci-info": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", + "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "7.1.2" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "color": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", + "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", + "dev": true, + "requires": { + "color-convert": "0.5.3", + "color-string": "0.3.0" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + } + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-logger": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/color-logger/-/color-logger-0.0.3.tgz", + "integrity": "sha1-2bIt0dlz4Waxi/MT+fSBu6TfIBg=", + "dev": true + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "colornames": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", + "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "colorspace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", + "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", + "dev": true, + "requires": { + "color": "0.8.0", + "text-hex": "0.0.0" + } + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "dev": true + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, + "requires": { + "array-ify": "1.0.0", + "dot-prop": "3.0.0" + } + }, + "compressible": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", + "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "compression": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", + "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "dev": true, + "requires": { + "accepts": "1.3.4", + "bytes": "3.0.0", + "compressible": "2.0.12", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-security-policy-builder": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.1.0.tgz", + "integrity": "sha1-2R8bB2I2wRmFDH3umSS/VeBXcrM=", + "dev": true, + "requires": { + "dashify": "0.2.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "conventional-changelog": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.7.tgz", + "integrity": "sha1-kVGmKx2O2y2CcR2r9bfPcQQfgrE=", + "dev": true, + "requires": { + "conventional-changelog-angular": "1.5.3", + "conventional-changelog-atom": "0.1.2", + "conventional-changelog-codemirror": "0.2.1", + "conventional-changelog-core": "1.9.4", + "conventional-changelog-ember": "0.2.10", + "conventional-changelog-eslint": "0.2.1", + "conventional-changelog-express": "0.2.1", + "conventional-changelog-jquery": "0.1.0", + "conventional-changelog-jscs": "0.1.0", + "conventional-changelog-jshint": "0.2.1" + } + }, + "conventional-changelog-angular": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.5.3.tgz", + "integrity": "sha512-J+3g7H7O9QTxBFMmdlHSLzqTdxO8lhOKGXLAcewtKPGaVVV/JnaPOokuj85mP3tghP5gXi527HWoJlD3VBlX6g==", + "dev": true, + "requires": { + "compare-func": "1.3.2", + "q": "1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.2.tgz", + "integrity": "sha1-Ella1SZ6aTfDTPkAKBscZRmKTGM=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.1.tgz", + "integrity": "sha1-KZpPcUe681DmyBWPxUlUopHFzAk=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-core": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.4.tgz", + "integrity": "sha512-C8R8Bb706P10hYaGzllvH92O8Ck7xCGPB7t2Y+S1O2yf13BDvDW5BPdjyBwY2VgVNuFyNqi6qA458N+W9txpHg==", + "dev": true, + "requires": { + "conventional-changelog-writer": "2.0.3", + "conventional-commits-parser": "2.1.0", + "dateformat": "1.0.12", + "get-pkg-repo": "1.4.0", + "git-raw-commits": "1.3.0", + "git-remote-origin-url": "2.0.0", + "git-semver-tags": "1.2.3", + "lodash": "4.17.4", + "normalize-package-data": "2.4.0", + "q": "1.5.1", + "read-pkg": "1.1.0", + "read-pkg-up": "1.0.1", + "through2": "2.0.3" + } + }, + "conventional-changelog-ember": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.10.tgz", + "integrity": "sha512-LBBBZO6Q7ib4HhSdyCNVR25OtaXl710UJg1aSHCLmR8AjuXKs3BO8tnbY1MH+D1C+z5IFoEDkpjOddefNTyhCQ==", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.1.tgz", + "integrity": "sha1-LCoRvrIW+AZJunKDQYApO2h8BmI=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-express": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.2.1.tgz", + "integrity": "sha1-g42eHmyQmXA7FQucGaoteBdCvWw=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", + "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-jscs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", + "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.1.tgz", + "integrity": "sha1-hhObs6yZiZ8rF36WF+CbN9mbzzo=", + "dev": true, + "requires": { + "compare-func": "1.3.2", + "q": "1.5.1" + } + }, + "conventional-changelog-writer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-2.0.3.tgz", + "integrity": "sha512-2E1h7UXL0fhRO5h0CxDZ5EBc5sfBZEQePvuZ+gPvApiRrICUyNDy/NQIP+2TBd4wKZQf2Zm7TxbzXHG5HkPIbA==", + "dev": true, + "requires": { + "compare-func": "1.3.2", + "conventional-commits-filter": "1.1.1", + "dateformat": "1.0.12", + "handlebars": "4.0.11", + "json-stringify-safe": "5.0.1", + "lodash": "4.17.4", + "meow": "3.7.0", + "semver": "5.4.1", + "split": "1.0.1", + "through2": "2.0.3" + } + }, + "conventional-commits-filter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.1.tgz", + "integrity": "sha512-bQyatySNKHhcaeKVr9vFxYWA1W1Tdz6ybVMYDmv4/FhOXY1+fchiW07TzRbIQZhVa4cvBwrEaEUQBbCncFSdJQ==", + "dev": true, + "requires": { + "is-subset": "0.1.1", + "modify-values": "1.0.0" + } + }, + "conventional-commits-parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.0.tgz", + "integrity": "sha512-8MD05yN0Zb6aRsZnFX1ET+8rHWfWJk+my7ANCJZBU2mhz7TSB1fk2vZhkrwVy/PCllcTYAP/1T1NiWQ7Z01mKw==", + "dev": true, + "requires": { + "JSONStream": "1.3.1", + "is-text-path": "1.0.1", + "lodash": "4.17.4", + "meow": "3.7.0", + "split2": "2.2.0", + "through2": "2.0.3", + "trim-off-newlines": "1.0.1" + } + }, + "conventional-recommended-bump": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-1.1.0.tgz", + "integrity": "sha512-WK0HnYnXd9e8J1YezUlfle+Pz7HB1RYvIH6gPLAXoroQTzDSfNfGM1tHHmdrJw0/4BMr+zw0U9V1WzFEfQwE3w==", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "conventional-commits-filter": "1.1.1", + "conventional-commits-parser": "2.1.0", + "git-raw-commits": "1.3.0", + "git-semver-tags": "1.2.3", + "meow": "3.7.0", + "object-assign": "4.1.1" + } + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "coveralls": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.0.tgz", + "integrity": "sha512-ZppXR9y5PraUOrf/DzHJY6gzNUhXYE3b9D43xEXs4QYZ7/Oe0Gy0CS+IPKWFfvQFXB3RG9QduaQUFehzSpGAFw==", + "dev": true, + "requires": { + "js-yaml": "3.10.0", + "lcov-parse": "0.0.10", + "log-driver": "1.2.5", + "minimist": "1.2.0", + "request": "2.83.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "cross-env": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.3.tgz", + "integrity": "sha512-UOokgwvDzCT0mqRSLEkJzUhYXB1vK3E5UgDrD41QiXsm9UetcW2rCGHYz/O3p873lMJ1VZbFCF9Izkwh7nYR5A==", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "is-windows": "1.0.1" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" + }, + "cssom": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "optional": true, + "requires": { + "cssom": "0.3.2" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "dasherize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz", + "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=", + "dev": true + }, + "dashify": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dashify/-/dashify-0.2.2.tgz", + "integrity": "sha1-agdBWgHJH69KMuONnfunH2HLIP4=", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "1.0.0" + } + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "4.0.5" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "diagnostics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.0.tgz", + "integrity": "sha1-4QkJALSVI+hSe+IPCBJ1IF8q42o=", + "dev": true, + "requires": { + "colorspace": "1.0.1", + "enabled": "1.0.2", + "kuler": "0.0.0" + } + }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": true + }, + "dns-prefetch-control": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz", + "integrity": "sha1-YN20V3dOF48flBXwyrsOhbCzALI=", + "dev": true + }, + "doctrine": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", + "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domhandler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", + "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "dont-sniff-mimetype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz", + "integrity": "sha1-WTKJDcn04vGeXrAqIAJuXl78j1g=", + "dev": true + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.28.tgz", + "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=", + "dev": true + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dev": true, + "requires": { + "env-variable": "0.0.3" + } + }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "env-variable": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", + "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es6-promise": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz", + "integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "dev": true, + "optional": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true, + "optional": true + } + } + }, + "esdoc": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esdoc/-/esdoc-1.0.4.tgz", + "integrity": "sha512-Hy5sg0Lec4EDHVem3gFqNi+o6ZptivmaiHYacZhmn3hzLnHSMg2C1L0XTsDIcb4Cxd9aUnWdLAu6a6ghH/LLug==", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-traverse": "6.26.0", + "babylon": "6.18.0", + "cheerio": "0.22.0", + "color-logger": "0.0.3", + "escape-html": "1.0.3", + "fs-extra": "1.0.0", + "ice-cap": "0.0.4", + "marked": "0.3.6", + "minimist": "1.2.0", + "taffydb": "2.7.2" + }, + "dependencies": { + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash.assignin": "4.2.0", + "lodash.bind": "4.2.1", + "lodash.defaults": "4.2.0", + "lodash.filter": "4.6.0", + "lodash.flatten": "4.4.0", + "lodash.foreach": "4.5.0", + "lodash.map": "4.6.0", + "lodash.merge": "4.6.0", + "lodash.pick": "4.4.0", + "lodash.reduce": "4.6.0", + "lodash.reject": "4.6.0", + "lodash.some": "4.6.0" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "esdoc-accessor-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-accessor-plugin/-/esdoc-accessor-plugin-1.0.0.tgz", + "integrity": "sha1-eRukhy5sQDUVznSbE0jW8Ck62es=", + "dev": true + }, + "esdoc-brand-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-brand-plugin/-/esdoc-brand-plugin-1.0.0.tgz", + "integrity": "sha1-niFtc15i/OxJ96M5u0Eh2mfMYDM=", + "dev": true, + "requires": { + "cheerio": "0.22.0" + }, + "dependencies": { + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash.assignin": "4.2.0", + "lodash.bind": "4.2.1", + "lodash.defaults": "4.2.0", + "lodash.filter": "4.6.0", + "lodash.flatten": "4.4.0", + "lodash.foreach": "4.5.0", + "lodash.map": "4.6.0", + "lodash.merge": "4.6.0", + "lodash.pick": "4.4.0", + "lodash.reduce": "4.6.0", + "lodash.reject": "4.6.0", + "lodash.some": "4.6.0" + } + } + } + }, + "esdoc-coverage-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esdoc-coverage-plugin/-/esdoc-coverage-plugin-1.1.0.tgz", + "integrity": "sha1-OGmGnNf4eJH5cmJXh2laKZrs5Fw=", + "dev": true + }, + "esdoc-ecmascript-proposal-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-ecmascript-proposal-plugin/-/esdoc-ecmascript-proposal-plugin-1.0.0.tgz", + "integrity": "sha1-OQ3FZWuoooMOOdujVw15E43y/9k=", + "dev": true + }, + "esdoc-external-ecmascript-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-external-ecmascript-plugin/-/esdoc-external-ecmascript-plugin-1.0.0.tgz", + "integrity": "sha1-ePVl1KDFGFrGMVJhTc4f4ahmiNs=", + "dev": true, + "requires": { + "fs-extra": "1.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + } + } + }, + "esdoc-flow-type-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esdoc-flow-type-plugin/-/esdoc-flow-type-plugin-1.0.1.tgz", + "integrity": "sha1-CBOVHGhopyi+a6rfAnjl0HCFFHk=", + "dev": true + }, + "esdoc-integrate-manual-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-integrate-manual-plugin/-/esdoc-integrate-manual-plugin-1.0.0.tgz", + "integrity": "sha1-GFSmqhwIEDXXyMUeO91PtlqkcRw=", + "dev": true + }, + "esdoc-integrate-test-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-integrate-test-plugin/-/esdoc-integrate-test-plugin-1.0.0.tgz", + "integrity": "sha1-4tDQAJD38MNeXS8sAzMnp55T5Ak=", + "dev": true + }, + "esdoc-lint-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esdoc-lint-plugin/-/esdoc-lint-plugin-1.0.1.tgz", + "integrity": "sha1-h77mQD5nbAh/Yb6SxFLWDyxqcOU=", + "dev": true + }, + "esdoc-publish-html-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esdoc-publish-html-plugin/-/esdoc-publish-html-plugin-1.1.0.tgz", + "integrity": "sha1-CT+DN6yhaQIlcss4f/zD9HCwJRM=", + "dev": true, + "requires": { + "babel-generator": "6.11.4", + "cheerio": "0.22.0", + "escape-html": "1.0.3", + "fs-extra": "1.0.0", + "ice-cap": "0.0.4", + "marked": "0.3.6", + "taffydb": "2.7.2" + }, + "dependencies": { + "babel-generator": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.11.4.tgz", + "integrity": "sha1-FPaTOrsgxiZm0n47e59bncBxKpo=", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "3.0.1", + "lodash": "4.17.4", + "source-map": "0.5.7" + } + }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash.assignin": "4.2.0", + "lodash.bind": "4.2.1", + "lodash.defaults": "4.2.0", + "lodash.filter": "4.6.0", + "lodash.flatten": "4.4.0", + "lodash.foreach": "4.5.0", + "lodash.map": "4.6.0", + "lodash.merge": "4.6.0", + "lodash.pick": "4.4.0", + "lodash.reduce": "4.6.0", + "lodash.reject": "4.6.0", + "lodash.some": "4.6.0" + } + }, + "detect-indent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", + "integrity": "sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "minimist": "1.2.0", + "repeating": "1.1.3" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "repeating": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", + "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + } + } + }, + "esdoc-standard-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-standard-plugin/-/esdoc-standard-plugin-1.0.0.tgz", + "integrity": "sha1-ZhIBysfvhokkkCRG/awVJyU8XU0=", + "dev": true, + "requires": { + "esdoc-accessor-plugin": "1.0.0", + "esdoc-brand-plugin": "1.0.0", + "esdoc-coverage-plugin": "1.1.0", + "esdoc-external-ecmascript-plugin": "1.0.0", + "esdoc-integrate-manual-plugin": "1.0.0", + "esdoc-integrate-test-plugin": "1.0.0", + "esdoc-lint-plugin": "1.0.1", + "esdoc-publish-html-plugin": "1.1.0", + "esdoc-type-inference-plugin": "1.0.1", + "esdoc-undocumented-identifier-plugin": "1.0.0", + "esdoc-unexported-identifier-plugin": "1.0.0" + } + }, + "esdoc-type-inference-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esdoc-type-inference-plugin/-/esdoc-type-inference-plugin-1.0.1.tgz", + "integrity": "sha1-qrynhkH5m9Hs5vMC8EW71jG+cvU=", + "dev": true + }, + "esdoc-undocumented-identifier-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-undocumented-identifier-plugin/-/esdoc-undocumented-identifier-plugin-1.0.0.tgz", + "integrity": "sha1-guBdNxwy0ShxFA8dXIHsmf2cwsg=", + "dev": true + }, + "esdoc-unexported-identifier-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esdoc-unexported-identifier-plugin/-/esdoc-unexported-identifier-plugin-1.0.0.tgz", + "integrity": "sha1-H5h0xqfCvr+a05fDzrdcnGnaurE=", + "dev": true + }, + "eslint": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.14.0.tgz", + "integrity": "sha512-Ul6CSGRjKscEyg0X/EeNs7o2XdnbTEOD1OM8cTjmx85RPcBJQrEhZLevhuJZNAE/vS2iVl5Uhgiqf3h5uLMCJQ==", + "dev": true, + "requires": { + "ajv": "5.5.1", + "babel-code-frame": "6.26.0", + "chalk": "2.3.0", + "concat-stream": "1.6.0", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.0.2", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.2", + "esquery": "1.0.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.1.0", + "ignore": "3.3.7", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.0.1", + "js-yaml": "3.10.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.2", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "globals": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", + "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "eslint-config-standard": { + "version": "11.0.0-beta.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0-beta.0.tgz", + "integrity": "sha512-f+vs5HAHQo7NRZ3hVe+UVdT5DbebMNaFTWFp95orJ0LUdYPoWdM8xw/bMeO/IZMvHOPmIteGKGc2QOhSXd5nRg==", + "dev": true + }, + "eslint-config-vixo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-vixo/-/eslint-config-vixo-2.0.2.tgz", + "integrity": "sha512-BDWa21h2RiellsKFy3UsNUcoLBSQJDutaa1G+WvNOlWeV+AYx8oRYIzSM/ot8d+egzSB48xdF0hXjr5oP8vKAQ==", + "dev": true, + "requires": { + "babel-eslint": "8.1.2", + "eslint-config-standard": "11.0.0-beta.0", + "eslint-plugin-flowtype": "2.40.1", + "eslint-plugin-import": "2.8.0", + "eslint-plugin-json": "1.2.0", + "eslint-plugin-node": "5.2.1", + "eslint-plugin-promise": "3.6.0", + "eslint-plugin-standard": "3.0.1" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz", + "integrity": "sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==", + "dev": true, + "requires": { + "debug": "2.6.9", + "resolve": "1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "eslint-module-utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", + "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "pkg-dir": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "2.40.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.40.1.tgz", + "integrity": "sha512-0EBDPR3/iguDQin7nb5WMT1ZWYB95eNllY+oiFZjvLa1oqE0BGO6ZSFnMdNE9HEkajB6Cw850PRIBbp+O+EzYQ==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "eslint-plugin-import": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", + "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==", + "dev": true, + "requires": { + "builtin-modules": "1.1.1", + "contains-path": "0.1.0", + "debug": "2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "0.3.1", + "eslint-module-utils": "2.1.1", + "has": "1.0.1", + "lodash.cond": "4.5.2", + "minimatch": "3.0.4", + "read-pkg-up": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "eslint-plugin-json": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-1.2.0.tgz", + "integrity": "sha1-m6c7sL6Z1QCT6In1uWhGPSow764=", + "dev": true, + "requires": { + "jshint": "2.9.5" + } + }, + "eslint-plugin-node": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz", + "integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==", + "dev": true, + "requires": { + "ignore": "3.3.7", + "minimatch": "3.0.4", + "resolve": "1.5.0", + "semver": "5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz", + "integrity": "sha512-YQzM6TLTlApAr7Li8vWKR+K3WghjwKcYzY0d2roWap4SLK+kzuagJX/leTetIDWsFcTFnKNJXWupDCD6aZkP2Q==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz", + "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=", + "dev": true + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espree": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", + "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", + "dev": true, + "requires": { + "acorn": "5.2.1", + "acorn-jsx": "3.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "expect-ct": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/expect-ct/-/expect-ct-0.1.0.tgz", + "integrity": "sha1-UnNWeN4YUwiQ2Ne5XwrGNkCVgJQ=", + "dev": true + }, + "express": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "dev": true, + "requires": { + "accepts": "1.3.4", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.1", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.0", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.2", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.1", + "serve-static": "1.13.1", + "setprototypeof": "1.1.0", + "statuses": "1.3.1", + "type-is": "1.6.15", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "external-editor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fecha": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.2.tgz", + "integrity": "sha1-Ng8DXdbt2VS8lYH5XypKfyo1BcE=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + }, + "dependencies": { + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "flow": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/flow/-/flow-0.2.3.tgz", + "integrity": "sha1-+Npl76JJEn7Jk3aiiJZXKpeV0a8=", + "dev": true + }, + "flow-bin": { + "version": "0.61.0", + "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.61.0.tgz", + "integrity": "sha512-w6SGi5CDfKLNGzYssRhW6N37qKclDXijsxDQ5M8c3WbivRYta0Horv22bwakegfKBVDnyeS0lRW3OqBC74eq2g==", + "dev": true + }, + "flow-typed": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/flow-typed/-/flow-typed-2.2.3.tgz", + "integrity": "sha512-xCKOrKn/DnA4BPbNKyp3s2vW7Pzvff1zJhEdzNviTgwpiEkTG6uxQLjofcqvKdzTyZ/PjHBzkx02iyhP/2NrCg==", + "dev": true, + "requires": { + "babel-polyfill": "6.26.0", + "colors": "1.1.2", + "fs-extra": "4.0.3", + "github": "0.2.4", + "glob": "7.1.2", + "got": "7.1.0", + "md5": "2.2.1", + "mkdirp": "0.5.1", + "request": "2.83.0", + "rimraf": "2.6.2", + "semver": "5.4.1", + "table": "4.0.2", + "through": "2.3.8", + "unzip": "0.1.11", + "which": "1.3.0", + "yargs": "4.8.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-plain-obj": "1.1.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "1.2.1", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "url-parse-lax": "1.0.0", + "url-to-options": "1.0.1" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "formatio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", + "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", + "dev": true, + "requires": { + "samsam": "1.3.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "frameguard": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz", + "integrity": "sha1-e8rUae57lukdEs6zlZx4I1qScuk=", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "1.0.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", + "integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=", + "dev": true, + "requires": { + "graceful-fs": "3.0.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "1.1.1" + } + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "meow": "3.7.0", + "normalize-package-data": "2.4.0", + "parse-github-repo-url": "1.4.1", + "through2": "2.0.3" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "git-raw-commits": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.0.tgz", + "integrity": "sha1-C8hZbpDV/+c29/VUa9LRL3OrqsY=", + "dev": true, + "requires": { + "dargs": "4.1.0", + "lodash.template": "4.4.0", + "meow": "3.7.0", + "split2": "2.2.0", + "through2": "2.0.3" + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "1.0.0", + "pify": "2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.2.3.tgz", + "integrity": "sha1-GItFOIK/nXojr9Mbq6U32rc4jV0=", + "dev": true, + "requires": { + "meow": "3.7.0", + "semver": "5.4.1" + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "1.3.5" + } + }, + "github": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/github/-/github-0.2.4.tgz", + "integrity": "sha1-JPp/DhP6EblGr5ETTFGYKpHOU4s=", + "dev": true, + "requires": { + "mime": "1.6.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "got": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/got/-/got-8.0.1.tgz", + "integrity": "sha1-bX+Ls+uZ5a+RLv4moQRHZEHgjn8=", + "requires": { + "@sindresorhus/is": "0.6.0", + "cacheable-request": "2.1.3", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.0", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.1", + "har-schema": "2.0.0" + } + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "1.4.1" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "helmet": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.9.0.tgz", + "integrity": "sha512-czCyS77TyanWlfVSoGlb9GBJV2Q2zJayKxU5uBw0N1TzDTs/qVNh1SL8Q688KU0i0Sb7lQ/oLtnaEqXzl2yWvA==", + "dev": true, + "requires": { + "dns-prefetch-control": "0.1.0", + "dont-sniff-mimetype": "1.0.0", + "expect-ct": "0.1.0", + "frameguard": "3.0.0", + "helmet-csp": "2.6.0", + "hide-powered-by": "1.0.0", + "hpkp": "2.0.0", + "hsts": "2.1.0", + "ienoopen": "1.0.0", + "nocache": "2.0.0", + "referrer-policy": "1.1.0", + "x-xss-protection": "1.0.0" + } + }, + "helmet-csp": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.6.0.tgz", + "integrity": "sha512-n/oW9l6RtO4f9YvphsNzdvk1zITrSN7iRT8ojgrJu/N3mVdHl9zE4OjbiHWcR64JK32kbqx90/yshWGXcjUEhw==", + "dev": true, + "requires": { + "camelize": "1.0.0", + "content-security-policy-builder": "1.1.0", + "dasherize": "2.0.0", + "lodash.reduce": "4.6.0", + "platform": "1.3.4" + } + }, + "hide-powered-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz", + "integrity": "sha1-SoWtZYgfYoV/xwr3F0oRhNzM4ys=", + "dev": true + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hooks-fixed": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz", + "integrity": "sha512-YurCM4gQSetcrhwEtpQHhQ4M7Zo7poNGqY4kQGeBS6eZtOcT3tnNs01ThFa0jYBByAiYt1MjMjP/YApG0EnAvQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true + }, + "hpkp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz", + "integrity": "sha1-EOFCJk52IVpdMMROxD3mTe5tFnI=", + "dev": true + }, + "hsts": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.1.0.tgz", + "integrity": "sha512-zXhh/DqgrTXJ7erTN6Fh5k/xjMhDGXCqdYN3wvxUvGUQvnxcFfUd8E+6vLg/nk3ss1TYMb+DhRl25fYABioTvA==", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.4.1", + "domutils": "1.5.1", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "husky": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-0.14.3.tgz", + "integrity": "sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==", + "dev": true, + "requires": { + "is-ci": "1.0.10", + "normalize-path": "1.0.0", + "strip-indent": "2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + } + } + }, + "ice-cap": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ice-cap/-/ice-cap-0.0.4.tgz", + "integrity": "sha1-im0xq0ysjUtW3k+pRt8zUlYbbhg=", + "dev": true, + "requires": { + "cheerio": "0.20.0", + "color-logger": "0.0.3" + }, + "dependencies": { + "cheerio": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", + "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.8.3", + "jsdom": "7.2.2", + "lodash": "4.17.4" + } + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" + }, + "dependencies": { + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + } + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "ienoopen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz", + "integrity": "sha1-NGpCj0dKrI9QzzeE6i0PFvYr2ms=", + "dev": true + }, + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "chalk": "2.3.0", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.4", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ipaddr.js": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", + "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-ci": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "dev": true, + "requires": { + "ci-info": "1.1.2" + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-resolvable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.1.tgz", + "integrity": "sha512-y5CXYbzvB3jTnWAZH1Nl7ykUWb6T3BcTs56HUruwBf8MhF56n1HWqhDWnVFo8GHrUPDgvUUNVhrc2U8W7iqz5g==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "1.7.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", + "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", + "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", + "dev": true, + "optional": true, + "requires": { + "abab": "1.0.4", + "acorn": "2.7.0", + "acorn-globals": "1.0.9", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.9.0", + "nwmatcher": "1.4.3", + "parse5": "1.5.1", + "request": "2.83.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.3", + "webidl-conversions": "2.0.1", + "whatwg-url-compat": "0.6.5", + "xml-name-validator": "2.0.1" + }, + "dependencies": { + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true, + "optional": true + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "jshint": { + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", + "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", + "dev": true, + "requires": { + "cli": "1.0.1", + "console-browserify": "1.1.0", + "exit": "0.1.2", + "htmlparser2": "3.8.3", + "lodash": "3.7.0", + "minimatch": "3.0.4", + "shelljs": "0.3.0", + "strip-json-comments": "1.0.4" + }, + "dependencies": { + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "lodash": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", + "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + } + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "just-extend": { + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", + "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==", + "dev": true + }, + "kareem": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.5.0.tgz", + "integrity": "sha1-4+QQHZ3P3imXadr0tNtk2JXRdEg=", + "dev": true + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "kuler": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", + "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", + "dev": true, + "requires": { + "colornames": "0.0.2" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", + "dev": true + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=", + "dev": true + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", + "dev": true + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", + "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=", + "dev": true + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=", + "dev": true + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=", + "dev": true + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", + "dev": true + }, + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.templatesettings": "4.1.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0" + } + }, + "log-driver": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", + "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", + "dev": true + }, + "logform": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/logform/-/logform-1.2.2.tgz", + "integrity": "sha512-a0TCbuqQWYhVdLie9f0tEP33bMxniAuw2StG1c5KhiTANm+RBRNpbSiGrNGpaiTZeoCiVWVsL+V5F0fpy7Q2Og==", + "dev": true, + "requires": { + "colors": "1.1.2", + "fecha": "2.3.2" + } + }, + "lolex": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.1.tgz", + "integrity": "sha512-mQuW55GhduF3ppo+ZRUTz1PRjEh1hS5BbqU7d8D0ez2OKxHDod7StPPeAVKisZR5aLkHZjdGWSL42LSONUJsZw==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "marked": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", + "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", + "dev": true + }, + "match-stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz", + "integrity": "sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=", + "dev": true, + "requires": { + "buffers": "0.1.1", + "readable-stream": "1.0.34" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "1.1.6" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "mimic-fn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true + }, + "mimic-response": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.0.1.tgz", + "integrity": "sha512-evDmhkoA+cBNiQQQdSKZa2b9+W2mpLoj50367lhy+Klnx9OV8XlCIhigUnn1gaTFLQCa0kdNhEGDr0hCXOQFDw==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "modify-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz", + "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=", + "dev": true + }, + "mongodb": { + "version": "2.2.33", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.33.tgz", + "integrity": "sha1-tTfEcdNKZlG0jzb9vyl1A0Dgi1A=", + "dev": true, + "requires": { + "es6-promise": "3.2.1", + "mongodb-core": "2.1.17", + "readable-stream": "2.2.7" + }, + "dependencies": { + "readable-stream": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz", + "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=", + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + } + } + }, + "mongodb-core": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.17.tgz", + "integrity": "sha1-pBizN6FKFJkPtRC5I97mqBMXPfg=", + "dev": true, + "requires": { + "bson": "1.0.4", + "require_optional": "1.0.1" + } + }, + "mongoose": { + "version": "4.13.7", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.13.7.tgz", + "integrity": "sha512-3VPcGQWaTzT/OVK+TpE9dGpNHBnEqFX2RmbFr1XvbsKmxPsL9kaRBSHqaQ8QEMd6CUeOYMRdH1pKRrlnCenRsg==", + "dev": true, + "requires": { + "async": "2.1.4", + "bson": "1.0.4", + "hooks-fixed": "2.0.2", + "kareem": "1.5.0", + "lodash.get": "4.4.2", + "mongodb": "2.2.33", + "mpath": "0.3.0", + "mpromise": "0.5.5", + "mquery": "2.3.3", + "ms": "2.0.0", + "muri": "1.3.0", + "regexp-clone": "0.0.1", + "sliced": "1.0.1" + }, + "dependencies": { + "async": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", + "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + } + } + }, + "mpath": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.3.0.tgz", + "integrity": "sha1-elj3iem1/TyUUgY0FXlg8mvV70Q=", + "dev": true + }, + "mpromise": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz", + "integrity": "sha1-9bJCWddjrMIlewoMjG2Gb9UXMuY=", + "dev": true + }, + "mquery": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz", + "integrity": "sha512-NC8L14kn+qxJbbJ1gbcEMDxF0sC3sv+1cbRReXXwVvowcwY1y9KoVZFq0ebwARibsadu8lx8nWGvm3V0Pf0ZWQ==", + "dev": true, + "requires": { + "bluebird": "3.5.0", + "debug": "2.6.9", + "regexp-clone": "0.0.1", + "sliced": "0.0.5" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "sliced": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz", + "integrity": "sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "muri": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/muri/-/muri-1.3.0.tgz", + "integrity": "sha512-FiaFwKl864onHFFUV/a2szAl7X0fxVlSKNdhTf+BM8i8goEgYut8u5P9MqQqIYwvaMxjzVESsoEm/2kfkFH1rg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true, + "optional": true + }, + "natives": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", + "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "nise": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.0.tgz", + "integrity": "sha512-q9jXh3UNsMV28KeqI43ILz5+c3l+RiNW8mhurEwCKckuHQbL+hTJIKKTiUlCPKlgQ/OukFvSnKB/Jk3+sFbkGA==", + "dev": true, + "requires": { + "formatio": "1.2.0", + "just-extend": "1.1.27", + "lolex": "1.6.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" + }, + "dependencies": { + "lolex": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", + "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=", + "dev": true + } + } + }, + "nocache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", + "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=", + "dev": true + }, + "node-cron": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-1.2.1.tgz", + "integrity": "sha1-jJC8XccjpWKJsHhmVatKHEy2A2g=" + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.0.tgz", + "integrity": "sha1-4E2KNp86TK3IUKKFT4+w+KgSAyg=", + "requires": { + "prepend-http": "2.0.0", + "query-string": "5.0.1", + "sort-keys": "2.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "requires": { + "boolbase": "1.0.0" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "dev": true, + "optional": true + }, + "nyc": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", + "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.3", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.4", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "merge-source-map": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mimic-fn": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "semver": { + "version": "5.4.1", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" + } + }, + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "10.0.3", + "bundled": true, + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "cliui": { + "version": "3.2.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "8.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" + } + }, + "over": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/over/-/over-0.0.5.tgz", + "integrity": "sha1-8phS5w/X4l82DgE6jsRMgq7bVwg=", + "dev": true + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "1.0.0" + } + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "0.12.12" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "platform": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.4.tgz", + "integrity": "sha1-bw+xftqqSPIUQrOpdcBjEw8cPr0=", + "dev": true + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "pop-api": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pop-api/-/pop-api-0.6.0.tgz", + "integrity": "sha512-VKis33g7esuXS9JcT56NSVdlh1dA+Saj+6QCtge6wu9ElaZrqsik80jD72EDd7UZb3YKBFzF7yubno9JUgYTAQ==", + "dev": true, + "requires": { + "@chrisalderson/express-winston": "3.0.0", + "body-parser": "1.18.2", + "commander": "2.12.2", + "compression": "1.7.1", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.2", + "helmet": "3.9.0", + "mkdirp": "0.5.1", + "mongoose": "4.13.7", + "p-map": "1.2.0", + "response-time": "2.3.2", + "rollup-plugin-json": "2.3.0", + "winston": "3.0.0-rc1" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", + "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.5.2" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "pullstream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pullstream/-/pullstream-0.4.1.tgz", + "integrity": "sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=", + "dev": true, + "requires": { + "over": "0.0.5", + "readable-stream": "1.0.34", + "setimmediate": "1.0.5", + "slice-stream": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "query-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.0.1.tgz", + "integrity": "sha512-aM+MkQClojlNiKkO09tiN2Fv8jM/L7GWIjG2liWeKljlOdOPNWr+bW3KQ+w5V/uKprpezC7fAsAMsJtJ+2rLKA==", + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + }, + "dependencies": { + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + } + } + }, + "referrer-policy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz", + "integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=", + "dev": true + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regexp-clone": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz", + "integrity": "sha1-p8LgmJH9vzj7sQ03b7cwA+aKxYk=", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } + }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "dev": true, + "requires": { + "resolve-from": "2.0.0", + "semver": "5.4.1" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "dev": true + } + } + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "response-time": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", + "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", + "dev": true, + "requires": { + "depd": "1.1.1", + "on-headers": "1.0.1" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "rollup": { + "version": "0.52.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.52.3.tgz", + "integrity": "sha512-cw+vb9NqaTXlwJyb8G+Ve+uhhlVTcl1NKBkfANdeQqVcpZFilQgeNnAnNiu7MwfeXrqiKEGz+3R03a3zeFkmEQ==", + "dev": true + }, + "rollup-plugin-babel": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.3.tgz", + "integrity": "sha512-5kzM/Rr4jQSRPLc2eN5NuD+CI/6AAy7S1O18Ogu4U3nq1Q42VJn0C9EMtqnvxtfwf1XrezOtdA9ro1VZI5B0mA==", + "dev": true, + "requires": { + "rollup-pluginutils": "1.5.2" + } + }, + "rollup-plugin-json": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-2.3.0.tgz", + "integrity": "sha512-W45nZH7lmXgkSR/DkeyF4ks0YWFrMysdjUT049gTuAg+lwUEDBKI2+PztqW8UDSMlXCAeEONsLzpDDyBy9m+9A==", + "dev": true, + "requires": { + "rollup-pluginutils": "2.0.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", + "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=", + "dev": true + }, + "rollup-pluginutils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", + "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", + "dev": true, + "requires": { + "estree-walker": "0.3.1", + "micromatch": "2.3.11" + } + } + } + }, + "rollup-plugin-node-resolve": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", + "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", + "dev": true, + "requires": { + "browser-resolve": "1.11.2", + "builtin-modules": "1.1.1", + "is-module": "1.0.0", + "resolve": "1.5.0" + } + }, + "rollup-plugin-uglify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-2.0.1.tgz", + "integrity": "sha1-Z7N60e/a+9g69MNrQMGJ7khmyWk=", + "dev": true, + "requires": { + "uglify-js": "3.2.2" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-js": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.2.tgz", + "integrity": "sha512-++1NO/zZIEdWf6cDIGceSJQPX31SqIpbVAHwFG5+240MtZqPG/NIPoinj8zlXQtAfMBqEt1Jyv2FiLP3n9gVhQ==", + "dev": true, + "requires": { + "commander": "2.12.2", + "source-map": "0.6.1" + } + } + } + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dev": true, + "requires": { + "estree-walker": "0.2.1", + "minimatch": "3.0.4" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "4.0.8" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "samsam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true + }, + "send": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.1", + "destroy": "1.0.4", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "dev": true, + "requires": { + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true, + "optional": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sinon": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.1.3.tgz", + "integrity": "sha512-c7u0ZuvBRX1eXuB4jN3BRCAOGiUTlM8SE3TxbJHrNiHUKL7wonujMOB6Fi1gQc00U91IscFORQHDga/eccqpbw==", + "dev": true, + "requires": { + "diff": "3.3.1", + "formatio": "1.2.0", + "lodash.get": "4.4.2", + "lolex": "2.3.1", + "nise": "1.2.0", + "supports-color": "4.5.0", + "type-detect": "4.0.5" + }, + "dependencies": { + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0" + } + }, + "slice-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-stream/-/slice-stream-1.0.0.tgz", + "integrity": "sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=", + "dev": true, + "requires": { + "readable-stream": "1.0.34" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=", + "dev": true + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "2.0.3" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "standard-version": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-4.2.0.tgz", + "integrity": "sha1-MBfoxc7SqS23UBeQJVw7qFFXN10=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "conventional-changelog": "1.1.7", + "conventional-recommended-bump": "1.1.0", + "figures": "1.7.0", + "fs-access": "1.0.1", + "semver": "5.4.1", + "yargs": "8.0.2" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true, + "optional": true + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "5.5.1", + "ajv-keywords": "2.1.1", + "chalk": "2.3.0", + "lodash": "4.17.4", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "taffydb": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.2.tgz", + "integrity": "sha1-e/gQalwaSCUbPjvAoOFzJIn9Dcg=", + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", + "dev": true + }, + "text-extensions": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.7.0.tgz", + "integrity": "sha512-AKXZeDq230UaSzaO5s3qQUZOaC7iKbzq0jOFL614R7d9R593HLqAOL0cYoqLdkNrjBSOdmoQI06yigq1TSBXAg==", + "dev": true + }, + "text-hex": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", + "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true, + "optional": true + }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "triple-beam": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.1.0.tgz", + "integrity": "sha1-KsOHyMS9BL0mxh34kaYHn4WS/hA=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-detect": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz", + "integrity": "sha512-N9IvkQslUGYGC24RkJk1ba99foK6TkwC2FHAEBlQFBP0RxQZS8ZpJuAZcwiY/w9ZJHFQb1aOXBI60OdxhTrwEQ==", + "dev": true + }, + "type-is": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.17" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-es": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.2.tgz", + "integrity": "sha512-g7rGvx7YiFROLXKUtFMTw+YpTVV/XXPNvDUQfzwDTcB3vINwLUr3qXnkcPCu8VCIVjxI2EqaZ+sHoAxcYE/98w==", + "dev": true, + "requires": { + "commander": "2.12.2", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unzip": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/unzip/-/unzip-0.1.11.tgz", + "integrity": "sha1-iXScY7BY19kNYZ+GuYqhU107l/A=", + "dev": true, + "requires": { + "binary": "0.3.0", + "fstream": "0.1.31", + "match-stream": "0.0.2", + "pullstream": "0.4.1", + "readable-stream": "1.0.34", + "setimmediate": "1.0.5" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "webidl-conversions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", + "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", + "dev": true, + "optional": true + }, + "whatwg-url-compat": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", + "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", + "dev": true, + "optional": true, + "requires": { + "tr46": "0.0.3" + } + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "dev": true + }, + "winston": { + "version": "3.0.0-rc1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.0.0-rc1.tgz", + "integrity": "sha512-aNtKirnK2UEe5v56SK0TIEr5ylyYdXyjAaIJXZTk21UlNx7FQclTkVU2T1ZzMtdDM+Rk2b7vrI/e/4n8U84XaQ==", + "dev": true, + "requires": { + "async": "1.5.2", + "diagnostics": "1.1.0", + "isstream": "0.1.2", + "logform": "1.2.2", + "one-time": "0.0.4", + "stack-trace": "0.0.10", + "triple-beam": "1.1.0", + "winston-transport": "3.0.1" + } + }, + "winston-transport": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-3.0.1.tgz", + "integrity": "sha1-gAixXu9WYMT7P6CU1YzL0IUoxY0=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "x-xss-protection": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.0.0.tgz", + "integrity": "sha1-iYr7k4abJGYc+cUvnujbjtB2Tdk=", + "dev": true + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true, + "optional": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "lodash.assign": "4.2.0", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "window-size": "0.2.0", + "y18n": "3.2.1", + "yargs-parser": "2.4.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "lodash.assign": "4.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..99fa0af --- /dev/null +++ b/package.json @@ -0,0 +1,87 @@ +{ + "name": "pop-api-scraper", + "version": "0.1.0", + "description": "The base modules for the popcorn-api scraper", + "dependencies": { + "cheerio": "^1.0.0-rc.2", + "debug": "^3.1.0", + "fs-extra": "^5.0.0", + "got": "^8.0.1", + "node-cron": "^1.2.1", + "p-map": "^1.2.0" + }, + "peerDependencies": { + "pop-api": "^0.6.0" + }, + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-plugin-external-helpers": "^6.22.0", + "babel-plugin-istanbul": "^4.1.5", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-export-extensions": "^6.22.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-preset-env": "^1.6.1", + "babel-preset-flow": "^6.23.0", + "babel-register": "^6.26.0", + "chai": "^4.1.2", + "coveralls": "^3.0.0", + "cross-env": "^5.1.3", + "del": "^3.0.0", + "esdoc": "^1.0.4", + "esdoc-ecmascript-proposal-plugin": "^1.0.0", + "esdoc-flow-type-plugin": "^1.0.1", + "esdoc-standard-plugin": "^1.0.0", + "eslint": "^4.14.0", + "eslint-config-vixo": "^2.0.2", + "flow": "^0.2.3", + "flow-bin": "^0.61.0", + "flow-typed": "^2.2.3", + "husky": "^0.14.3", + "mkdirp": "^0.5.1", + "mocha": "^4.0.1", + "nyc": "^11.4.1", + "rollup": "^0.52.3", + "rollup-plugin-babel": "^3.0.3", + "rollup-plugin-json": "^2.3.0", + "rollup-plugin-node-resolve": "^3.0.0", + "rollup-plugin-uglify": "^2.0.1", + "sinon": "^4.1.3", + "standard-version": "^4.2.0", + "uglify-es": "^3.3.2" + }, + "license": "MIT", + "scripts": { + "build": "cross-env NODE_ENV=production rollup -c", + "coveralls": "cat ./coverage/lcov.info | coveralls", + "debug": "npm run dev --inspect", + "dev": "cross-env DEBUG=pop-api-scraper* NODE_ENV=development node -r babel-register ./examples/exampleSetup.js", + "docs": "esdoc -c .esdoc.json", + "flow": "flow", + "flow-typed": "flow-typed install", + "lint": "eslint {example,src,test}/** *.js$", + "release": "git add ./docs/* && standard-version -a", + "precommit": "npm run lint && npm run flow", + "prerelease": "npm run build && npm run docs", + "prepush": "npm run test", + "test": "cross-env NODE_ENV=test nyc -r=lcov -r=text mocha --exit --recursive" + }, + "engines": { + "node": ">=7.10.1" + }, + "keywords": [ + "api", + "popcorn", + "middleware", + "scraper" + ], + "main": "./build/pop-api-scraper.js", + "module": "./build/pop-api-scraper.esm.js", + "repository": { + "type": "git", + "url": "git+https://github.com/popcorn-official/pop-api-scraper.git" + }, + "files": [ + "build/**/*" + ] +} diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..90988c0 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,36 @@ +import babel from 'rollup-plugin-babel' +import json from 'rollup-plugin-json' +import resolve from 'rollup-plugin-node-resolve' +import uglify from 'rollup-plugin-uglify' +import { minify } from 'uglify-es' +import { + main, + module, + dependencies +} from './package.json' + +export default { + input: './src/index.js', + external: [ + ...Object.keys(dependencies), + 'fs', + 'path', + 'querystring', + 'url' + ], + plugins: [ + resolve(), + json(), + babel({ + exclude: 'node_modules/**' + }), + uglify({}, minify) + ], + output: [{ + file: main, + format: 'cjs' + }, { + file: module, + format: 'es' + }] +} diff --git a/src/Context.js b/src/Context.js new file mode 100644 index 0000000..52efc72 --- /dev/null +++ b/src/Context.js @@ -0,0 +1,38 @@ +// Import the necessary modules. +// @flow +import { IProvider } from './providers' + +/** + * Base context for the strategy pattern. + * @type {Context} + */ +export default class Context { + + /** + * The provider of the context to execute. + * @type {IProvider} + */ + provider: IProvider + + /** + * Create a new Context object. + * @param {?IProvider} [provider=new IProvider()] - The provider of the + * context to execute. + */ + constructor(provider: IProvider = new IProvider()): void { + /** + * The provider of the context to execute. + * @type {IProvider} + */ + this.provider = provider + } + + /** + * Execute the set provider. + * @returns {Promise, Error>} - A list of scraped content. + */ + execute(): Promise | Error> { + return this.provider.scrapeConfigs() + } + +} diff --git a/src/Cron.js b/src/Cron.js new file mode 100644 index 0000000..181517e --- /dev/null +++ b/src/Cron.js @@ -0,0 +1,53 @@ +// Import the necessary modules. +// @flow +import cron from 'node-cron' + +/** + * Cron class for executing the scraper periodically. + * @type {Cron} + */ +export default class Cron { + + /** + * The cron time for scraping audios. Default is `0 0 *\/6 * * *`. + * @type {string} + */ + cronTime: string + + /** + * Create a new Cron object. + * @param {!PopApi} PopApi - The PopApi instance. + * @param {!Object} [options={}] - The options for the Cron middleware. + * @param {!string} [options.cronTime=0 0 *\/6 * * *] - The cron tab to + * execute the scraper. + * @param {?boolean} [options.start=false] - Start the cronjob on creation. + */ + constructor(PopApi: any, { + cronTime = '0 0 */6 * * *', + start = false + }: Object = {}): void { + const { name } = this.constructor + PopApi.debug(`Registering ${name} with options: %o`, { + cronTime, + start + }) + + /** + * The cron time for scraping audios. Default is `0 0 *\/6 * * *`. + * @type {string} + */ + this.cronTime = cronTime + PopApi.cron = this.getCron(PopApi, start) + } + + /** + * Get the cron job to run. + * @param {!PopApi} PopApi - The PopApi instance. + * @param {?boolean} [start] - Start the cron job. + * @returns {Object} - A configured cron job. + */ + getCron(PopApi: any, start?: boolean): Object { + return cron.schedule(this.cronTime, PopApi.scraper.scrape, start) + } + +} diff --git a/src/PopApiScraper.js b/src/PopApiScraper.js new file mode 100644 index 0000000..406ec11 --- /dev/null +++ b/src/PopApiScraper.js @@ -0,0 +1,168 @@ +// Import the necessary modules. +// @flow +import fs from 'fs-extra' +import pMap from 'p-map' + +import Context from './Context' + +/** @external {PopApi} https://github.com/ChrisAlderson/pop-api */ + +/** + * Class for Initiating the scraping process. + * @type {PopApiScraper} + */ +export default class PopApiScraper { + + /** + * The context to execute the providers in. + * @type {Context} + */ + context: Context + + /** + * The path of the status file. Default is `./tmp/status.json`. + * @type {string} + */ + statusPath: string + + /** + * The path of the updated file. Default is `./tmp/updated.json`. + * @type {string} + */ + updatedPath: string + + /** + * A map of the installed plugins. + * @type {Map} + */ + static _installedPlugins: Map = new Map() + + /** + * Create a new BaseScraper object. + * The base modules for popcorn-api + * @param {!PopApi} PopApi - The PopApiScraper instance. + * @param {!Object} options - The options for the BaseScraper middleware. + * @param {!string} options.statusPath = - The path of the status file. + * @param {!string} options.updatedPath - The path of the updated file. + */ + constructor(PopApi: any, { + statusPath, + updatedPath + }: Object): void { + const { name } = this.constructor + PopApi.debug(`Registering ${name} with options: %o`, { + statusPath, + updatedPath + }) + + if (!statusPath || !updatedPath) { + throw new TypeError('\'statusPath\' and \'updatedPath\' are required options for the PopApiScraper middleware!') + } + + /** + * The context to execute the providers in. + * @type {Context} + */ + this.context = new Context() + /** + * The path of the status file. Default is `./tmp/status.json`. + * @type {string} + */ + this.statusPath = statusPath + /** + * The path of the updated file. Default is `./tmp/updated.json`. + * @type {string} + */ + this.updatedPath = updatedPath + + fs.createWriteStream(this.statusPath).end() + fs.createWriteStream(this.updatedPath).end() + + PopApi.scraper = this + } + + /** + * Get the status object. + * @returns {Promise} - The status of the scraping process. + */ + getStatus(): Promise { + return fs.readFile(this.statusPath, 'utf8') + } + + /** + * Updates the `status.json` file. + * @param {!string} status - The status which will be set to in the + * `status.json` file. + * @returns {Promise} - 'ok' if saved, or the error is there + * is one. + */ + setStatus(status: string): Promise { + return fs.writeFile(this.statusPath, status, 'utf8') + } + + /** + * Get the updated object. + * @returns {Promise} - The status of the scraping process. + */ + getUpdated(): Promise { + return fs.readFile(this.updatedPath, 'utf8') + .then(res => Number(res)) + } + + /** + * Updates the `updated.json` file. + * @param {!number} updated - The epoch time when the API last started + * scraping. + * @returns {Promise} - 'ok' if saved, or the error is there + * is one. + */ + setUpdated(updated: number): Promise { + return fs.writeFile(this.updatedPath, String(updated), 'utf8') + } + + /** + * Register middleware for the PopApi framework. + * @param {!Function} Plugin - The plugin to use. + * @param {!Object} args - The arguments passed down to the constructor of + * the plugin. + * @returns {Promise} - The PopApi instance with the installed + * plugins. + */ + static use(Plugin: any, ...args: any): any { + if (PopApiScraper._installedPlugins.has(Plugin)) { + return this + } + + const plugin = typeof Plugin === 'function' + ? new Plugin(this, ...args) + : null + + if (plugin) { + PopApiScraper._installedPlugins.set(Plugin, plugin) + } + + return this + } + /** + * Initiate the scraping. + * @param {!number} [concurrency=1] - How many providers to scrape + * concurrently. + * @returns {Promise, Error>} - The array of the scraped + * content. + */ + async scrape(concurrency?: number = 1): Promise | Error> { + await this.setUpdated(Math.floor(new Date().getTime() / 1000)) + const providers = PopApiScraper._installedPlugins.values() + + const res = await pMap(providers, async provider => { + this.context.provider = provider + await this.setStatus(`Scraping: ${provider.name}`) + + return this.context.execute() + }, { concurrency }) + await this.setStatus('idle') + + return res + } + +} diff --git a/src/http/AbstractHttpService.js b/src/http/AbstractHttpService.js new file mode 100644 index 0000000..87ef624 --- /dev/null +++ b/src/http/AbstractHttpService.js @@ -0,0 +1,160 @@ +// Import the necessary modules. +// @flow +import cheerio from 'cheerio' +import debug from 'debug' +import { stringify } from 'querystring' + +import IHttpService from './IHttpService' +import { name } from '../../package.json' + +/** + * Class for making HTTP calls. + * @abstract + * @implements {IHttpService} + * @type {AbstractHttpService} + */ +export default class AbstractHttpService extends IHttpService { + + /** + * The base url of the website to scrape. + * @type {string} + */ + baseUrl: string + + /** + * The default options for the HTTP requests. + * @type {Object} + */ + options: Object + + /** + * The debug function for extra output. + * @type {Function} + */ + _debug: Function + + /** + * Create a new Request object. + * @param {!string} baseUrl - The base url of the website to scrape. + * @param {?Object} options={} - The default options for the HTTP requests. + */ + constructor({baseUrl, options = {}}: Object): void { + super() + + /** + * The the base url of hte website to scrape. + * @type {string} + */ + this.baseUrl = baseUrl + /** + * The default options for the HTTP requests. + * @type {Object} + */ + this.options = options + /** + * The debug function for extra output. + * @type {Function} + */ + this._debug = debug(`${name}:Http`) + } + + /** + * Make a GET request. + * @param {!string} [endpoint=''] - The endpoint to make the GET request to. + * @param {?Object} [opts={}] - The options for the HTTP GET + * request. + * @param {?boolean} [raw=false] - Return json object. + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + get( + endpoint?: string = '', + opts?: Object = {}, + raw?: boolean = false + ): Promise { + return this.request('GET', endpoint, opts, raw) + } + + /** + * Make a POST request. + * @param {!string} [endpoint] - The endpoint to make the POST request to. + * @param {?Object} [opts={}] - The options for the HTTP POST + * request. + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + post( + endpoint: string, + opts?: Object = {} + ): Promise { + return this.request('POST', endpoint, opts) + } + + /** + * Make a PUT request. + * @param {!string} [endpoint] - The endpoint to make the PUT request to. + * @param {?Object} [opts={}] - The options for the HTTP PUT + * request. + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + put( + endpoint: string, + opts?: Object = {} + ): Promise { + return this.request('PUT', endpoint, opts) + } + + /** + * Make a DELETE request. + * @param {!string} [endpoint] - The endpoint to make the DELETE request to. + * @param {?Object} [opts={}] - The options for the HTTP DELETE + * request. + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + delete( + endpoint: string, + opts?: Object = {} + ): Promise { + return this.request('DELETE', endpoint, opts) + } + + /** + * Handle the body response string. + * @param {!string} body - The body to parse. + * @param {?boolean} raw - Return the raw body. + * @returns {Function|string} - The raw body or the body parsed by + * cheerio. + */ + handleBody(body: string, raw?: boolean): Function | string { + if (raw) { + return body + } + + return cheerio.load(body) + } + + /** + * Print the debug message. + * @param {!string} method - The method of the HTTP request. + * @param {!string} uri - The uri of the HTTP request. + * @param {?Object} opts=this._opts - The options for the HTTP request. + * @returns {undefined} + */ + printDebug(method: string, uri: string, opts?: Object): void { + let msg = `Making ${method} request to: ${uri}` + if (opts) { + const { body, query, form } = opts + const s = { + ...body, + ...query, + ...form + } + msg += `?${stringify(s)}` + } + + this._debug(msg) + } + +} diff --git a/src/http/HttpService.js b/src/http/HttpService.js new file mode 100644 index 0000000..5722154 --- /dev/null +++ b/src/http/HttpService.js @@ -0,0 +1,80 @@ +// Import the necessary modules. +// @flow +import got from 'got' +import { URL } from 'url' +import { + createWriteStream, + unlinkSync +} from 'fs' + +import AbstractHttpService from './AbstractHttpService' + +/** + * Class for making HTTP calls with the got library. + * @extends {AbstractHttpService} + * @type {HttpService} + */ +export default class HttpService extends AbstractHttpService { + + /** + * Make a HTTP request. + * @param {!string} method - The method of the HTTP request. + * @param {!string} [endpoint] - The endpoint to make the HTTP request to. + * @param {?Object} [opts] - The options for the HTTP request. + * @param {?boolean} [raw] - Return the raw body. + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + request( + method: string, + endpoint: string, + opts?: Object, + raw?: boolean + ): Promise { + const { href } = new URL(endpoint, this.baseUrl) + + const options = { + ...this.options, + ...opts, + method + } + this.printDebug(method, href, options) + + return got(href, options) + .then(({ body }) => this.handleBody(body, raw)) + } + + /** + * Request to download an item. + * @param {!string} endpoint - The uri to the item. + * @param {!string} filePath - The name of the file to save the item. + * @returns {Promise} - Message when it's finally + * downloaded. + */ + download(endpoint: string, filePath: string): Promise { + const { href } = new URL(endpoint, this.baseUrl) + this.printDebug('GET', href) + + return new Promise((resolve, reject) => { + const stream = createWriteStream(filePath) + const req = got.stream(href, this.options) + + req.on('error', err => { + req.end() + + stream.end(() => unlinkSync(filePath)) + + const error = new Error( + `Error on: '${filePath}', uri: '${href}', ${err}` + ) + return reject(error) + }) + + req.on('response', function () { + this.pipe(stream) + stream.on('finish', () => resolve(filePath)) + }) + }) + } + +} diff --git a/src/http/IHttpService.js b/src/http/IHttpService.js new file mode 100644 index 0000000..ea5b510 --- /dev/null +++ b/src/http/IHttpService.js @@ -0,0 +1,118 @@ +// @flow + +/** + * Interface to send HTTP requests. + * @interface + * @type {IHttpService} + */ +export default class IHttpService { + + /** + * Make a GET request. + * @param {!string} [endpoint] - The endpoint to make the GET request to. + * @param {?Object} [opts={}] - The options for the HTTP GET + * request. + * @param {?boolean} [raw=false] - Return json object. + * @throws {Error} - Using default method: 'get' + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + get( + endpoint: string, + opts?: Object = {}, + raw?: boolean = false + ): Promise { + throw new Error('Using default method: \'get\'') + } + + /** + * Make a POST request. + * @param {!string} [endpoint] - The endpoint to make the POST request to. + * @param {?Object} [opts={}] - The options for the HTTP POST + * request. + * @throws {Error} - Using default method: 'post' + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + post( + endpoint: string, + opts?: Object = {} + ): Promise { + throw new Error('Using default method: \'post\'') + } + + /** + * Make a PUT request. + * @param {!string} [endpoint] - The endpoint to make the PUT request to. + * @param {?Object} [opts={}] - The options for the HTTP PUT + * request. + * @throws {Error} - Using default method: 'put' + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + put( + endpoint: string, + opts?: Object = {} + ): Promise { + throw new Error('Using default method: \'put\'') + } + + /** + * Make a DELETE request. + * @param {!string} [endpoint] - The endpoint to make the DELETE request to. + * @param {?Object} [opts={}] - The options for the HTTP DELETE + * request. + * @throws {Error} - Using default method: 'delete' + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + delete( + endpoint: string, + opts?: Object = {} + ): Promise { + throw new Error('Using default method: \'delete\'') + } + + /** + * Request to download an item. + * @param {!string} endpoint - The uri to the item. + * @param {!string} filePath - The name of the file to save the item. + * @throws {Error} - Using default method: 'download' + * @returns {Promise} - Message when it's finally downloaded. + */ + download(endpoint: string, filePath: string): Promise { + throw new Error('Using default method: \'download\'') + } + + /** + * Print the debug message. + * @param {!string} method - The method of the HTTP request. + * @param {!string} uri - The uri of the HTTP request. + * @param {?Object} opts=this._opts - The options for the HTTP request. + * @throws {Error} - Using default method: 'printDebug' + * @returns {undefined} + */ + printDebug(method: string, uri: string, opts?: Object): void { + throw new Error('Using default method: \'printDebug\'') + } + + /** + * Make a HTTP request. + * @param {!string} method - The method of the HTTP request. + * @param {!string} [endpoint] - The endpoint to make the HTTP request to. + * @param {?Object} [opts] - The options for the HTTP request. + * @param {?boolean} [raw] - Return the raw body. + * @throws {Error} - Using default method: 'request' + * @returns {Promise} - Promise with the HTML loaded in + * cheerio. + */ + request( + method: string, + endpoint: string, + opts?: Object, + raw?: boolean + ): Promise { + throw new Error('Using default method: \'request\'') + } + +} diff --git a/src/http/index.js b/src/http/index.js new file mode 100644 index 0000000..49475aa --- /dev/null +++ b/src/http/index.js @@ -0,0 +1,4 @@ +// Export the neseccary modules. +export AbstractHttpService from './AbstractHttpService' +export HttpService from './HttpService' +export IHttpService from './IHttpService' diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..9745b7e --- /dev/null +++ b/src/index.js @@ -0,0 +1,6 @@ +// Import the necessary modules. +export Context from './Context' +export Cron from './Cron' +export PopApiScraper from './PopApiScraper' +export * from './http' +export * from './providers' diff --git a/src/providers/AbstractProvider.js b/src/providers/AbstractProvider.js new file mode 100644 index 0000000..266306f --- /dev/null +++ b/src/providers/AbstractProvider.js @@ -0,0 +1,80 @@ +// Import the necessary. +// @flow +import pMap from 'p-map' + +import IProvider from './IProvider' + +/** + * The abstract provider for the strategy pattern. + * @implements {IProvider} + * @type {AbstractProvider} + */ +export default class AbstractProvider extends IProvider { + + /** + * The name of the abstract provider. + * @type {string} + */ + name: string + + /** + * The max allowed concurrent web requests. + * @type {number} + */ + maxWebRequests: number + + /** + * The configs fro the abstract provider. + * @type {Array} + */ + configs: Array + + /** + * Create a nwe AbstractProvider object. + * @param {!PopApiScraper} PopApiScraper - The PopApScraper instance. + * @param {!Object} options - The options for the AbstractProvider. + * @param {!string} name - The name of the AbstractProvider. + * @param {!Array} options.configs - The configurations of the + * provider. + * @param {!number} [maxWebRequests=2] - The max allowed concurrent web + * requests. + */ + constructor(PopApiScraper: any, { + name, + configs, + maxWebRequests = 2 + }: Object): void { + super() + + /** + * The name of the abstract provider. + * @type {string} + */ + this.name = name || this.constructor.name + /** + * The max allowed concurrent web requests. + * @type {number} + */ + this.maxWebRequests = maxWebRequests + /** + * The configs for the abstract provider. + * @type {Array} + */ + this.configs = configs + } + + /** + * Get the contents for the configurations. + * @override + * @returns {Promise, Error>} - The results of the scraped + * configurations. + */ + scrapeConfigs(): Promise | Error> { + return pMap(this.configs, config => { + return this.scrapeConfig(config) + }, { + concurrency: 1 + }) + } + +} diff --git a/src/providers/IProvider.js b/src/providers/IProvider.js new file mode 100644 index 0000000..94393d7 --- /dev/null +++ b/src/providers/IProvider.js @@ -0,0 +1,32 @@ +// @flow + +/** + * Interface for scraping and content from various sources. + * @interface + * @type {IProvider} + */ +export default class IProvider { + + /** + * Get the contents for a configuration. + * @param {!Object} config - The config to get content with. + * @abstract + * @throws {Error} - Using default method: '_scrapeConfig' + * @returns {Promise, Error>} - The results of a configuration. + */ + scrapeConfig(config: Object): Promise | Error> { + throw new Error('Using default method: \'scrapeConfig\'') + } + + /** + * Get the contents for the configurations. + * @abstract + * @throws {Error} - Using default method: 'scrapeConfigs' + * @returns {Promise, Error>} - The results of the scrape + * configurations. + */ + scrapeConfigs(): Promise | Error> { + throw new Error('Using default method: \'scrapeConfigs\'') + } + +} diff --git a/src/providers/index.js b/src/providers/index.js new file mode 100644 index 0000000..828f00e --- /dev/null +++ b/src/providers/index.js @@ -0,0 +1,3 @@ +// Export the neseccary modules. +export AbstractProvider from './AbstractProvider' +export IProvider from './IProvider' diff --git a/test/Context.spec.js b/test/Context.spec.js new file mode 100644 index 0000000..ea1f1c6 --- /dev/null +++ b/test/Context.spec.js @@ -0,0 +1,42 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import { expect } from 'chai' + +import { + Context, + IProvider +} from '../src' + +/** @test {Context} */ +describe('Context', () => { + /** + * The context object to test + * @type {Context} + */ + let context: Context + + /** + * Hook for setting up the Context tests. + * @type {Function} + */ + before(() => { + context = new Context() + }) + + /** @test {Context#execute} */ + it('should throw an error when executing the default provider', () => { + expect(context.execute.bind(context)).to + .throw('Using default method: \'scrapeConfigs\'') + }) + + /** @test {Context#provider} */ + it('should check if Context has a provider', () => { + const current = context.provider + const iProvider = new IProvider() + context.provider = iProvider + + expect(context.provider).to.not.equal(current) + expect(context.provider).to.equal(iProvider) + }) +}) diff --git a/test/Cron.spec.js b/test/Cron.spec.js new file mode 100644 index 0000000..76c24a5 --- /dev/null +++ b/test/Cron.spec.js @@ -0,0 +1,76 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import del from 'del' +import mkdirp from 'mkdirp' +import { join } from 'path' +import { expect } from 'chai' +import { PopApi } from 'pop-api' + +import { + Cron, + PopApiScraper +} from '../src/' + +/** @test {Cron} */ +describe('Cron', () => { + /** + * The Cron object to test. + * @type {Cron} + */ + let cron: Cron + + /** + * The temporary directory to store the status and updated files. + * @type {string} + */ + let tempDir: string + + /** + * Hook for setting up the Cron tests. + * @type {Function} + */ + before(() => { + tempDir = join(...[ + __dirname, + '..', + 'tmp' + ]) + del.sync([tempDir]) + mkdirp.sync(tempDir) + + PopApi.use(PopApiScraper, { + statusPath: join(...[tempDir, 'status.json']), + updatedPath: join(...[tempDir, 'updated.json']) + }) + cron = new Cron(PopApi) + }) + + /** @test {Cron#constructor} */ + it('should test the constructor with options.', () => { + new Cron(PopApi, { // eslint-disable-line no-new + cronTime: '0 0 */6 * * *' + }) + }) + + /** @test {Cron#constructor} */ + it('should check the attributes of the Cron', () => { + expect(cron.cronTime).to.exist + expect(cron.cronTime).to.be.a('string') + }) + + /** @test {Cron#getCron} */ + it('should get the cron object', () => { + const res = cron.getCron(PopApi) + expect(res).to.be.an('object') + }) + + /** + * Hook for tearing down the Cron tests. + * @type {Function} + */ + after(() => { + del.sync(tempDir) + PopApi._installedPlugins = new Map() + }) +}) diff --git a/test/PopApiScraper.spec.js b/test/PopApiScraper.spec.js new file mode 100644 index 0000000..8209350 --- /dev/null +++ b/test/PopApiScraper.spec.js @@ -0,0 +1,156 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import del from 'del' +import mkdirp from 'mkdirp' +import { expect } from 'chai' +import { join } from 'path' +import { PopApi } from 'pop-api' + +import ExampleProvider from '../examples/ExampleProvider' +import { PopApiScraper } from '../src' + +/** @test {PopApiScraper} */ +describe('PopApiScraper', () => { + /** + * The PopApiScraper to test with. + * @type {PopApiScraper} + */ + let popApiScraper: PopApiScraper + + /** + * The temporary directory to store the status and updated files. + * @type {string} + */ + let tempDir: string + + /** + * Hook for setting up the PopApiScraper tests. + * @type {Function} + */ + before(() => { + tempDir = join(...[ + __dirname, + '..', + 'tmp' + ]) + del.sync([tempDir]) + mkdirp.sync(tempDir) + + popApiScraper = new PopApiScraper(PopApi, { + statusPath: join(...[ + tempDir, + 'status.json' + ]), + updatedPath: join(...[ + tempDir, + 'updated.json' + ]) + }) + }) + + /** @test {PopApiScraper#constructor} */ + it('should check the attributes of the PopApiScraper', () => { + expect(popApiScraper.context).to.exist + expect(popApiScraper.context).to.be.an('object') + expect(popApiScraper.statusPath).to.exist + expect(popApiScraper.statusPath).to.be.a('string') + expect(popApiScraper.updatedPath).to.exist + expect(popApiScraper.updatedPath).to.be.a('string') + }) + + /** @test {PopApiScraper#constructor} */ + it('should throw an error if the required options are not given', () => { + try { + new PopApiScraper(PopApi, {}) // eslint-disable-line no-new + expect(true).to.be.false + } catch (err) { + expect(err).to.be.an('Error') + expect(err.message).to.equal( + '\'statusPath\' and \'updatedPath\' are required options for the PopApiScraper middleware!' + ) + } + }) + + /** @test {PopApiScraper#setStatus} */ + it('should set the status of the scraper', done => { + popApiScraper.setStatus('status').then(res => { + expect(res).to.be.undefined + done() + }).catch(done) + }) + + /** @test {PopApiScraper#getStatus} */ + it('should get the status of the scraper', done => { + popApiScraper.getStatus().then(res => { + expect(res).to.be.a('string') + done() + }).catch(done) + }) + + /** @test {PopApiScraper#setUpdated} */ + it('should set the updated status of the scraper', done => { + popApiScraper.setUpdated(123456789).then(res => { + expect(res).to.be.undefined + done() + }).catch(done) + }) + + /** @test {PopApiScraper#getUpdated} */ + it('should get the updated status of the scraper', done => { + popApiScraper.getUpdated().then(res => { + expect(res).to.be.a('number') + done() + }).catch(done) + }) + + /** + * Helper function to test the `use` method. + * @param {!string} msg - The message to print for the test. + * @returns {undefined} + */ + function testUse(msg: string): void { + /** @test {PopApiScraper.use} */ + it(msg, () => { + PopApiScraper.use(ExampleProvider, { + name: 'exampleProvider', + configs: [{ + baseUrl: 'https://jsonplaceholder.typicode.com/' + }] + }) + + expect(PopApiScraper._installedPlugins).to.be.a('Map') + expect(PopApiScraper._installedPlugins.size).to.equal(1) + }) + } + + // Execute the tests. + [ + 'should register a middleware plugin', + 'should not register the same plugin twice' + ].map(testUse) + + /** @test {PopApiScraper.use} */ + it('should not register the plugin if it is not a class', () => { + PopApiScraper.use({}) + + expect(PopApiScraper._installedPlugins).to.be.a('Map') + expect(PopApiScraper._installedPlugins.size).to.equal(1) + }) + + /** @test {PopApiScraper#scrape} */ + it('should call the scrape method', done => { + popApiScraper.scrape().then(res => { + expect(res).to.be.an('array') + done() + }).catch(done) + }) + + /** + * Hook for tearing down the PopApiScraper tests. + * @type {Function} + */ + after(() => { + del.sync(tempDir) + }) +}) diff --git a/test/http/AbstractHttpService.spec.js b/test/http/AbstractHttpService.spec.js new file mode 100644 index 0000000..724cadb --- /dev/null +++ b/test/http/AbstractHttpService.spec.js @@ -0,0 +1,112 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import { expect } from 'chai' + +import { AbstractHttpService } from '../../src' + +/** @test {AbstractHttpService} */ +describe('AbstractHttpService', () => { + /** + * The AbstractHttpService object to be tested. + * @type {AbstractHttpService} + */ + let abstractHttpService: AbstractHttpService + + /** + * Hook for setting up the AbstractHttpService tests. + * @type {Function} + */ + before(() => { + abstractHttpService = new AbstractHttpService({ + baseUrl: 'https://jsonplaceholder.typicode.com/' + }) + }) + + /** @test {HttpService#constructor} */ + it('should throw an error when calling the get method', () => { + abstractHttpService = new AbstractHttpService({ + baseUrl: 'https://jsonplaceholder.typicode.com', + options: {} + }) + }) + + /** @test {AbstractHttpService#get} */ + it('should throw an error when calling the get method', () => { + expect(abstractHttpService.get.bind(abstractHttpService)).to + .throw('Using default method: \'request\'') + }) + + /** @test {AbstractHttpService#post} */ + it('should throw an error when calling the post method', () => { + expect(abstractHttpService.post.bind(abstractHttpService)).to + .throw('Using default method: \'request\'') + }) + + /** @test {AbstractHttpService#put} */ + it('should throw an error when calling the put method', () => { + expect(abstractHttpService.put.bind(abstractHttpService)).to + .throw('Using default method: \'request\'') + }) + + /** @test {AbstractHttpService#delete} */ + it('should throw an error when calling the delete method', () => { + expect(abstractHttpService.delete.bind(abstractHttpService)).to + .throw('Using default method: \'request\'') + }) + + /** @test {AbstractHttpService#download} */ + it('should throw an error when calling the download method', () => { + expect(abstractHttpService.download.bind(abstractHttpService)).to + .throw('Using default method: \'download\'') + }) + + /** @test {AbstractHttpService#handleBody} */ + it('should get the raw body of a request', () => { + const body = 'Test' + const res = abstractHttpService.handleBody(body, true) + expect(res).to.equal(body) + }) + + /** @test {AbstractHttpService#handleBody} */ + it('should get the body wrapped in cheerio', () => { + const body = 'Test' + const res = abstractHttpService.handleBody(body, false) + expect(res).to.be.a('function') + }) + + /** @test {AbstractHttpService#request} */ + it('should throw an error when calling the _request method', () => { + expect(abstractHttpService.request.bind(abstractHttpService)).to + .throw('Using default method: \'request\'') + }) + + /** @test {AbstractHttpService#printDebug} */ + it('should throw an error when calling the _printDebug method', () => { + const url = 'https://jsonplaceholder.typicode.com' + const toStringify = { + key: 'value' + } + + let res = abstractHttpService.printDebug('GET', url, { + body: toStringify + }) + expect(res).to.be.undefined + + res = abstractHttpService.printDebug('GET', url, { + query: toStringify + }) + expect(res).to.be.undefined + + res = abstractHttpService.printDebug('GET', url, { + form: toStringify + }) + expect(res).to.be.undefined + + res = abstractHttpService.printDebug('GET', url, {}) + expect(res).to.be.undefined + + res = abstractHttpService.printDebug('GET', url) + expect(res).to.be.undefined + }) +}) diff --git a/test/http/HttpService.spec.js b/test/http/HttpService.spec.js new file mode 100644 index 0000000..93ec072 --- /dev/null +++ b/test/http/HttpService.spec.js @@ -0,0 +1,94 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import del from 'del' +import mkdirp from 'mkdirp' +import { expect } from 'chai' +import { existsSync } from 'fs' +import { join } from 'path' + +import { HttpService } from '../../src' + +/** @test {HttpService} */ +describe('HttpService', () => { + /** + * The HttpService object to be tested. + * @type {HttpService} + */ + let httpService: HttpService + + /** + * The temporary directory to store the status and updated files. + * @type {string} + */ + let tempDir: string + + /** + * Hook for setting up the HttpService tests. + * @type {Function} + */ + before(() => { + tempDir = join(...[ + __dirname, + '..', + '..', + 'tmp' + ]) + del.sync([tempDir]) + mkdirp.sync(tempDir) + + httpService = new HttpService({ + baseUrl: 'https://jsonplaceholder.typicode.com/' + }) + }) + + /** @test {HttpService#request} */ + it('should make a successful HTTP request', done => { + httpService.request('GET', 'posts/1', { + json: true + }, true).then(res => { + expect(res).to.be.an('object') + done() + }).catch(done) + }) + + /** @test {HttpService#download} */ + it('should fail to download a given link', done => { + const fileName = 'file.json' + const filePath = join(...[tempDir, fileName]) + const endpoint = '/faulty/1' + + expect(existsSync(filePath)).to.be.false + + httpService.download(endpoint, fileName) + .then(done) + .catch(() => { + expect(existsSync(filePath)).to.be.false + done() + }) + }) + + /** @test {HttpService#download} */ + it('should successfully download a given link', done => { + const fileName = 'file.json' + const filePath = join(...[tempDir, fileName]) + const endpoint = '/posts/1' + + expect(existsSync(filePath)).to.be.false + + httpService.download(endpoint, filePath).then(res => { + expect(res).to.be.a('string') + expect(existsSync(filePath)).to.be.true + + done() + }).catch(done) + }) + + /** + * Hook for tearing down the HttpService tests. + * @type {Function} + */ + after(() => { + del.sync(tempDir) + }) +}) diff --git a/test/http/IHttpService.spec.js b/test/http/IHttpService.spec.js new file mode 100644 index 0000000..e5e6284 --- /dev/null +++ b/test/http/IHttpService.spec.js @@ -0,0 +1,57 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import { expect } from 'chai' + +import { IHttpService } from '../../src' + +/** @test {IHttpService} */ +describe('IHttpService', () => { + /** + * The IHttpService object to be tested. + * @type {IHttpService} + */ + let iHttpService: IHttpService + + /** + * Hook for setting up the IHttpService tests. + * @type {Function} + */ + before(() => { + iHttpService = new IHttpService() + }) + + /** @test {IHttpService#get} */ + it('should throw an error when calling the get method', () => { + expect(iHttpService.get).to + .throw('Using default method: \'get\'') + }) + + /** @test {IHttpService#post} */ + it('should throw an error when calling the post method', () => { + expect(iHttpService.post).to + .throw('Using default method: \'post\'') + }) + /** @test {IHttpService#put} */ + it('should throw an error when calling the put method', () => { + expect(iHttpService.put).to + .throw('Using default method: \'put\'') + }) + /** @test {IHttpService#delete} */ + it('should throw an error when calling the delete method', () => { + expect(iHttpService.delete).to + .throw('Using default method: \'delete\'') + }) + + /** @test {IHttpService#printDebug} */ + it('should throw an error when calling the printDebug method', () => { + expect(iHttpService.printDebug).to + .throw('Using default method: \'printDebug\'') + }) + + /** @test {IHttpService#request} */ + it('should throw an error when calling the request method', () => { + expect(iHttpService.request).to + .throw('Using default method: \'request\'') + }) +}) diff --git a/test/providers/AbstractProvider.spec.js b/test/providers/AbstractProvider.spec.js new file mode 100644 index 0000000..9c15f75 --- /dev/null +++ b/test/providers/AbstractProvider.spec.js @@ -0,0 +1,24 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import { expect } from 'chai' + +import { AbstractProvider } from '../../src' + +/** @test {AbstractProvider} */ +describe('AbstractProvider', () => { + /** @test {AbstractProvider#scrapeConfigs} */ + it('should throw an error when calling the scrapeConfigs method', done => { + const abstractProvider = new AbstractProvider({}, { + baseUrl: 'https://jsonplaceholder.typicode.com/', + configs: [{}] + }) + + abstractProvider.scrapeConfigs() + .then(done) + .catch(err => { + expect(err).to.be.an('Error') + done() + }) + }) +}) diff --git a/test/providers/IProvider.spec.js b/test/providers/IProvider.spec.js new file mode 100644 index 0000000..0050b49 --- /dev/null +++ b/test/providers/IProvider.spec.js @@ -0,0 +1,35 @@ +// Import the necessary modules. +// @flow +/* eslint-disable no-unused-expressions */ +import { expect } from 'chai' + +import { IProvider } from '../../src' + +/** @test {IProvider} */ +describe('IProvider', () => { + /** + * The IProvider object to be tested. + * @type {IProvider} + */ + let iProvider: IProvider + + /** + * Hook for setting up the IProvider tests. + * @type {Function} + */ + before(() => { + iProvider = new IProvider() + }) + + /** @test {IProvider#scrapeConfig} */ + it('should throw an error when calling the scrapeConfig method', () => { + expect(iProvider.scrapeConfig).to + .throw('Using default method: \'scrapeConfig\'') + }) + + /** @test {IProvider#scrapeConfigs} */ + it('should throw an error when calling the scrapeConfigs method', () => { + expect(iProvider.scrapeConfigs).to + .throw('Using default method: \'scrapeConfigs\'') + }) +})