├── .github └── workflows │ └── publish.yml ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── lib ├── UKCovid19.ts └── index.ts ├── package.json ├── tests └── UKCovid19.test.ts ├── tsconfig.json ├── tslint.json └── yarn.lock /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish package 2 | on: 3 | release: 4 | types: [created] 5 | 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v2 12 | # Setup .npmrc file to publish to npm 13 | - uses: actions/setup-node@v1 14 | with: 15 | node-version: '10.x' 16 | registry-url: 'https://registry.npmjs.org' 17 | 18 | - run: npm install 19 | # Publish to npm 20 | - run: npm publish --access public 21 | env: 22 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 23 | 24 | # Setup .npmrc file to publish to GitHub Packages 25 | - uses: actions/setup-node@v1 26 | with: 27 | registry-url: 'https://npm.pkg.github.com' 28 | # Defaults to the user or organization that owns the workflow file 29 | scope: '@publichealthengland' 30 | # Publish to GitHub Packages 31 | - run: npm publish 32 | env: 33 | NODE_AUTH_TOKEN: ${{ secrets.GH_TOKEN }} 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py 2 | api_interfaceold.js 3 | requirements.txt 4 | node_modules 5 | package-lock.json 6 | .nyc_output 7 | dist -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "tabWidth": 4, 4 | "trailingComma": "all", 5 | "singleQuote": true 6 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Public Health England 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Coronavirus (COVID-19) in the UK - API Service 2 | 3 | ![npm](https://img.shields.io/npm/v/@publichealthengland/uk-covid19) 4 | ![GitHub](https://img.shields.io/github/license/publichealthengland/coronavirus-dashboard-api-javascript-sdk) 5 | [![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/publichealthengland/coronavirus-dashboard-api-javascript-sdk.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/publichealthengland/coronavirus-dashboard-api-javascript-sdk/context:javascript) 6 | 7 | ## Software Development Kit (SDK) for JavaScript 8 | 9 | This is a JavaScript SDK for the COVID-19 API, as published by Public Health England 10 | on [Coronavirus (COVID-19) in the UK](http://coronavirus.data.gov.uk/). 11 | 12 | The API supplies the latest data for the COVID-19 outbreak in the United Kingdom. 13 | 14 | The endpoint for the data provided using this SDK is: 15 | 16 | https://api.coronavirus.data.gov.uk/v1/data 17 | 18 | The SDK is also available for [Python](https://github.com/publichealthengland/coronavirus-dashboard-api-python-sdk) 19 | and [R](https://github.com/publichealthengland/coronavirus-dashboard-api-R-sdk). 20 | 21 | 22 | ### Pagination 23 | 24 | Using this SDK will bypass the pagination process. You will always download the entire 25 | dataset unless the `latest_by` argument is defined. 26 | 27 | 28 | 29 | ### Installation 30 | 31 | 32 | Python 3.7+ is required to install and use this library. 33 | 34 | To install globally, please run: 35 | 36 | ```bash 37 | npm install -g @publichealthengland/uk-covid19 38 | ``` 39 | 40 | or to install locally in your project, run: 41 | 42 | ```bash 43 | npm install @publichealthengland/uk-covid19 44 | ``` 45 | 46 | Import the library in TypeScript as follows: 47 | 48 | ```typescript 49 | import Cov19API from "@publichealthengland/uk-covid19"; 50 | ``` 51 | 52 | or using CommonJS: 53 | 54 | ```javascript 55 | const Cov19API = require("@publichealthengland/uk-covid19"); 56 | ``` 57 | 58 | 59 | ### Example 60 | 61 | We would like to extract the number of new cases, cumulative cases, new deaths and 62 | cumulative deaths for England using the API. 63 | 64 | We start off by importing the library into our workspace: 65 | 66 | ```javascript 67 | const Cov19API = require("@publichealthengland/uk-covid19"); 68 | ``` 69 | 70 | Next, we construct the value of the `filters` parameter: 71 | 72 | ```javascript 73 | const englandOnly = [ 74 | 'areaType=nation', 75 | 'areaName=England' 76 | ]; 77 | ``` 78 | 79 | Next step is to construct the value of the `structure` parameter. To do so, we need to 80 | find out the name of the metric in which we are interested. You can find this information 81 | in the Developer's Guide on the Coronavirus Dashboard website. 82 | 83 | In the case of this example, the metrics are as follows: 84 | 85 | - `newCasesByPublishDate`: New cases (by publish date) 86 | - `cumCasesByPublishDate`: Cumulative cases (by publish date) 87 | - `newDeathsByDeathDate`: New deaths (by death date) 88 | - `cumDeathsByDeathDate`: Cumulative deaths (by death date) 89 | 90 | In its simplest form, we construct the structure as follows: 91 | 92 | ```javascript 93 | const casesAndDeaths = { 94 | "date": "date", 95 | "areaName": "areaName", 96 | "areaCode": "areaCode", 97 | "newCasesByPublishDate": "newCasesByPublishDate", 98 | "cumCasesByPublishDate": "cumCasesByPublishDate", 99 | "newDeathsByDeathDate": "newDeathsByDeathDate", 100 | "cumDeathsByDeathDate": "cumDeathsByDeathDate" 101 | }; 102 | ``` 103 | 104 | Now, we may use `filters` and `structure` to initialise the `Covid19API` object: 105 | 106 | ```javascript 107 | const api = new Cov19API({ 108 | filters: englandOnly, 109 | structure: casesAndDeaths 110 | }); 111 | 112 | const data = api.getJSON(); 113 | 114 | console.log(data) 115 | ``` 116 | 117 | You may also use `data.getCSV()` to download the data in CSV. This is exemplified later 118 | in this document. 119 | 120 | ``` 121 | { 122 | 'data': [ 123 | { 124 | 'date': '2020-07-28', 125 | 'areaName': 'England', 126 | 'areaCode': 'E92000001', 127 | 'newCasesByPublishDate': 547, 128 | 'cumCasesByPublishDate': 259022, 129 | 'newDeathsByDeathDate': None, 130 | 'cumDeathsByDeathDate': None 131 | }, 132 | { 133 | 'date': '2020-07-27', 134 | 'areaName': 'England', 135 | 'areaCode': 'E92000001', 136 | 'newCasesByPublishDate': 616, 137 | 'cumCasesByPublishDate': 258475, 138 | 'newDeathsByDeathDate': 20, 139 | 'cumDeathsByDeathDate': 41282 140 | }, 141 | ... 142 | ], 143 | 'lastUpdate': '2020-07-28T15:34:31.000000Z', 144 | 'length': 162, 145 | 'totalPages': 1 146 | } 147 | ``` 148 | 149 | To see the timestamp for the last update, run: 150 | 151 | ```javascript 152 | const timestamp = api.lastUpdate(); 153 | 154 | console.log(timestamp); 155 | ``` 156 | 157 | ``` 158 | 2020-07-28T15:34:31.000Z 159 | ``` 160 | 161 | To get the latest data by a specific metric, run: 162 | 163 | ```javascript 164 | const allNations = [ 165 | "areaType=nation" 166 | ]; 167 | 168 | const latestData = new Cov19API({ 169 | filters: allNations, 170 | structure: casesAndDeaths, 171 | latest_by: "newCasesByPublishDate" 172 | }); 173 | 174 | const data = latestData.getJSON(); 175 | 176 | console.log(data) 177 | ``` 178 | 179 | ``` 180 | { 181 | "data": [ 182 | { 183 | "date": "2020-07-28", 184 | "areaName": "England", 185 | "areaCode": "E92000001", 186 | "newCasesByPublishDate": 547, 187 | "cumCasesByPublishDate": 259022, 188 | "newDeathsByDeathDate": None, 189 | "cumDeathsByDeathDate": None 190 | }, 191 | { 192 | "date": "2020-07-28", 193 | "areaName": "Northern Ireland", 194 | "areaCode": "N92000002", 195 | "newCasesByPublishDate": 9, 196 | "cumCasesByPublishDate": 5921, 197 | "newDeathsByDeathDate": None, 198 | "cumDeathsByDeathDate": None 199 | }, 200 | { 201 | "date": "2020-07-28", 202 | "areaName": "Scotland", 203 | "areaCode": "S92000003", 204 | "newCasesByPublishDate": 4, 205 | "cumCasesByPublishDate": 18558, 206 | "newDeathsByDeathDate": None, 207 | "cumDeathsByDeathDate": None 208 | }, 209 | { 210 | "date": "2020-07-28", 211 | "areaName": "Wales", 212 | "areaCode": "W92000004", 213 | "newCasesByPublishDate": 21, 214 | "cumCasesByPublishDate": 17191, 215 | "newDeathsByDeathDate": None, 216 | "cumDeathsByDeathDate": None 217 | } 218 | ], 219 | "lastUpdate": "2020-07-28T15:34:31.000000Z", 220 | "length": 4, 221 | "totalPages": 1 222 | } 223 | ``` 224 | 225 | 226 | You may retrieve CSV-formatted data as follows: 227 | 228 | ```javascript 229 | const csvData = api.getCSV(); 230 | 231 | console.log(csvData) 232 | ``` 233 | 234 | ``` 235 | date,areaName,areaCode,newCasesByPublishDate,cumCasesByPublishDate,newDeathsByDeathDate,cumDeathsByDeathDate 236 | 2020-07-28,England,E92000001,547,259022,, 237 | 2020-07-28,Northern Ireland,N92000002,9,5921,, 238 | 2020-07-28,Scotland,S92000003,4,18558,, 239 | 2020-07-28,Wales,W92000004,21,17191,, 240 | ``` 241 | 242 | ----------- 243 | 244 | Developed and maintained by [Public Health England](https://www.gov.uk/government/organisations/public-health-england). 245 | 246 | Copyright (c) 2020, Public Health England. 247 | -------------------------------------------------------------------------------- /lib/UKCovid19.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Coronavirus (COVID-19) Dashboard - API Service 3 | * ============================================== 4 | * 5 | * Software Development Kit (SDK) for JavaScript 6 | * --------------------------------------------- 7 | * 8 | * This is a Python SDK for the COVID-19 API, as published by 9 | * Public Health England on `Coronavirus (COVID-19) in the UK`_ 10 | * dashboard. 11 | * 12 | * The endpoint for the data provided using this SDK is: 13 | * 14 | * https://api.coronavirus.data.gov.uk/v1/data 15 | * 16 | * .. _`Coronavirus (COVID-19) in the UK`: http://coronavirus.data.gov.uk/ 17 | */ 18 | 19 | import axios from 'axios'; 20 | import moment from 'moment'; 21 | 22 | export type FiltersType = string[]; 23 | 24 | export interface StructureType { 25 | [key: string]: string; 26 | } 27 | 28 | export interface HeadType { 29 | [key: string]: string; 30 | } 31 | 32 | export interface OptionsType { 33 | [key: string]: any; 34 | } 35 | 36 | export interface UKCovid19Props { 37 | filters: FiltersType; 38 | structure: StructureType; 39 | latestBy?: string; 40 | } 41 | 42 | export interface APIParams { 43 | filters: string; 44 | structure: string; 45 | latestBy?: string; 46 | } 47 | 48 | export interface APIJSONResponse { 49 | data: StructureType[]; 50 | } 51 | 52 | export interface JSONResponse { 53 | data: StructureType[]; 54 | length: number; 55 | lastUpdate: string; 56 | totalPages: number; 57 | } 58 | 59 | /** 60 | * COVID-19 API 61 | * ------------ 62 | * Interface to access the API service for COVID-19 data in the United Kingdom. 63 | */ 64 | class Cov19API { 65 | static readonly endpoint: string = 66 | 'https://api.coronavirus.data.gov.uk/v1/data'; 67 | private readonly structure: StructureType; 68 | private readonly filters: string[]; 69 | private readonly latestBy: string | undefined; 70 | private _lastUpdate: string | undefined; 71 | 72 | /** 73 | * 74 | * @param filters { FiltersType } API filters. See the API documentations for 75 | * additional information. 76 | * 77 | * @param structure { StructureType } Structure parameter. See the API 78 | * documentations for additional information. 79 | * 80 | * @param latestBy { latestBy } Retrieves the latest value for a specific 81 | * metric. [Default: ``undefined``] 82 | * 83 | * @see https://coronavirus.data.gov.uk//developers-guide 84 | */ 85 | constructor({ filters, structure, latestBy }: UKCovid19Props) { 86 | this.filters = filters; 87 | this.structure = structure; 88 | this.latestBy = latestBy; 89 | } // constructor 90 | 91 | /** 92 | * API parameters, constructed based on ``filters``, ``structure``, 93 | * and ``latest_by`` arguments as defined by the user. 94 | * 95 | * @returns { APIParams } 96 | */ 97 | get apiParams(): APIParams { 98 | return { 99 | filters: this.filters.join(';'), 100 | structure: JSON.stringify(this.structure), 101 | ...(this.latestBy ? { latestBy: this.latestBy } : {}), 102 | }; 103 | } // apiParams 104 | 105 | /** 106 | * Extracts paginated data by requesting all of the pages 107 | * and combining the results. 108 | * 109 | * @param format { string } 110 | * 111 | * @returns { Promise } 112 | */ 113 | private getData = async ( 114 | format: string, 115 | ): Promise => { 116 | const result = []; 117 | 118 | let currentPage = 1; 119 | 120 | while (true) { 121 | const { data, status, statusText, headers } = await axios.get( 122 | Cov19API.endpoint, 123 | { 124 | params: { ...this.apiParams, page: currentPage, format }, 125 | timeout: 10000, 126 | }, 127 | ); 128 | 129 | if (status === 204) break; 130 | if (status >= 400) throw new Error(statusText); 131 | 132 | this._lastUpdate = headers['last-modified']; 133 | 134 | result.push(data); 135 | 136 | currentPage++; 137 | } 138 | 139 | return result; 140 | }; // getData 141 | 142 | /** 143 | * Provides full data (all pages) in JSON. 144 | * 145 | * @returns { Promise } 146 | */ 147 | getJSON = async (): Promise => { 148 | const data = (await this.getData('json')) as APIJSONResponse[]; 149 | 150 | const responseData = data.reduce( 151 | (acc, item) => [...acc, ...(item?.data ?? [])], 152 | [] as StructureType[], 153 | ); 154 | 155 | return { 156 | data: responseData, 157 | length: responseData.length, 158 | totalPages: data.length, 159 | lastUpdate: await this.lastUpdate(), 160 | }; 161 | }; // getJSON 162 | 163 | /** 164 | * Request header for the given input arguments (``filters``, 165 | * ``structure``, and ``lastest_by``). 166 | * 167 | * @returns { Promise } 168 | */ 169 | head = async (): Promise => { 170 | const { headers, status, statusText } = await axios.head( 171 | Cov19API.endpoint, 172 | { 173 | params: this.apiParams, 174 | timeout: 10000, 175 | responseType: 'text', 176 | method: 'HEAD', 177 | }, 178 | ); 179 | 180 | if (status >= 400) throw new Error(statusText); 181 | 182 | return headers; 183 | }; // head 184 | 185 | /** 186 | * Produces the timestamp for the last update in GMT. 187 | * 188 | * @returns { Promise } 189 | */ 190 | lastUpdate = async (): Promise => { 191 | const head = await this.head(); 192 | const lastModified = head['last-modified']; 193 | 194 | if (this._lastUpdate && this._lastUpdate.indexOf('Z') > -1) 195 | return this._lastUpdate; 196 | 197 | // Original format: Mon, 03 Aug 2020 14:46:40 GMT 198 | this._lastUpdate = moment( 199 | lastModified.replace(/\s+GMT$/i, ' Z'), 200 | 'ddd, DD MMM YYYY HH:mm:ss Z', 201 | ).toISOString(); 202 | 203 | return this._lastUpdate; 204 | }; // lastUpdate 205 | 206 | /** 207 | * Provides the options by calling the ``OPTIONS`` method of the API. 208 | * 209 | * @returns { Promise } 210 | */ 211 | static options = async (): Promise => { 212 | const { 213 | data, 214 | status, 215 | statusText, 216 | } = await axios.options(Cov19API.endpoint, { timeout: 10000 }); 217 | 218 | if (status >= 400) throw new Error(statusText); 219 | 220 | return data; 221 | }; // options 222 | 223 | /** 224 | * Provides full data (all pages) in CSV. 225 | * 226 | * .. warning:: 227 | * Please make sure that the ``structure`` is not hierarchical as 228 | * CSV outputs are defined as 2D tables and as such, do not support 229 | * hierarchies. 230 | * 231 | * @returns { Promise } 232 | */ 233 | getCSV = async (): Promise => { 234 | const data = (await this.getData('csv')) as string[]; 235 | 236 | return ( 237 | data.reduce( 238 | (acc: string, item: string, index: number) => 239 | acc + 240 | (index === 0 241 | ? item.trim() 242 | : item.trim().split('\n').slice(1).join('\n')), 243 | '', 244 | ) + '\n' 245 | ); 246 | }; // getCSV 247 | 248 | } // Cov19API 249 | 250 | export default Cov19API; 251 | -------------------------------------------------------------------------------- /lib/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './UKCovid19'; 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@publichealthengland/uk-covid19", 3 | "version": "1.2.5", 4 | "description": "This is a JavaScript SDK for the COVID-19 API, as published by Public Health England on Coronavirus (COVID-19) in the UK dashboard.", 5 | "main": "dist/lib/index.js", 6 | "types": "dist/lib/UKCovid19.d.ts", 7 | "repository": { 8 | "type": "git", 9 | "url": "git+https://github.com/publichealthengland/coronavirus-dashboard-api-javascript-sdk.git" 10 | }, 11 | "author": { 12 | "name": "Public Health England", 13 | "email": "covid19-tech@phe.gov.uk", 14 | "url": "https://coronavirus.data.gov.uk/" 15 | }, 16 | "maintainers": [ 17 | "Pouria Hadjibagheri ", 18 | "Brogan Goble " 19 | ], 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/publichealthengland/coronavirus-dashboard-api-javascript-sdk/issues" 23 | }, 24 | "homepage": "https://github.com/publichealthengland/coronavirus-dashboard-api-javascript-sdk", 25 | "keywords": [ 26 | "api-service", 27 | "coronavirus", 28 | "covid19", 29 | "covid19-data", 30 | "covid19-uk", 31 | "govuk-service" 32 | ], 33 | "dependencies": { 34 | "axios": "^0.19.2", 35 | "moment": "^2.27.0" 36 | }, 37 | "devDependencies": { 38 | "@types/assert": "^1.5.1", 39 | "@types/chai": "^4.2.12", 40 | "@types/mocha": "^8.0.1", 41 | "@types/moment": "^2.13.0", 42 | "assert": "^2.0.0", 43 | "chai": "^4.2.0", 44 | "mocha": "^8.1.0", 45 | "nyc": "^15.1.0", 46 | "prettier": "^2.0.5", 47 | "ts-node": "^8.10.2", 48 | "tslint": "^6.1.3", 49 | "tslint-config-prettier": "^1.18.0", 50 | "typescript": "^3.9.7" 51 | }, 52 | "scripts": { 53 | "test": "mocha -r ts-node/register tests/**/*.test.ts --timeout 10000", 54 | "coverage": "nyc -r lcov -e .ts -x \"*.test.ts\" npm run test", 55 | "build": "tsc", 56 | "format": "prettier --write \\\\\\\"lib/**/*.ts\\\\\\\"", 57 | "lint": "tslint -p tsconfig.json", 58 | "prepublishOnly": "npm run test", 59 | "prepare": "npm run build" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /tests/UKCovid19.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, it } from "mocha"; 2 | import assert from "assert"; 3 | 4 | import Cov19API from "../lib"; 5 | import type { StructureType, FiltersType } from "../lib/UKCovid19"; 6 | 7 | 8 | const queryFilters: FiltersType = [ 9 | 'areaType=ltla', 10 | 'areaName=adur' 11 | ]; 12 | 13 | const queryStructure: StructureType = { 14 | "name": "areaName", 15 | "date": "date", 16 | "newCases": "newCasesBySpecimenDate" 17 | }; 18 | 19 | 20 | describe("Cov19API", () => { 21 | 22 | const api = new Cov19API({filters: queryFilters, structure: queryStructure}); 23 | 24 | describe('#apiParams', () => { 25 | 26 | it('apiParams integrity', () => { 27 | 28 | const apiParams = { 29 | "filters": queryFilters.join(";"), 30 | "structure": JSON.stringify(queryStructure), 31 | } 32 | 33 | assert.deepEqual(api.apiParams, apiParams); 34 | }); 35 | 36 | }); 37 | 38 | 39 | describe('#lastUpdate', () => { 40 | 41 | it('lastUpdate integrity', async () => { 42 | 43 | const timestamp = await api.lastUpdate(); 44 | 45 | assert.strictEqual(timestamp.indexOf("Z") > -1, true, timestamp) 46 | 47 | }); 48 | 49 | }); 50 | 51 | 52 | describe('#head', () => { 53 | 54 | it('head', async () => { 55 | 56 | const data = await api.head(); 57 | 58 | assert.strictEqual("content-location" in data, true); 59 | 60 | }); 61 | }); 62 | 63 | 64 | describe('#getJSON', () => { 65 | 66 | it('JSON integrity', async () => { 67 | const jsonData = await api.getJSON(); 68 | 69 | assert.strictEqual(typeof jsonData, "object"); 70 | assert.strictEqual("data" in jsonData, true); 71 | assert.strictEqual("lastUpdate" in jsonData, true); 72 | assert.strictEqual("length" in jsonData, true); 73 | assert.strictEqual("totalPages" in jsonData, true); 74 | 75 | const lastUpdate = await api.lastUpdate(); 76 | assert.strictEqual( 77 | jsonData.lastUpdate, 78 | lastUpdate, 79 | `${jsonData.lastUpdate} !== ${lastUpdate}` 80 | ); 81 | assert.equal(jsonData.totalPages, 1); 82 | assert.strictEqual(jsonData.data.length > 10, true); 83 | 84 | // Test keys 85 | for (const key in queryStructure) { 86 | if (!queryStructure.hasOwnProperty(key)) continue; 87 | 88 | assert.strictEqual( 89 | key in jsonData.data[0], 90 | true, 91 | `${key} not found.` 92 | ); 93 | } 94 | 95 | }); 96 | 97 | }); 98 | 99 | 100 | describe('#getCSV', async () => { 101 | 102 | it('CSV integrity', async () => { 103 | 104 | const csvData = await api.getCSV(); 105 | 106 | assert.strictEqual(typeof csvData, "string"); 107 | 108 | assert.strictEqual( 109 | csvData.split("\n").length > 10, 110 | true 111 | ); 112 | 113 | assert.strictEqual( 114 | csvData 115 | .split("\n")[0] 116 | .trim(), 117 | Object.keys(queryStructure) 118 | .join(","), 119 | ); 120 | 121 | }); 122 | 123 | }); 124 | 125 | 126 | describe('#latestBy', async () => { 127 | 128 | it('latestBy integrity', async () => { 129 | 130 | const apiLatestBy = new Cov19API({ 131 | filters: queryFilters, 132 | structure: queryStructure, 133 | latestBy: "newCasesBySpecimenDate" 134 | }); 135 | 136 | const jsonLatestData = await apiLatestBy.getJSON(); 137 | 138 | assert.strictEqual(typeof jsonLatestData, "object"); 139 | 140 | assert.strictEqual("data" in jsonLatestData, true); 141 | assert.strictEqual("lastUpdate" in jsonLatestData, true); 142 | assert.strictEqual("length" in jsonLatestData, true); 143 | assert.strictEqual("totalPages" in jsonLatestData, true); 144 | 145 | assert.strictEqual(jsonLatestData.lastUpdate, await api.lastUpdate()); 146 | assert.equal(jsonLatestData.totalPages, 1); 147 | assert.equal(jsonLatestData.data.length, 1); 148 | 149 | for (const key in queryStructure) { 150 | if (!queryStructure.hasOwnProperty(key)) continue; 151 | 152 | assert.strictEqual( 153 | key in jsonLatestData.data[0], 154 | true, 155 | `${key} not found.` 156 | ); 157 | } 158 | 159 | }); 160 | 161 | it('response lengths are equal', async () => { 162 | const csvData = await api.getCSV(); 163 | const jsonData = await api.getJSON(); 164 | const csvHeaderLength = 1; 165 | 166 | assert.equal( 167 | jsonData.data.length, 168 | csvData 169 | .trim() 170 | .split("\n") 171 | .slice(csvHeaderLength) 172 | .length 173 | ) 174 | 175 | }); 176 | 177 | }); 178 | 179 | describe('#options', async () => { 180 | 181 | it('options integrity', async () => { 182 | const options = await Cov19API.options(); 183 | 184 | assert.strictEqual("servers" in options, true); 185 | assert.strictEqual(options.servers[0].url, Cov19API.endpoint) 186 | }); 187 | 188 | }); 189 | 190 | }); 191 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": [ 3 | "node_modules", 4 | "dist" 5 | ], 6 | "include": [ 7 | "lib" 8 | ], 9 | "compilerOptions": { 10 | "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ 11 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 12 | "lib": [ 13 | "ES2015", 14 | "dom" 15 | ], /* Specify library files to be included in the compilation. */ 16 | "allowJs": true, /* Allow javascript files to be compiled. */ 17 | "checkJs": true, /* Report errors in .js files. */ 18 | "declaration": true, /* Generates corresponding '.d.ts' file. */ 19 | "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 20 | "sourceMap": true, /* Generates corresponding '.map' file. */ 21 | "outDir": "dist", /* Redirect output structure to the directory. */ 22 | "rootDir": ".", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 23 | "removeComments": true, /* Do not emit comments to output. */ 24 | "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true, /* Enable all strict type-checking options. */ 29 | "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | 31 | /* Module Resolution Options */ 32 | "baseUrl": "lib", /* Base directory to resolve non-absolute module names. */ 33 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 34 | 35 | /* Advanced Options */ 36 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 37 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint:recommended", "tslint-config-prettier"] 3 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.10.4": 6 | version "7.10.4" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 8 | integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/core@^7.7.5": 13 | version "7.11.0" 14 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.0.tgz#73b9c33f1658506887f767c26dae07798b30df76" 15 | integrity sha512-mkLq8nwaXmDtFmRkQ8ED/eA2CnVw4zr7dCztKalZXBvdK5EeNUAesrrwUqjQEzFgomJssayzB0aqlOsP1vGLqg== 16 | dependencies: 17 | "@babel/code-frame" "^7.10.4" 18 | "@babel/generator" "^7.11.0" 19 | "@babel/helper-module-transforms" "^7.11.0" 20 | "@babel/helpers" "^7.10.4" 21 | "@babel/parser" "^7.11.0" 22 | "@babel/template" "^7.10.4" 23 | "@babel/traverse" "^7.11.0" 24 | "@babel/types" "^7.11.0" 25 | convert-source-map "^1.7.0" 26 | debug "^4.1.0" 27 | gensync "^1.0.0-beta.1" 28 | json5 "^2.1.2" 29 | lodash "^4.17.19" 30 | resolve "^1.3.2" 31 | semver "^5.4.1" 32 | source-map "^0.5.0" 33 | 34 | "@babel/generator@^7.11.0": 35 | version "7.11.0" 36 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" 37 | integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== 38 | dependencies: 39 | "@babel/types" "^7.11.0" 40 | jsesc "^2.5.1" 41 | source-map "^0.5.0" 42 | 43 | "@babel/helper-function-name@^7.10.4": 44 | version "7.10.4" 45 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" 46 | integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== 47 | dependencies: 48 | "@babel/helper-get-function-arity" "^7.10.4" 49 | "@babel/template" "^7.10.4" 50 | "@babel/types" "^7.10.4" 51 | 52 | "@babel/helper-get-function-arity@^7.10.4": 53 | version "7.10.4" 54 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" 55 | integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== 56 | dependencies: 57 | "@babel/types" "^7.10.4" 58 | 59 | "@babel/helper-member-expression-to-functions@^7.10.4": 60 | version "7.11.0" 61 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" 62 | integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== 63 | dependencies: 64 | "@babel/types" "^7.11.0" 65 | 66 | "@babel/helper-module-imports@^7.10.4": 67 | version "7.10.4" 68 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" 69 | integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== 70 | dependencies: 71 | "@babel/types" "^7.10.4" 72 | 73 | "@babel/helper-module-transforms@^7.11.0": 74 | version "7.11.0" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" 76 | integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== 77 | dependencies: 78 | "@babel/helper-module-imports" "^7.10.4" 79 | "@babel/helper-replace-supers" "^7.10.4" 80 | "@babel/helper-simple-access" "^7.10.4" 81 | "@babel/helper-split-export-declaration" "^7.11.0" 82 | "@babel/template" "^7.10.4" 83 | "@babel/types" "^7.11.0" 84 | lodash "^4.17.19" 85 | 86 | "@babel/helper-optimise-call-expression@^7.10.4": 87 | version "7.10.4" 88 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" 89 | integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== 90 | dependencies: 91 | "@babel/types" "^7.10.4" 92 | 93 | "@babel/helper-replace-supers@^7.10.4": 94 | version "7.10.4" 95 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" 96 | integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== 97 | dependencies: 98 | "@babel/helper-member-expression-to-functions" "^7.10.4" 99 | "@babel/helper-optimise-call-expression" "^7.10.4" 100 | "@babel/traverse" "^7.10.4" 101 | "@babel/types" "^7.10.4" 102 | 103 | "@babel/helper-simple-access@^7.10.4": 104 | version "7.10.4" 105 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" 106 | integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== 107 | dependencies: 108 | "@babel/template" "^7.10.4" 109 | "@babel/types" "^7.10.4" 110 | 111 | "@babel/helper-split-export-declaration@^7.11.0": 112 | version "7.11.0" 113 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" 114 | integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== 115 | dependencies: 116 | "@babel/types" "^7.11.0" 117 | 118 | "@babel/helper-validator-identifier@^7.10.4": 119 | version "7.10.4" 120 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" 121 | integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== 122 | 123 | "@babel/helpers@^7.10.4": 124 | version "7.10.4" 125 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" 126 | integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== 127 | dependencies: 128 | "@babel/template" "^7.10.4" 129 | "@babel/traverse" "^7.10.4" 130 | "@babel/types" "^7.10.4" 131 | 132 | "@babel/highlight@^7.10.4": 133 | version "7.10.4" 134 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" 135 | integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== 136 | dependencies: 137 | "@babel/helper-validator-identifier" "^7.10.4" 138 | chalk "^2.0.0" 139 | js-tokens "^4.0.0" 140 | 141 | "@babel/parser@^7.10.4", "@babel/parser@^7.11.0": 142 | version "7.11.0" 143 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.0.tgz#a9d7e11aead25d3b422d17b2c6502c8dddef6a5d" 144 | integrity sha512-qvRvi4oI8xii8NllyEc4MDJjuZiNaRzyb7Y7lup1NqJV8TZHF4O27CcP+72WPn/k1zkgJ6WJfnIbk4jTsVAZHw== 145 | 146 | "@babel/template@^7.10.4": 147 | version "7.10.4" 148 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" 149 | integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== 150 | dependencies: 151 | "@babel/code-frame" "^7.10.4" 152 | "@babel/parser" "^7.10.4" 153 | "@babel/types" "^7.10.4" 154 | 155 | "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0": 156 | version "7.11.0" 157 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" 158 | integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== 159 | dependencies: 160 | "@babel/code-frame" "^7.10.4" 161 | "@babel/generator" "^7.11.0" 162 | "@babel/helper-function-name" "^7.10.4" 163 | "@babel/helper-split-export-declaration" "^7.11.0" 164 | "@babel/parser" "^7.11.0" 165 | "@babel/types" "^7.11.0" 166 | debug "^4.1.0" 167 | globals "^11.1.0" 168 | lodash "^4.17.19" 169 | 170 | "@babel/types@^7.10.4", "@babel/types@^7.11.0": 171 | version "7.11.0" 172 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" 173 | integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== 174 | dependencies: 175 | "@babel/helper-validator-identifier" "^7.10.4" 176 | lodash "^4.17.19" 177 | to-fast-properties "^2.0.0" 178 | 179 | "@istanbuljs/load-nyc-config@^1.0.0": 180 | version "1.1.0" 181 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 182 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 183 | dependencies: 184 | camelcase "^5.3.1" 185 | find-up "^4.1.0" 186 | get-package-type "^0.1.0" 187 | js-yaml "^3.13.1" 188 | resolve-from "^5.0.0" 189 | 190 | "@istanbuljs/schema@^0.1.2": 191 | version "0.1.2" 192 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" 193 | integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== 194 | 195 | "@types/assert@^1.5.1": 196 | version "1.5.1" 197 | resolved "https://registry.yarnpkg.com/@types/assert/-/assert-1.5.1.tgz#9c4b57935d446ffcfb31d583799c47272161e270" 198 | integrity sha512-W34OXyUAXEg0IvkMBr6WHTsvxh4veqNVJJGni/6pp13BabT/nuiEtUVkf+EYo8FIT4CQSVYfZ05XtUo5nRSWfQ== 199 | 200 | "@types/chai@^4.2.12": 201 | version "4.2.12" 202 | resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.12.tgz#6160ae454cd89dae05adc3bb97997f488b608201" 203 | integrity sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ== 204 | 205 | "@types/color-name@^1.1.1": 206 | version "1.1.1" 207 | resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" 208 | integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== 209 | 210 | "@types/mocha@^8.0.1": 211 | version "8.0.1" 212 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.0.1.tgz#813b4ff8dd9920d652e1e6b451ff1e371a4561d2" 213 | integrity sha512-TBZ6YdX7IZz4U9/mBoB8zCMRN1vXw8QdihRcZxD3I0Cv/r8XF8RggZ8WiXFws4aj5atzRR5hJrYer7g8nXwpnQ== 214 | 215 | "@types/moment@^2.13.0": 216 | version "2.13.0" 217 | resolved "https://registry.yarnpkg.com/@types/moment/-/moment-2.13.0.tgz#604ebd189bc3bc34a1548689404e61a2a4aac896" 218 | integrity sha1-YE69GJvDvDShVIaJQE5hoqSqyJY= 219 | dependencies: 220 | moment "*" 221 | 222 | "@types/xmldom@^0.1.30": 223 | version "0.1.30" 224 | resolved "https://registry.yarnpkg.com/@types/xmldom/-/xmldom-0.1.30.tgz#d36d9a7d64af4693d3b18d5dc02ce432a95be12e" 225 | integrity sha512-edqgAFXMEtVvaBZ3YnhamvmrHjoYpuxETmnb0lbTZmf/dXpAsO9ZKotUO4K2rn2SIZBDFCMOuA7fOe0H6dRZcA== 226 | 227 | aggregate-error@^3.0.0: 228 | version "3.0.1" 229 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" 230 | integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== 231 | dependencies: 232 | clean-stack "^2.0.0" 233 | indent-string "^4.0.0" 234 | 235 | ansi-colors@4.1.1: 236 | version "4.1.1" 237 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 238 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 239 | 240 | ansi-regex@^3.0.0: 241 | version "3.0.0" 242 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 243 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 244 | 245 | ansi-regex@^4.1.0: 246 | version "4.1.0" 247 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 248 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 249 | 250 | ansi-regex@^5.0.0: 251 | version "5.0.0" 252 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 253 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 254 | 255 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 256 | version "3.2.1" 257 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 258 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 259 | dependencies: 260 | color-convert "^1.9.0" 261 | 262 | ansi-styles@^4.0.0: 263 | version "4.2.1" 264 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" 265 | integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== 266 | dependencies: 267 | "@types/color-name" "^1.1.1" 268 | color-convert "^2.0.1" 269 | 270 | anymatch@~3.1.1: 271 | version "3.1.1" 272 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 273 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 274 | dependencies: 275 | normalize-path "^3.0.0" 276 | picomatch "^2.0.4" 277 | 278 | append-transform@^2.0.0: 279 | version "2.0.0" 280 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" 281 | integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== 282 | dependencies: 283 | default-require-extensions "^3.0.0" 284 | 285 | archy@^1.0.0: 286 | version "1.0.0" 287 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 288 | integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= 289 | 290 | arg@^4.1.0: 291 | version "4.1.3" 292 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 293 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 294 | 295 | argparse@^1.0.7: 296 | version "1.0.10" 297 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 298 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 299 | dependencies: 300 | sprintf-js "~1.0.2" 301 | 302 | array-filter@^1.0.0: 303 | version "1.0.0" 304 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" 305 | integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= 306 | 307 | array.prototype.map@^1.0.1: 308 | version "1.0.2" 309 | resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" 310 | integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== 311 | dependencies: 312 | define-properties "^1.1.3" 313 | es-abstract "^1.17.0-next.1" 314 | es-array-method-boxes-properly "^1.0.0" 315 | is-string "^1.0.4" 316 | 317 | assert@^2.0.0: 318 | version "2.0.0" 319 | resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" 320 | integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== 321 | dependencies: 322 | es6-object-assign "^1.1.0" 323 | is-nan "^1.2.1" 324 | object-is "^1.0.1" 325 | util "^0.12.0" 326 | 327 | assertion-error@^1.1.0: 328 | version "1.1.0" 329 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 330 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== 331 | 332 | available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: 333 | version "1.0.2" 334 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" 335 | integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== 336 | dependencies: 337 | array-filter "^1.0.0" 338 | 339 | axios@^0.19.2: 340 | version "0.19.2" 341 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" 342 | integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== 343 | dependencies: 344 | follow-redirects "1.5.10" 345 | 346 | balanced-match@^1.0.0: 347 | version "1.0.0" 348 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 349 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 350 | 351 | binary-extensions@^2.0.0: 352 | version "2.1.0" 353 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" 354 | integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== 355 | 356 | brace-expansion@^1.1.7: 357 | version "1.1.11" 358 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 359 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 360 | dependencies: 361 | balanced-match "^1.0.0" 362 | concat-map "0.0.1" 363 | 364 | braces@~3.0.2: 365 | version "3.0.2" 366 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 367 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 368 | dependencies: 369 | fill-range "^7.0.1" 370 | 371 | browser-stdout@1.3.1: 372 | version "1.3.1" 373 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 374 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 375 | 376 | buffer-from@^1.0.0: 377 | version "1.1.1" 378 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 379 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 380 | 381 | caching-transform@^4.0.0: 382 | version "4.0.0" 383 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" 384 | integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== 385 | dependencies: 386 | hasha "^5.0.0" 387 | make-dir "^3.0.0" 388 | package-hash "^4.0.0" 389 | write-file-atomic "^3.0.0" 390 | 391 | camelcase@^5.0.0, camelcase@^5.3.1: 392 | version "5.3.1" 393 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 394 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 395 | 396 | chai@^4.2.0: 397 | version "4.2.0" 398 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" 399 | integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== 400 | dependencies: 401 | assertion-error "^1.1.0" 402 | check-error "^1.0.2" 403 | deep-eql "^3.0.1" 404 | get-func-name "^2.0.0" 405 | pathval "^1.1.0" 406 | type-detect "^4.0.5" 407 | 408 | chalk@^2.0.0, chalk@^2.4.2: 409 | version "2.4.2" 410 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 411 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 412 | dependencies: 413 | ansi-styles "^3.2.1" 414 | escape-string-regexp "^1.0.5" 415 | supports-color "^5.3.0" 416 | 417 | check-error@^1.0.2: 418 | version "1.0.2" 419 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 420 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= 421 | 422 | chokidar@3.3.1: 423 | version "3.3.1" 424 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" 425 | integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== 426 | dependencies: 427 | anymatch "~3.1.1" 428 | braces "~3.0.2" 429 | glob-parent "~5.1.0" 430 | is-binary-path "~2.1.0" 431 | is-glob "~4.0.1" 432 | normalize-path "~3.0.0" 433 | readdirp "~3.3.0" 434 | optionalDependencies: 435 | fsevents "~2.1.2" 436 | 437 | clean-stack@^2.0.0: 438 | version "2.2.0" 439 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 440 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 441 | 442 | cliui@^5.0.0: 443 | version "5.0.0" 444 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 445 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 446 | dependencies: 447 | string-width "^3.1.0" 448 | strip-ansi "^5.2.0" 449 | wrap-ansi "^5.1.0" 450 | 451 | cliui@^6.0.0: 452 | version "6.0.0" 453 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" 454 | integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== 455 | dependencies: 456 | string-width "^4.2.0" 457 | strip-ansi "^6.0.0" 458 | wrap-ansi "^6.2.0" 459 | 460 | color-convert@^1.9.0: 461 | version "1.9.3" 462 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 463 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 464 | dependencies: 465 | color-name "1.1.3" 466 | 467 | color-convert@^2.0.1: 468 | version "2.0.1" 469 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 470 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 471 | dependencies: 472 | color-name "~1.1.4" 473 | 474 | color-name@1.1.3: 475 | version "1.1.3" 476 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 477 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 478 | 479 | color-name@~1.1.4: 480 | version "1.1.4" 481 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 482 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 483 | 484 | commondir@^1.0.1: 485 | version "1.0.1" 486 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 487 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 488 | 489 | concat-map@0.0.1: 490 | version "0.0.1" 491 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 492 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 493 | 494 | convert-source-map@^1.7.0: 495 | version "1.7.0" 496 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 497 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 498 | dependencies: 499 | safe-buffer "~5.1.1" 500 | 501 | cross-spawn@^7.0.0: 502 | version "7.0.3" 503 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 504 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 505 | dependencies: 506 | path-key "^3.1.0" 507 | shebang-command "^2.0.0" 508 | which "^2.0.1" 509 | 510 | debug@3.2.6: 511 | version "3.2.6" 512 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 513 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 514 | dependencies: 515 | ms "^2.1.1" 516 | 517 | debug@=3.1.0: 518 | version "3.1.0" 519 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 520 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 521 | dependencies: 522 | ms "2.0.0" 523 | 524 | debug@^4.1.0, debug@^4.1.1: 525 | version "4.1.1" 526 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 527 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 528 | dependencies: 529 | ms "^2.1.1" 530 | 531 | decamelize@^1.2.0: 532 | version "1.2.0" 533 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 534 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 535 | 536 | deep-eql@^3.0.1: 537 | version "3.0.1" 538 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 539 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== 540 | dependencies: 541 | type-detect "^4.0.0" 542 | 543 | default-require-extensions@^3.0.0: 544 | version "3.0.0" 545 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" 546 | integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== 547 | dependencies: 548 | strip-bom "^4.0.0" 549 | 550 | define-properties@^1.1.2, define-properties@^1.1.3: 551 | version "1.1.3" 552 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 553 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 554 | dependencies: 555 | object-keys "^1.0.12" 556 | 557 | diff@4.0.2, diff@^4.0.1: 558 | version "4.0.2" 559 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 560 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 561 | 562 | emoji-regex@^7.0.1: 563 | version "7.0.3" 564 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 565 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 566 | 567 | emoji-regex@^8.0.0: 568 | version "8.0.0" 569 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 570 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 571 | 572 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: 573 | version "1.17.6" 574 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" 575 | integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== 576 | dependencies: 577 | es-to-primitive "^1.2.1" 578 | function-bind "^1.1.1" 579 | has "^1.0.3" 580 | has-symbols "^1.0.1" 581 | is-callable "^1.2.0" 582 | is-regex "^1.1.0" 583 | object-inspect "^1.7.0" 584 | object-keys "^1.1.1" 585 | object.assign "^4.1.0" 586 | string.prototype.trimend "^1.0.1" 587 | string.prototype.trimstart "^1.0.1" 588 | 589 | es-array-method-boxes-properly@^1.0.0: 590 | version "1.0.0" 591 | resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" 592 | integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== 593 | 594 | es-get-iterator@^1.0.2: 595 | version "1.1.0" 596 | resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" 597 | integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== 598 | dependencies: 599 | es-abstract "^1.17.4" 600 | has-symbols "^1.0.1" 601 | is-arguments "^1.0.4" 602 | is-map "^2.0.1" 603 | is-set "^2.0.1" 604 | is-string "^1.0.5" 605 | isarray "^2.0.5" 606 | 607 | es-to-primitive@^1.2.1: 608 | version "1.2.1" 609 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 610 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 611 | dependencies: 612 | is-callable "^1.1.4" 613 | is-date-object "^1.0.1" 614 | is-symbol "^1.0.2" 615 | 616 | es6-error@^4.0.1: 617 | version "4.1.1" 618 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" 619 | integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== 620 | 621 | es6-object-assign@^1.1.0: 622 | version "1.1.0" 623 | resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" 624 | integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= 625 | 626 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 627 | version "1.0.5" 628 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 629 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 630 | 631 | esprima@^4.0.0: 632 | version "4.0.1" 633 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 634 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 635 | 636 | fill-range@^7.0.1: 637 | version "7.0.1" 638 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 639 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 640 | dependencies: 641 | to-regex-range "^5.0.1" 642 | 643 | find-cache-dir@^3.2.0: 644 | version "3.3.1" 645 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" 646 | integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== 647 | dependencies: 648 | commondir "^1.0.1" 649 | make-dir "^3.0.2" 650 | pkg-dir "^4.1.0" 651 | 652 | find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: 653 | version "4.1.0" 654 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 655 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 656 | dependencies: 657 | locate-path "^5.0.0" 658 | path-exists "^4.0.0" 659 | 660 | find-up@^3.0.0: 661 | version "3.0.0" 662 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 663 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 664 | dependencies: 665 | locate-path "^3.0.0" 666 | 667 | flat@^4.1.0: 668 | version "4.1.0" 669 | resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" 670 | integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== 671 | dependencies: 672 | is-buffer "~2.0.3" 673 | 674 | follow-redirects@1.5.10: 675 | version "1.5.10" 676 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" 677 | integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== 678 | dependencies: 679 | debug "=3.1.0" 680 | 681 | foreach@^2.0.5: 682 | version "2.0.5" 683 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 684 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 685 | 686 | foreground-child@^2.0.0: 687 | version "2.0.0" 688 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" 689 | integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== 690 | dependencies: 691 | cross-spawn "^7.0.0" 692 | signal-exit "^3.0.2" 693 | 694 | fromentries@^1.2.0: 695 | version "1.2.1" 696 | resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.2.1.tgz#64c31665630479bc993cd800d53387920dc61b4d" 697 | integrity sha512-Xu2Qh8yqYuDhQGOhD5iJGninErSfI9A3FrriD3tjUgV5VbJFeH8vfgZ9HnC6jWN80QDVNQK5vmxRAmEAp7Mevw== 698 | 699 | fs.realpath@^1.0.0: 700 | version "1.0.0" 701 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 702 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 703 | 704 | fsevents@~2.1.2: 705 | version "2.1.3" 706 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 707 | integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== 708 | 709 | function-bind@^1.1.1: 710 | version "1.1.1" 711 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 712 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 713 | 714 | gensync@^1.0.0-beta.1: 715 | version "1.0.0-beta.1" 716 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" 717 | integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== 718 | 719 | get-caller-file@^2.0.1: 720 | version "2.0.5" 721 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 722 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 723 | 724 | get-func-name@^2.0.0: 725 | version "2.0.0" 726 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 727 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= 728 | 729 | get-package-type@^0.1.0: 730 | version "0.1.0" 731 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 732 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 733 | 734 | glob-parent@~5.1.0: 735 | version "5.1.1" 736 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 737 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 738 | dependencies: 739 | is-glob "^4.0.1" 740 | 741 | glob@7.1.6, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: 742 | version "7.1.6" 743 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 744 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 745 | dependencies: 746 | fs.realpath "^1.0.0" 747 | inflight "^1.0.4" 748 | inherits "2" 749 | minimatch "^3.0.4" 750 | once "^1.3.0" 751 | path-is-absolute "^1.0.0" 752 | 753 | globals@^11.1.0: 754 | version "11.12.0" 755 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 756 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 757 | 758 | graceful-fs@^4.1.15: 759 | version "4.2.4" 760 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 761 | integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== 762 | 763 | growl@1.10.5: 764 | version "1.10.5" 765 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 766 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 767 | 768 | has-flag@^3.0.0: 769 | version "3.0.0" 770 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 771 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 772 | 773 | has-flag@^4.0.0: 774 | version "4.0.0" 775 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 776 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 777 | 778 | has-symbols@^1.0.0, has-symbols@^1.0.1: 779 | version "1.0.1" 780 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 781 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 782 | 783 | has@^1.0.3: 784 | version "1.0.3" 785 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 786 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 787 | dependencies: 788 | function-bind "^1.1.1" 789 | 790 | hasha@^5.0.0: 791 | version "5.2.0" 792 | resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.0.tgz#33094d1f69c40a4a6ac7be53d5fe3ff95a269e0c" 793 | integrity sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw== 794 | dependencies: 795 | is-stream "^2.0.0" 796 | type-fest "^0.8.0" 797 | 798 | he@1.2.0: 799 | version "1.2.0" 800 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 801 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 802 | 803 | html-escaper@^2.0.0: 804 | version "2.0.2" 805 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 806 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 807 | 808 | imurmurhash@^0.1.4: 809 | version "0.1.4" 810 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 811 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 812 | 813 | indent-string@^4.0.0: 814 | version "4.0.0" 815 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 816 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 817 | 818 | inflight@^1.0.4: 819 | version "1.0.6" 820 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 821 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 822 | dependencies: 823 | once "^1.3.0" 824 | wrappy "1" 825 | 826 | inherits@2, inherits@^2.0.3: 827 | version "2.0.4" 828 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 829 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 830 | 831 | is-arguments@^1.0.4: 832 | version "1.0.4" 833 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" 834 | integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== 835 | 836 | is-binary-path@~2.1.0: 837 | version "2.1.0" 838 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 839 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 840 | dependencies: 841 | binary-extensions "^2.0.0" 842 | 843 | is-buffer@~2.0.3: 844 | version "2.0.4" 845 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" 846 | integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== 847 | 848 | is-callable@^1.1.4, is-callable@^1.2.0: 849 | version "1.2.0" 850 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" 851 | integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== 852 | 853 | is-date-object@^1.0.1: 854 | version "1.0.2" 855 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 856 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 857 | 858 | is-extglob@^2.1.1: 859 | version "2.1.1" 860 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 861 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 862 | 863 | is-fullwidth-code-point@^2.0.0: 864 | version "2.0.0" 865 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 866 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 867 | 868 | is-fullwidth-code-point@^3.0.0: 869 | version "3.0.0" 870 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 871 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 872 | 873 | is-generator-function@^1.0.7: 874 | version "1.0.7" 875 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" 876 | integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== 877 | 878 | is-glob@^4.0.1, is-glob@~4.0.1: 879 | version "4.0.1" 880 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 881 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 882 | dependencies: 883 | is-extglob "^2.1.1" 884 | 885 | is-map@^2.0.1: 886 | version "2.0.1" 887 | resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" 888 | integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== 889 | 890 | is-nan@^1.2.1: 891 | version "1.3.0" 892 | resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz#85d1f5482f7051c2019f5673ccebdb06f3b0db03" 893 | integrity sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ== 894 | dependencies: 895 | define-properties "^1.1.3" 896 | 897 | is-number@^7.0.0: 898 | version "7.0.0" 899 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 900 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 901 | 902 | is-plain-obj@^1.1.0: 903 | version "1.1.0" 904 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 905 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 906 | 907 | is-regex@^1.1.0: 908 | version "1.1.0" 909 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" 910 | integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== 911 | dependencies: 912 | has-symbols "^1.0.1" 913 | 914 | is-set@^2.0.1: 915 | version "2.0.1" 916 | resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" 917 | integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== 918 | 919 | is-stream@^2.0.0: 920 | version "2.0.0" 921 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 922 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 923 | 924 | is-string@^1.0.4, is-string@^1.0.5: 925 | version "1.0.5" 926 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 927 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 928 | 929 | is-symbol@^1.0.2: 930 | version "1.0.3" 931 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 932 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 933 | dependencies: 934 | has-symbols "^1.0.1" 935 | 936 | is-typed-array@^1.1.3: 937 | version "1.1.3" 938 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" 939 | integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== 940 | dependencies: 941 | available-typed-arrays "^1.0.0" 942 | es-abstract "^1.17.4" 943 | foreach "^2.0.5" 944 | has-symbols "^1.0.1" 945 | 946 | is-typedarray@^1.0.0: 947 | version "1.0.0" 948 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 949 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 950 | 951 | is-windows@^1.0.2: 952 | version "1.0.2" 953 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 954 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 955 | 956 | isarray@^2.0.5: 957 | version "2.0.5" 958 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 959 | integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== 960 | 961 | isexe@^2.0.0: 962 | version "2.0.0" 963 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 964 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 965 | 966 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1: 967 | version "3.0.0" 968 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" 969 | integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== 970 | 971 | istanbul-lib-hook@^3.0.0: 972 | version "3.0.0" 973 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" 974 | integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== 975 | dependencies: 976 | append-transform "^2.0.0" 977 | 978 | istanbul-lib-instrument@^4.0.0: 979 | version "4.0.3" 980 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" 981 | integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== 982 | dependencies: 983 | "@babel/core" "^7.7.5" 984 | "@istanbuljs/schema" "^0.1.2" 985 | istanbul-lib-coverage "^3.0.0" 986 | semver "^6.3.0" 987 | 988 | istanbul-lib-processinfo@^2.0.2: 989 | version "2.0.2" 990 | resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c" 991 | integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw== 992 | dependencies: 993 | archy "^1.0.0" 994 | cross-spawn "^7.0.0" 995 | istanbul-lib-coverage "^3.0.0-alpha.1" 996 | make-dir "^3.0.0" 997 | p-map "^3.0.0" 998 | rimraf "^3.0.0" 999 | uuid "^3.3.3" 1000 | 1001 | istanbul-lib-report@^3.0.0: 1002 | version "3.0.0" 1003 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1004 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1005 | dependencies: 1006 | istanbul-lib-coverage "^3.0.0" 1007 | make-dir "^3.0.0" 1008 | supports-color "^7.1.0" 1009 | 1010 | istanbul-lib-source-maps@^4.0.0: 1011 | version "4.0.0" 1012 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" 1013 | integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== 1014 | dependencies: 1015 | debug "^4.1.1" 1016 | istanbul-lib-coverage "^3.0.0" 1017 | source-map "^0.6.1" 1018 | 1019 | istanbul-reports@^3.0.2: 1020 | version "3.0.2" 1021 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" 1022 | integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== 1023 | dependencies: 1024 | html-escaper "^2.0.0" 1025 | istanbul-lib-report "^3.0.0" 1026 | 1027 | iterate-iterator@^1.0.1: 1028 | version "1.0.1" 1029 | resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" 1030 | integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== 1031 | 1032 | iterate-value@^1.0.0: 1033 | version "1.0.2" 1034 | resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" 1035 | integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== 1036 | dependencies: 1037 | es-get-iterator "^1.0.2" 1038 | iterate-iterator "^1.0.1" 1039 | 1040 | js-tokens@^4.0.0: 1041 | version "4.0.0" 1042 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1043 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1044 | 1045 | js-yaml@3.13.1: 1046 | version "3.13.1" 1047 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 1048 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 1049 | dependencies: 1050 | argparse "^1.0.7" 1051 | esprima "^4.0.0" 1052 | 1053 | js-yaml@^3.13.1: 1054 | version "3.14.0" 1055 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" 1056 | integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== 1057 | dependencies: 1058 | argparse "^1.0.7" 1059 | esprima "^4.0.0" 1060 | 1061 | jsesc@^2.5.1: 1062 | version "2.5.2" 1063 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1064 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1065 | 1066 | json5@^2.1.2: 1067 | version "2.1.3" 1068 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" 1069 | integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== 1070 | dependencies: 1071 | minimist "^1.2.5" 1072 | 1073 | locate-path@^3.0.0: 1074 | version "3.0.0" 1075 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1076 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 1077 | dependencies: 1078 | p-locate "^3.0.0" 1079 | path-exists "^3.0.0" 1080 | 1081 | locate-path@^5.0.0: 1082 | version "5.0.0" 1083 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1084 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1085 | dependencies: 1086 | p-locate "^4.1.0" 1087 | 1088 | lodash.flattendeep@^4.4.0: 1089 | version "4.4.0" 1090 | resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" 1091 | integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= 1092 | 1093 | lodash@^4.17.19: 1094 | version "4.17.19" 1095 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" 1096 | integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== 1097 | 1098 | log-symbols@3.0.0: 1099 | version "3.0.0" 1100 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" 1101 | integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== 1102 | dependencies: 1103 | chalk "^2.4.2" 1104 | 1105 | make-dir@^3.0.0, make-dir@^3.0.2: 1106 | version "3.1.0" 1107 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1108 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1109 | dependencies: 1110 | semver "^6.0.0" 1111 | 1112 | make-error@^1.1.1: 1113 | version "1.3.6" 1114 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 1115 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 1116 | 1117 | minimatch@3.0.4, minimatch@^3.0.4: 1118 | version "3.0.4" 1119 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1120 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1121 | dependencies: 1122 | brace-expansion "^1.1.7" 1123 | 1124 | minimist@^1.2.5: 1125 | version "1.2.5" 1126 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1127 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1128 | 1129 | mocha@^8.1.0: 1130 | version "8.1.0" 1131 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.0.tgz#e651d05dcc5e42389f3412c2173ca13352a8bacd" 1132 | integrity sha512-sI0gaI1I/jPVu3KFpnveWGadfe3JNBAENqgTUPgLZAUppu725zS2mrVztzAgIR8DUscuS4doEBTx9LATC+HSeA== 1133 | dependencies: 1134 | ansi-colors "4.1.1" 1135 | browser-stdout "1.3.1" 1136 | chokidar "3.3.1" 1137 | debug "3.2.6" 1138 | diff "4.0.2" 1139 | escape-string-regexp "1.0.5" 1140 | find-up "4.1.0" 1141 | glob "7.1.6" 1142 | growl "1.10.5" 1143 | he "1.2.0" 1144 | js-yaml "3.13.1" 1145 | log-symbols "3.0.0" 1146 | minimatch "3.0.4" 1147 | ms "2.1.2" 1148 | object.assign "4.1.0" 1149 | promise.allsettled "1.0.2" 1150 | serialize-javascript "4.0.0" 1151 | strip-json-comments "3.0.1" 1152 | supports-color "7.1.0" 1153 | which "2.0.2" 1154 | wide-align "1.1.3" 1155 | workerpool "6.0.0" 1156 | yargs "13.3.2" 1157 | yargs-parser "13.1.2" 1158 | yargs-unparser "1.6.1" 1159 | 1160 | moment@*, moment@^2.27.0: 1161 | version "2.27.0" 1162 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.27.0.tgz#8bff4e3e26a236220dfe3e36de756b6ebaa0105d" 1163 | integrity sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ== 1164 | 1165 | ms@2.0.0: 1166 | version "2.0.0" 1167 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1168 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1169 | 1170 | ms@2.1.2, ms@^2.1.1: 1171 | version "2.1.2" 1172 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1173 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1174 | 1175 | node-preload@^0.2.1: 1176 | version "0.2.1" 1177 | resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" 1178 | integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== 1179 | dependencies: 1180 | process-on-spawn "^1.0.0" 1181 | 1182 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1183 | version "3.0.0" 1184 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1185 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1186 | 1187 | nyc@^15.1.0: 1188 | version "15.1.0" 1189 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" 1190 | integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== 1191 | dependencies: 1192 | "@istanbuljs/load-nyc-config" "^1.0.0" 1193 | "@istanbuljs/schema" "^0.1.2" 1194 | caching-transform "^4.0.0" 1195 | convert-source-map "^1.7.0" 1196 | decamelize "^1.2.0" 1197 | find-cache-dir "^3.2.0" 1198 | find-up "^4.1.0" 1199 | foreground-child "^2.0.0" 1200 | get-package-type "^0.1.0" 1201 | glob "^7.1.6" 1202 | istanbul-lib-coverage "^3.0.0" 1203 | istanbul-lib-hook "^3.0.0" 1204 | istanbul-lib-instrument "^4.0.0" 1205 | istanbul-lib-processinfo "^2.0.2" 1206 | istanbul-lib-report "^3.0.0" 1207 | istanbul-lib-source-maps "^4.0.0" 1208 | istanbul-reports "^3.0.2" 1209 | make-dir "^3.0.0" 1210 | node-preload "^0.2.1" 1211 | p-map "^3.0.0" 1212 | process-on-spawn "^1.0.0" 1213 | resolve-from "^5.0.0" 1214 | rimraf "^3.0.0" 1215 | signal-exit "^3.0.2" 1216 | spawn-wrap "^2.0.0" 1217 | test-exclude "^6.0.0" 1218 | yargs "^15.0.2" 1219 | 1220 | object-inspect@^1.7.0: 1221 | version "1.8.0" 1222 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" 1223 | integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== 1224 | 1225 | object-is@^1.0.1: 1226 | version "1.1.2" 1227 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" 1228 | integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== 1229 | dependencies: 1230 | define-properties "^1.1.3" 1231 | es-abstract "^1.17.5" 1232 | 1233 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 1234 | version "1.1.1" 1235 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1236 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1237 | 1238 | object.assign@4.1.0, object.assign@^4.1.0: 1239 | version "4.1.0" 1240 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1241 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 1242 | dependencies: 1243 | define-properties "^1.1.2" 1244 | function-bind "^1.1.1" 1245 | has-symbols "^1.0.0" 1246 | object-keys "^1.0.11" 1247 | 1248 | once@^1.3.0: 1249 | version "1.4.0" 1250 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1251 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1252 | dependencies: 1253 | wrappy "1" 1254 | 1255 | p-limit@^2.0.0, p-limit@^2.2.0: 1256 | version "2.3.0" 1257 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1258 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1259 | dependencies: 1260 | p-try "^2.0.0" 1261 | 1262 | p-locate@^3.0.0: 1263 | version "3.0.0" 1264 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 1265 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 1266 | dependencies: 1267 | p-limit "^2.0.0" 1268 | 1269 | p-locate@^4.1.0: 1270 | version "4.1.0" 1271 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1272 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1273 | dependencies: 1274 | p-limit "^2.2.0" 1275 | 1276 | p-map@^3.0.0: 1277 | version "3.0.0" 1278 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" 1279 | integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== 1280 | dependencies: 1281 | aggregate-error "^3.0.0" 1282 | 1283 | p-try@^2.0.0: 1284 | version "2.2.0" 1285 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1286 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1287 | 1288 | package-hash@^4.0.0: 1289 | version "4.0.0" 1290 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" 1291 | integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== 1292 | dependencies: 1293 | graceful-fs "^4.1.15" 1294 | hasha "^5.0.0" 1295 | lodash.flattendeep "^4.4.0" 1296 | release-zalgo "^1.0.0" 1297 | 1298 | path-exists@^3.0.0: 1299 | version "3.0.0" 1300 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1301 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1302 | 1303 | path-exists@^4.0.0: 1304 | version "4.0.0" 1305 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1306 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1307 | 1308 | path-is-absolute@^1.0.0: 1309 | version "1.0.1" 1310 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1311 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1312 | 1313 | path-key@^3.1.0: 1314 | version "3.1.1" 1315 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1316 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1317 | 1318 | path-parse@^1.0.6: 1319 | version "1.0.6" 1320 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 1321 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 1322 | 1323 | pathval@^1.1.0: 1324 | version "1.1.0" 1325 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" 1326 | integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= 1327 | 1328 | picomatch@^2.0.4, picomatch@^2.0.7: 1329 | version "2.2.2" 1330 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 1331 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 1332 | 1333 | pkg-dir@^4.1.0: 1334 | version "4.2.0" 1335 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 1336 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1337 | dependencies: 1338 | find-up "^4.0.0" 1339 | 1340 | process-on-spawn@^1.0.0: 1341 | version "1.0.0" 1342 | resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" 1343 | integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== 1344 | dependencies: 1345 | fromentries "^1.2.0" 1346 | 1347 | promise.allsettled@1.0.2: 1348 | version "1.0.2" 1349 | resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" 1350 | integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== 1351 | dependencies: 1352 | array.prototype.map "^1.0.1" 1353 | define-properties "^1.1.3" 1354 | es-abstract "^1.17.0-next.1" 1355 | function-bind "^1.1.1" 1356 | iterate-value "^1.0.0" 1357 | 1358 | randombytes@^2.1.0: 1359 | version "2.1.0" 1360 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1361 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1362 | dependencies: 1363 | safe-buffer "^5.1.0" 1364 | 1365 | readdirp@~3.3.0: 1366 | version "3.3.0" 1367 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" 1368 | integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== 1369 | dependencies: 1370 | picomatch "^2.0.7" 1371 | 1372 | release-zalgo@^1.0.0: 1373 | version "1.0.0" 1374 | resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" 1375 | integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= 1376 | dependencies: 1377 | es6-error "^4.0.1" 1378 | 1379 | require-directory@^2.1.1: 1380 | version "2.1.1" 1381 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1382 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1383 | 1384 | require-main-filename@^2.0.0: 1385 | version "2.0.0" 1386 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 1387 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 1388 | 1389 | resolve-from@^5.0.0: 1390 | version "5.0.0" 1391 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 1392 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1393 | 1394 | resolve@^1.3.2: 1395 | version "1.17.0" 1396 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" 1397 | integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== 1398 | dependencies: 1399 | path-parse "^1.0.6" 1400 | 1401 | rimraf@^3.0.0: 1402 | version "3.0.2" 1403 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1404 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1405 | dependencies: 1406 | glob "^7.1.3" 1407 | 1408 | safe-buffer@^5.1.0, safe-buffer@^5.1.2: 1409 | version "5.2.1" 1410 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1411 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1412 | 1413 | safe-buffer@~5.1.1: 1414 | version "5.1.2" 1415 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1416 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1417 | 1418 | semver@^5.4.1: 1419 | version "5.7.1" 1420 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1421 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1422 | 1423 | semver@^6.0.0, semver@^6.3.0: 1424 | version "6.3.0" 1425 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1426 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1427 | 1428 | serialize-javascript@4.0.0: 1429 | version "4.0.0" 1430 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 1431 | integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 1432 | dependencies: 1433 | randombytes "^2.1.0" 1434 | 1435 | set-blocking@^2.0.0: 1436 | version "2.0.0" 1437 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1438 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 1439 | 1440 | shebang-command@^2.0.0: 1441 | version "2.0.0" 1442 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1443 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1444 | dependencies: 1445 | shebang-regex "^3.0.0" 1446 | 1447 | shebang-regex@^3.0.0: 1448 | version "3.0.0" 1449 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1450 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1451 | 1452 | signal-exit@^3.0.2: 1453 | version "3.0.3" 1454 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1455 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1456 | 1457 | source-map-support@^0.5.17: 1458 | version "0.5.19" 1459 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 1460 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 1461 | dependencies: 1462 | buffer-from "^1.0.0" 1463 | source-map "^0.6.0" 1464 | 1465 | source-map@^0.5.0: 1466 | version "0.5.7" 1467 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1468 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1469 | 1470 | source-map@^0.6.0, source-map@^0.6.1: 1471 | version "0.6.1" 1472 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1473 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1474 | 1475 | spawn-wrap@^2.0.0: 1476 | version "2.0.0" 1477 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" 1478 | integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== 1479 | dependencies: 1480 | foreground-child "^2.0.0" 1481 | is-windows "^1.0.2" 1482 | make-dir "^3.0.0" 1483 | rimraf "^3.0.0" 1484 | signal-exit "^3.0.2" 1485 | which "^2.0.1" 1486 | 1487 | sprintf-js@~1.0.2: 1488 | version "1.0.3" 1489 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1490 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1491 | 1492 | "string-width@^1.0.2 || 2": 1493 | version "2.1.1" 1494 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1495 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1496 | dependencies: 1497 | is-fullwidth-code-point "^2.0.0" 1498 | strip-ansi "^4.0.0" 1499 | 1500 | string-width@^3.0.0, string-width@^3.1.0: 1501 | version "3.1.0" 1502 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1503 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 1504 | dependencies: 1505 | emoji-regex "^7.0.1" 1506 | is-fullwidth-code-point "^2.0.0" 1507 | strip-ansi "^5.1.0" 1508 | 1509 | string-width@^4.1.0, string-width@^4.2.0: 1510 | version "4.2.0" 1511 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 1512 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== 1513 | dependencies: 1514 | emoji-regex "^8.0.0" 1515 | is-fullwidth-code-point "^3.0.0" 1516 | strip-ansi "^6.0.0" 1517 | 1518 | string.prototype.trimend@^1.0.1: 1519 | version "1.0.1" 1520 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 1521 | integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== 1522 | dependencies: 1523 | define-properties "^1.1.3" 1524 | es-abstract "^1.17.5" 1525 | 1526 | string.prototype.trimstart@^1.0.1: 1527 | version "1.0.1" 1528 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 1529 | integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== 1530 | dependencies: 1531 | define-properties "^1.1.3" 1532 | es-abstract "^1.17.5" 1533 | 1534 | strip-ansi@^4.0.0: 1535 | version "4.0.0" 1536 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1537 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1538 | dependencies: 1539 | ansi-regex "^3.0.0" 1540 | 1541 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 1542 | version "5.2.0" 1543 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1544 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 1545 | dependencies: 1546 | ansi-regex "^4.1.0" 1547 | 1548 | strip-ansi@^6.0.0: 1549 | version "6.0.0" 1550 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1551 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1552 | dependencies: 1553 | ansi-regex "^5.0.0" 1554 | 1555 | strip-bom@^4.0.0: 1556 | version "4.0.0" 1557 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 1558 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 1559 | 1560 | strip-json-comments@3.0.1: 1561 | version "3.0.1" 1562 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 1563 | integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== 1564 | 1565 | supports-color@7.1.0, supports-color@^7.1.0: 1566 | version "7.1.0" 1567 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" 1568 | integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== 1569 | dependencies: 1570 | has-flag "^4.0.0" 1571 | 1572 | supports-color@^5.3.0: 1573 | version "5.5.0" 1574 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1575 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1576 | dependencies: 1577 | has-flag "^3.0.0" 1578 | 1579 | test-exclude@^6.0.0: 1580 | version "6.0.0" 1581 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 1582 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 1583 | dependencies: 1584 | "@istanbuljs/schema" "^0.1.2" 1585 | glob "^7.1.4" 1586 | minimatch "^3.0.4" 1587 | 1588 | to-fast-properties@^2.0.0: 1589 | version "2.0.0" 1590 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1591 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1592 | 1593 | to-regex-range@^5.0.1: 1594 | version "5.0.1" 1595 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1596 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1597 | dependencies: 1598 | is-number "^7.0.0" 1599 | 1600 | ts-node@^8.10.2: 1601 | version "8.10.2" 1602 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" 1603 | integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== 1604 | dependencies: 1605 | arg "^4.1.0" 1606 | diff "^4.0.1" 1607 | make-error "^1.1.1" 1608 | source-map-support "^0.5.17" 1609 | yn "3.1.1" 1610 | 1611 | type-detect@^4.0.0, type-detect@^4.0.5: 1612 | version "4.0.8" 1613 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 1614 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 1615 | 1616 | type-fest@^0.8.0: 1617 | version "0.8.1" 1618 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 1619 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1620 | 1621 | typedarray-to-buffer@^3.1.5: 1622 | version "3.1.5" 1623 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 1624 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 1625 | dependencies: 1626 | is-typedarray "^1.0.0" 1627 | 1628 | typescript@^3.9.7: 1629 | version "3.9.7" 1630 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" 1631 | integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== 1632 | 1633 | util@^0.12.0: 1634 | version "0.12.3" 1635 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" 1636 | integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== 1637 | dependencies: 1638 | inherits "^2.0.3" 1639 | is-arguments "^1.0.4" 1640 | is-generator-function "^1.0.7" 1641 | is-typed-array "^1.1.3" 1642 | safe-buffer "^5.1.2" 1643 | which-typed-array "^1.1.2" 1644 | 1645 | uuid@^3.3.3: 1646 | version "3.4.0" 1647 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 1648 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 1649 | 1650 | which-module@^2.0.0: 1651 | version "2.0.0" 1652 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 1653 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 1654 | 1655 | which-typed-array@^1.1.2: 1656 | version "1.1.2" 1657 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" 1658 | integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== 1659 | dependencies: 1660 | available-typed-arrays "^1.0.2" 1661 | es-abstract "^1.17.5" 1662 | foreach "^2.0.5" 1663 | function-bind "^1.1.1" 1664 | has-symbols "^1.0.1" 1665 | is-typed-array "^1.1.3" 1666 | 1667 | which@2.0.2, which@^2.0.1: 1668 | version "2.0.2" 1669 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1670 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1671 | dependencies: 1672 | isexe "^2.0.0" 1673 | 1674 | wide-align@1.1.3: 1675 | version "1.1.3" 1676 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1677 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1678 | dependencies: 1679 | string-width "^1.0.2 || 2" 1680 | 1681 | workerpool@6.0.0: 1682 | version "6.0.0" 1683 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" 1684 | integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== 1685 | 1686 | wrap-ansi@^5.1.0: 1687 | version "5.1.0" 1688 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 1689 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 1690 | dependencies: 1691 | ansi-styles "^3.2.0" 1692 | string-width "^3.0.0" 1693 | strip-ansi "^5.0.0" 1694 | 1695 | wrap-ansi@^6.2.0: 1696 | version "6.2.0" 1697 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 1698 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 1699 | dependencies: 1700 | ansi-styles "^4.0.0" 1701 | string-width "^4.1.0" 1702 | strip-ansi "^6.0.0" 1703 | 1704 | wrappy@1: 1705 | version "1.0.2" 1706 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1707 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1708 | 1709 | write-file-atomic@^3.0.0: 1710 | version "3.0.3" 1711 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 1712 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 1713 | dependencies: 1714 | imurmurhash "^0.1.4" 1715 | is-typedarray "^1.0.0" 1716 | signal-exit "^3.0.2" 1717 | typedarray-to-buffer "^3.1.5" 1718 | 1719 | y18n@^4.0.0: 1720 | version "4.0.0" 1721 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 1722 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 1723 | 1724 | yargs-parser@13.1.2, yargs-parser@^13.1.2: 1725 | version "13.1.2" 1726 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" 1727 | integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== 1728 | dependencies: 1729 | camelcase "^5.0.0" 1730 | decamelize "^1.2.0" 1731 | 1732 | yargs-parser@^15.0.1: 1733 | version "15.0.1" 1734 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" 1735 | integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== 1736 | dependencies: 1737 | camelcase "^5.0.0" 1738 | decamelize "^1.2.0" 1739 | 1740 | yargs-parser@^18.1.2: 1741 | version "18.1.3" 1742 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 1743 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== 1744 | dependencies: 1745 | camelcase "^5.0.0" 1746 | decamelize "^1.2.0" 1747 | 1748 | yargs-unparser@1.6.1: 1749 | version "1.6.1" 1750 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" 1751 | integrity sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA== 1752 | dependencies: 1753 | camelcase "^5.3.1" 1754 | decamelize "^1.2.0" 1755 | flat "^4.1.0" 1756 | is-plain-obj "^1.1.0" 1757 | yargs "^14.2.3" 1758 | 1759 | yargs@13.3.2: 1760 | version "13.3.2" 1761 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" 1762 | integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== 1763 | dependencies: 1764 | cliui "^5.0.0" 1765 | find-up "^3.0.0" 1766 | get-caller-file "^2.0.1" 1767 | require-directory "^2.1.1" 1768 | require-main-filename "^2.0.0" 1769 | set-blocking "^2.0.0" 1770 | string-width "^3.0.0" 1771 | which-module "^2.0.0" 1772 | y18n "^4.0.0" 1773 | yargs-parser "^13.1.2" 1774 | 1775 | yargs@^14.2.3: 1776 | version "14.2.3" 1777 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" 1778 | integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== 1779 | dependencies: 1780 | cliui "^5.0.0" 1781 | decamelize "^1.2.0" 1782 | find-up "^3.0.0" 1783 | get-caller-file "^2.0.1" 1784 | require-directory "^2.1.1" 1785 | require-main-filename "^2.0.0" 1786 | set-blocking "^2.0.0" 1787 | string-width "^3.0.0" 1788 | which-module "^2.0.0" 1789 | y18n "^4.0.0" 1790 | yargs-parser "^15.0.1" 1791 | 1792 | yargs@^15.0.2: 1793 | version "15.4.1" 1794 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" 1795 | integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== 1796 | dependencies: 1797 | cliui "^6.0.0" 1798 | decamelize "^1.2.0" 1799 | find-up "^4.1.0" 1800 | get-caller-file "^2.0.1" 1801 | require-directory "^2.1.1" 1802 | require-main-filename "^2.0.0" 1803 | set-blocking "^2.0.0" 1804 | string-width "^4.2.0" 1805 | which-module "^2.0.0" 1806 | y18n "^4.0.0" 1807 | yargs-parser "^18.1.2" 1808 | 1809 | yn@3.1.1: 1810 | version "3.1.1" 1811 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 1812 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 1813 | --------------------------------------------------------------------------------