├── .all-contributorsrc ├── .github ├── codeql │ └── codeql-config.yml └── workflows │ ├── codeql-analysis.yml │ └── nodejs.yml ├── .gitignore ├── .prettierrc ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── docs ├── assets │ ├── css │ │ └── main.css │ ├── images │ │ ├── icons.png │ │ ├── icons@2x.png │ │ ├── widgets.png │ │ └── widgets@2x.png │ └── js │ │ ├── main.js │ │ └── search.js ├── index.html └── modules.html ├── package.json ├── src ├── hasher.ts └── index.ts ├── tests └── index.spec.ts ├── tsconfig.json └── yarn.lock /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "projectName": "memoized-node-fetch", 3 | "projectOwner": "chrispanag", 4 | "repoType": "github", 5 | "repoHost": "https://github.com", 6 | "files": [ 7 | "README.md" 8 | ], 9 | "imageSize": 100, 10 | "commit": true, 11 | "commitConvention": "eslint", 12 | "contributors": [ 13 | { 14 | "login": "Nikpolik", 15 | "name": "Nikos Polykandriotis", 16 | "avatar_url": "https://avatars0.githubusercontent.com/u/9081019?v=4", 17 | "profile": "https://github.com/Nikpolik", 18 | "contributions": [ 19 | "code" 20 | ] 21 | }, 22 | { 23 | "login": "ferrybig", 24 | "name": "Fernando van Loenhout", 25 | "avatar_url": "https://avatars2.githubusercontent.com/u/1576684?v=4", 26 | "profile": "http://stackexchange.com/users/1677570/ferrybig", 27 | "contributions": [ 28 | "code" 29 | ] 30 | }, 31 | { 32 | "login": "Bonjur", 33 | "name": "Bonjour Comosava", 34 | "avatar_url": "https://avatars3.githubusercontent.com/u/12468730?v=4", 35 | "profile": "https://github.com/Bonjur", 36 | "contributions": [ 37 | "doc" 38 | ] 39 | } 40 | ], 41 | "contributorsPerLine": 7 42 | } 43 | -------------------------------------------------------------------------------- /.github/codeql/codeql-config.yml: -------------------------------------------------------------------------------- 1 | paths-ignore: 2 | - tests 3 | - docs -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL" 2 | 3 | on: 4 | push: 5 | branches: [master] 6 | pull_request: 7 | # The branches below must be a subset of the branches above 8 | branches: [master] 9 | schedule: 10 | - cron: '0 22 * * 1' 11 | 12 | jobs: 13 | analyze: 14 | name: Analyze 15 | runs-on: ubuntu-latest 16 | 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | # Override automatic language detection by changing the below list 21 | # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] 22 | language: ['typescript'] 23 | # Learn more... 24 | # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection 25 | 26 | steps: 27 | - name: Checkout repository 28 | uses: actions/checkout@v2 29 | with: 30 | # We must fetch at least the immediate parents so that if this is 31 | # a pull request then we can checkout the head. 32 | fetch-depth: 2 33 | 34 | # If this run was triggered by a pull request event, then checkout 35 | # the head of the pull request instead of the merge commit. 36 | - run: git checkout HEAD^2 37 | if: ${{ github.event_name == 'pull_request' }} 38 | 39 | # Initializes the CodeQL tools for scanning. 40 | - name: Initialize CodeQL 41 | uses: github/codeql-action/init@v1 42 | with: 43 | languages: ${{ matrix.language }} 44 | config-file: ./.github/codeql/codeql-config.yml 45 | # If you wish to specify custom queries, you can do so here or in a config file. 46 | # By default, queries listed here will override any specified in a config file. 47 | # Prefix the list here with "+" to use these queries and those in the config file. 48 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 49 | 50 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 51 | # If this step fails, then you should remove it and run the build manually (see below) 52 | - name: Autobuild 53 | uses: github/codeql-action/autobuild@v1 54 | 55 | # ℹ️ Command-line programs to run using the OS shell. 56 | # 📚 https://git.io/JvXDl 57 | 58 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 59 | # and modify them (or add more) to build your code if your project 60 | # uses a compiled language 61 | 62 | #- run: | 63 | # make bootstrap 64 | # make release 65 | 66 | - name: Perform CodeQL Analysis 67 | uses: github/codeql-action/analyze@v1 68 | -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | strategy: 10 | matrix: 11 | node-version: [12.x, 14.x, 15.x, 16.x] 12 | 13 | steps: 14 | - uses: actions/checkout@v1 15 | - name: Use Node.js ${{ matrix.node-version }} 16 | uses: actions/setup-node@v1 17 | with: 18 | node-version: ${{ matrix.node-version }} 19 | - name: yarn install, build, and test 20 | run: | 21 | yarn install 22 | yarn run build 23 | yarn run test 24 | env: 25 | CI: true 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build.info 3 | build 4 | yarn-error.log 5 | .DS_Store -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "trailingComma": "none", 4 | "tabWidth": 4, 5 | "semi": true, 6 | "singleQuote": true, 7 | "arrowParens": "always", 8 | "printWidth": 100 9 | } -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at chrispanag@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2020 Christos Panagiotakopoulos 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Memoized Node Fetch 2 | 3 | [![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-) 4 | 5 | 6 | [![npm](https://img.shields.io/npm/v/memoized-node-fetch)](https://www.npmjs.com/package/memoized-node-fetch) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/chrispanag/memoized-node-fetch/Node%20CI) ![npm](https://img.shields.io/npm/dw/memoized-node-fetch) 7 | 8 | A wrapper around [node-fetch](https://www.npmjs.com/package/node-fetch) (or any other fetch-like function) that returns a single promise until it resolves. 9 | 10 | ## Why? 11 | 12 | Sometimes, you have to interface with an API that doesn't respond fast enough. Moreover, you might perform the same request multiple times. So: 13 | 14 | * You overload the API with the same exact requests. 15 | * You wait for additional time during the API response. 16 | 17 | ### The solution 18 | 19 | Return the same promise for the same exact requests **until they resolve**. This is more useful when you interface with stateless APIs, where you just consume data. 20 | 21 | #### Scenario 22 | 23 | User (1) makes a request to the backend. The backend then performs a request to a third-party API and then before it resolves, user (2) makes another request to the backend. The backend then needs to perform the same request, as before, to the third-party API. With this package, instead of performing a new request, you can access and use the same promise for user's (1) request and have user (2) wait for the same request's resolution. This should shorten the wait time for user (2). 24 | 25 | ## Usage 26 | 27 | This API is a wrapper around node-fetch. 28 | 29 | Install the module: `$ npm i memoized-node-fetch` 30 | 31 | ```typescript 32 | import memoizedNodeFetch from 'memoized-node-fetch'; 33 | 34 | const fetch = memoizedNodeFetch(); 35 | 36 | (async () => { 37 | const fetch1 = fetch('https://jsonplaceholder.typicode.com/todos/1'); 38 | const fetch2 = fetch('https://jsonplaceholder.typicode.com/todos/1'); 39 | 40 | // This should return true because both requests return the same promise. 41 | console.log(fetch1 === fetch2); 42 | 43 | const res1 = await fetch1; 44 | const res2 = await fetch2; 45 | 46 | console.log(await res1.json()); 47 | console.log(await res2.json()); 48 | })(); 49 | ``` 50 | 51 | ### FAQ 52 | 53 | #### Is this a data cache? 54 | 55 | No. This package only caches the promise until it resolves. After the promise resolves, it is removed from the cache, along with the data returned. 56 | 57 | #### How do you know that two requests are the same? 58 | 59 | The parameters of the two fetch functions are compared (the url and the RequestOptions), the specific key used for comparing the requests is: 60 | 61 | `const key = stringToHash(url.toString() + JSON.stringify(options));` 62 | 63 | The parameters of the request are hashed and stored on a map. 64 | 65 | #### Can I use another fetch-like function? 66 | 67 | Of course, you can use your own `fetch` like this: 68 | 69 | ```typescript 70 | function myOwnFetch(url: RequestInfo, options?: RequestInit | undefined): Promise { 71 | /* bla bla bla */ 72 | } 73 | 74 | const fetch = memoizedNodeFetch(myOwnFetch); 75 | 76 | /* Use the fetch... */ 77 | ``` 78 | 79 | #### Can I have multiple promise-cache instances? 80 | 81 | Yes! Each time you run the factory function, a new promise-cache is created. 82 | 83 | #### Is this a react-query/swr equivalent? 84 | 85 | No. For most cases, you shouldn't use this library instead of react-query or swr. Rather you could use it in tandem with those libraries by substituting the fetcher function with this. swr, although it implements caching, doesn't implement it while the fetch is loading (so if you perform the request two times, you'll get two different promises). react-query now does (v3+), but comes with a bunch of other setup and features you might not need. So if what you want is a simple way to not multi-ping with identical fetches, this package is for you. 86 | 87 | #### Why you didn't use a debounce function? 88 | 89 | 1. I don't want to do request deduplication per-se but rather I want to return the same promise for each instance of the request. That won't work easily with the debounce function. 90 | 2. The debounce implementation of lodash/underscore, waits for a specific preset time before running the request. If my promise takes longer to resolve, then I wouldn't reap the benefits of it. In my case, I wait for the promise to resolve before making a duplicate request. 91 | 92 | ## Contributors ✨ 93 | 94 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 |

Nikos Polykandriotis

💻

Fernando van Loenhout

💻

Bonjour Comosava

📖
106 | 107 | 108 | 109 | 110 | 111 | 112 | This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! -------------------------------------------------------------------------------- /docs/assets/css/main.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --color-background: #fdfdfd; 3 | --color-text: #222; 4 | --color-text-aside: #707070; 5 | --color-link: #4da6ff; 6 | --color-menu-divider: #eee; 7 | --color-menu-divider-focus: #000; 8 | --color-menu-label: #707070; 9 | --color-panel: #fff; 10 | --color-panel-divider: #eee; 11 | --color-comment-tag: #707070; 12 | --color-comment-tag-text: #fff; 13 | --color-code-background: rgba(0, 0, 0, 0.04); 14 | --color-ts: #9600ff; 15 | --color-ts-interface: #647f1b; 16 | --color-ts-enum: #937210; 17 | --color-ts-class: #0672de; 18 | --color-ts-private: #707070; 19 | --color-toolbar: #fff; 20 | --color-toolbar-text: #333; 21 | } 22 | 23 | /*! normalize.css v1.1.3 | MIT License | git.io/normalize */ 24 | /* ========================================================================== 25 | * * HTML5 display definitions 26 | * * ========================================================================== */ 27 | /** 28 | * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ 29 | article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { 30 | display: block; 31 | } 32 | 33 | /** 34 | * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ 35 | audio, canvas, video { 36 | display: inline-block; 37 | *display: inline; 38 | *zoom: 1; 39 | } 40 | 41 | /** 42 | * * Prevent modern browsers from displaying `audio` without controls. 43 | * * Remove excess height in iOS 5 devices. */ 44 | audio:not([controls]) { 45 | display: none; 46 | height: 0; 47 | } 48 | 49 | /** 50 | * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. 51 | * * Known issue: no IE 6 support. */ 52 | [hidden] { 53 | display: none; 54 | } 55 | 56 | /* ========================================================================== 57 | * * Base 58 | * * ========================================================================== */ 59 | /** 60 | * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using 61 | * * `em` units. 62 | * * 2. Prevent iOS text size adjust after orientation change, without disabling 63 | * * user zoom. */ 64 | html { 65 | font-size: 100%; 66 | /* 1 */ 67 | -ms-text-size-adjust: 100%; 68 | /* 2 */ 69 | -webkit-text-size-adjust: 100%; 70 | /* 2 */ 71 | font-family: sans-serif; 72 | } 73 | 74 | /** 75 | * * Address `font-family` inconsistency between `textarea` and other form 76 | * * elements. */ 77 | button, input, select, textarea { 78 | font-family: sans-serif; 79 | } 80 | 81 | /** 82 | * * Address margins handled incorrectly in IE 6/7. */ 83 | body { 84 | margin: 0; 85 | } 86 | 87 | /* ========================================================================== 88 | * * Links 89 | * * ========================================================================== */ 90 | /** 91 | * * Address `outline` inconsistency between Chrome and other browsers. */ 92 | a:focus { 93 | outline: thin dotted; 94 | } 95 | a:active, a:hover { 96 | outline: 0; 97 | } 98 | 99 | /** 100 | * * Improve readability when focused and also mouse hovered in all browsers. */ 101 | /* ========================================================================== 102 | * * Typography 103 | * * ========================================================================== */ 104 | /** 105 | * * Address font sizes and margins set differently in IE 6/7. 106 | * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, 107 | * * and Chrome. */ 108 | h1 { 109 | font-size: 2em; 110 | margin: 0.67em 0; 111 | } 112 | 113 | h2 { 114 | font-size: 1.5em; 115 | margin: 0.83em 0; 116 | } 117 | 118 | h3 { 119 | font-size: 1.17em; 120 | margin: 1em 0; 121 | } 122 | 123 | h4, .tsd-index-panel h3 { 124 | font-size: 1em; 125 | margin: 1.33em 0; 126 | } 127 | 128 | h5 { 129 | font-size: 0.83em; 130 | margin: 1.67em 0; 131 | } 132 | 133 | h6 { 134 | font-size: 0.67em; 135 | margin: 2.33em 0; 136 | } 137 | 138 | /** 139 | * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ 140 | abbr[title] { 141 | border-bottom: 1px dotted; 142 | } 143 | 144 | /** 145 | * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ 146 | b, strong { 147 | font-weight: bold; 148 | } 149 | 150 | blockquote { 151 | margin: 1em 40px; 152 | } 153 | 154 | /** 155 | * * Address styling not present in Safari 5 and Chrome. */ 156 | dfn { 157 | font-style: italic; 158 | } 159 | 160 | /** 161 | * * Address differences between Firefox and other browsers. 162 | * * Known issue: no IE 6/7 normalization. */ 163 | hr { 164 | -moz-box-sizing: content-box; 165 | box-sizing: content-box; 166 | height: 0; 167 | } 168 | 169 | /** 170 | * * Address styling not present in IE 6/7/8/9. */ 171 | mark { 172 | background: #ff0; 173 | color: #000; 174 | } 175 | 176 | /** 177 | * * Address margins set differently in IE 6/7. */ 178 | p, pre { 179 | margin: 1em 0; 180 | } 181 | 182 | /** 183 | * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ 184 | code, kbd, pre, samp { 185 | font-family: monospace, serif; 186 | _font-family: "courier new", monospace; 187 | font-size: 1em; 188 | } 189 | 190 | /** 191 | * * Improve readability of pre-formatted text in all browsers. */ 192 | pre { 193 | white-space: pre; 194 | white-space: pre-wrap; 195 | word-wrap: break-word; 196 | } 197 | 198 | /** 199 | * * Address CSS quotes not supported in IE 6/7. */ 200 | q { 201 | quotes: none; 202 | } 203 | q:before, q:after { 204 | content: ""; 205 | content: none; 206 | } 207 | 208 | /** 209 | * * Address `quotes` property not supported in Safari 4. */ 210 | /** 211 | * * Address inconsistent and variable font size in all browsers. */ 212 | small { 213 | font-size: 80%; 214 | } 215 | 216 | /** 217 | * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ 218 | sub { 219 | font-size: 75%; 220 | line-height: 0; 221 | position: relative; 222 | vertical-align: baseline; 223 | } 224 | 225 | sup { 226 | font-size: 75%; 227 | line-height: 0; 228 | position: relative; 229 | vertical-align: baseline; 230 | top: -0.5em; 231 | } 232 | 233 | sub { 234 | bottom: -0.25em; 235 | } 236 | 237 | /* ========================================================================== 238 | * * Lists 239 | * * ========================================================================== */ 240 | /** 241 | * * Address margins set differently in IE 6/7. */ 242 | dl, menu, ol, ul { 243 | margin: 1em 0; 244 | } 245 | 246 | dd { 247 | margin: 0 0 0 40px; 248 | } 249 | 250 | /** 251 | * * Address paddings set differently in IE 6/7. */ 252 | menu, ol, ul { 253 | padding: 0 0 0 40px; 254 | } 255 | 256 | /** 257 | * * Correct list images handled incorrectly in IE 7. */ 258 | nav ul, nav ol { 259 | list-style: none; 260 | list-style-image: none; 261 | } 262 | 263 | /* ========================================================================== 264 | * * Embedded content 265 | * * ========================================================================== */ 266 | /** 267 | * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 268 | * * 2. Improve image quality when scaled in IE 7. */ 269 | img { 270 | border: 0; 271 | /* 1 */ 272 | -ms-interpolation-mode: bicubic; 273 | } 274 | 275 | /* 2 */ 276 | /** 277 | * * Correct overflow displayed oddly in IE 9. */ 278 | svg:not(:root) { 279 | overflow: hidden; 280 | } 281 | 282 | /* ========================================================================== 283 | * * Figures 284 | * * ========================================================================== */ 285 | /** 286 | * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ 287 | figure, form { 288 | margin: 0; 289 | } 290 | 291 | /* ========================================================================== 292 | * * Forms 293 | * * ========================================================================== */ 294 | /** 295 | * * Correct margin displayed oddly in IE 6/7. */ 296 | /** 297 | * * Define consistent border, margin, and padding. */ 298 | fieldset { 299 | border: 1px solid #c0c0c0; 300 | margin: 0 2px; 301 | padding: 0.35em 0.625em 0.75em; 302 | } 303 | 304 | /** 305 | * * 1. Correct color not being inherited in IE 6/7/8/9. 306 | * * 2. Correct text not wrapping in Firefox 3. 307 | * * 3. Correct alignment displayed oddly in IE 6/7. */ 308 | legend { 309 | border: 0; 310 | /* 1 */ 311 | padding: 0; 312 | white-space: normal; 313 | /* 2 */ 314 | *margin-left: -7px; 315 | } 316 | 317 | /* 3 */ 318 | /** 319 | * * 1. Correct font size not being inherited in all browsers. 320 | * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, 321 | * * and Chrome. 322 | * * 3. Improve appearance and consistency in all browsers. */ 323 | button, input, select, textarea { 324 | font-size: 100%; 325 | /* 1 */ 326 | margin: 0; 327 | /* 2 */ 328 | vertical-align: baseline; 329 | /* 3 */ 330 | *vertical-align: middle; 331 | } 332 | 333 | /* 3 */ 334 | /** 335 | * * Address Firefox 3+ setting `line-height` on `input` using `!important` in 336 | * * the UA stylesheet. */ 337 | button, input { 338 | line-height: normal; 339 | } 340 | 341 | /** 342 | * * Address inconsistent `text-transform` inheritance for `button` and `select`. 343 | * * All other form control elements do not inherit `text-transform` values. 344 | * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. 345 | * * Correct `select` style inheritance in Firefox 4+ and Opera. */ 346 | button, select { 347 | text-transform: none; 348 | } 349 | 350 | /** 351 | * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 352 | * * and `video` controls. 353 | * * 2. Correct inability to style clickable `input` types in iOS. 354 | * * 3. Improve usability and consistency of cursor style between image-type 355 | * * `input` and others. 356 | * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. 357 | * * Known issue: inner spacing remains in IE 6. */ 358 | button, html input[type=button] { 359 | -webkit-appearance: button; 360 | /* 2 */ 361 | cursor: pointer; 362 | /* 3 */ 363 | *overflow: visible; 364 | } 365 | 366 | /* 4 */ 367 | input[type=reset], input[type=submit] { 368 | -webkit-appearance: button; 369 | /* 2 */ 370 | cursor: pointer; 371 | /* 3 */ 372 | *overflow: visible; 373 | } 374 | 375 | /* 4 */ 376 | /** 377 | * * Re-set default cursor for disabled elements. */ 378 | button[disabled], html input[disabled] { 379 | cursor: default; 380 | } 381 | 382 | /** 383 | * * 1. Address box sizing set to content-box in IE 8/9. 384 | * * 2. Remove excess padding in IE 8/9. 385 | * * 3. Remove excess padding in IE 7. 386 | * * Known issue: excess padding remains in IE 6. */ 387 | input { 388 | /* 3 */ 389 | } 390 | input[type=checkbox], input[type=radio] { 391 | box-sizing: border-box; 392 | /* 1 */ 393 | padding: 0; 394 | /* 2 */ 395 | *height: 13px; 396 | /* 3 */ 397 | *width: 13px; 398 | } 399 | input[type=search] { 400 | -webkit-appearance: textfield; 401 | /* 1 */ 402 | -moz-box-sizing: content-box; 403 | -webkit-box-sizing: content-box; 404 | /* 2 */ 405 | box-sizing: content-box; 406 | } 407 | input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { 408 | -webkit-appearance: none; 409 | } 410 | 411 | /** 412 | * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 413 | * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome 414 | * * (include `-moz` to future-proof). */ 415 | /** 416 | * * Remove inner padding and search cancel button in Safari 5 and Chrome 417 | * * on OS X. */ 418 | /** 419 | * * Remove inner padding and border in Firefox 3+. */ 420 | button::-moz-focus-inner, input::-moz-focus-inner { 421 | border: 0; 422 | padding: 0; 423 | } 424 | 425 | /** 426 | * * 1. Remove default vertical scrollbar in IE 6/7/8/9. 427 | * * 2. Improve readability and alignment in all browsers. */ 428 | textarea { 429 | overflow: auto; 430 | /* 1 */ 431 | vertical-align: top; 432 | } 433 | 434 | /* 2 */ 435 | /* ========================================================================== 436 | * * Tables 437 | * * ========================================================================== */ 438 | /** 439 | * * Remove most spacing between table cells. */ 440 | table { 441 | border-collapse: collapse; 442 | border-spacing: 0; 443 | } 444 | 445 | ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, 446 | ul.tsd-descriptions > li > :first-child > :first-child, 447 | .tsd-panel > :first-child > :first-child, 448 | .col > :first-child > :first-child, 449 | .col-11 > :first-child > :first-child, 450 | .col-10 > :first-child > :first-child, 451 | .col-9 > :first-child > :first-child, 452 | .col-8 > :first-child > :first-child, 453 | .col-7 > :first-child > :first-child, 454 | .col-6 > :first-child > :first-child, 455 | .col-5 > :first-child > :first-child, 456 | .col-4 > :first-child > :first-child, 457 | .col-3 > :first-child > :first-child, 458 | .col-2 > :first-child > :first-child, 459 | .col-1 > :first-child > :first-child, 460 | ul.tsd-descriptions > li > :first-child > :first-child > :first-child, 461 | .tsd-panel > :first-child > :first-child > :first-child, 462 | .col > :first-child > :first-child > :first-child, 463 | .col-11 > :first-child > :first-child > :first-child, 464 | .col-10 > :first-child > :first-child > :first-child, 465 | .col-9 > :first-child > :first-child > :first-child, 466 | .col-8 > :first-child > :first-child > :first-child, 467 | .col-7 > :first-child > :first-child > :first-child, 468 | .col-6 > :first-child > :first-child > :first-child, 469 | .col-5 > :first-child > :first-child > :first-child, 470 | .col-4 > :first-child > :first-child > :first-child, 471 | .col-3 > :first-child > :first-child > :first-child, 472 | .col-2 > :first-child > :first-child > :first-child, 473 | .col-1 > :first-child > :first-child > :first-child { 474 | margin-top: 0; 475 | } 476 | ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, 477 | ul.tsd-descriptions > li > :last-child > :last-child, 478 | .tsd-panel > :last-child > :last-child, 479 | .col > :last-child > :last-child, 480 | .col-11 > :last-child > :last-child, 481 | .col-10 > :last-child > :last-child, 482 | .col-9 > :last-child > :last-child, 483 | .col-8 > :last-child > :last-child, 484 | .col-7 > :last-child > :last-child, 485 | .col-6 > :last-child > :last-child, 486 | .col-5 > :last-child > :last-child, 487 | .col-4 > :last-child > :last-child, 488 | .col-3 > :last-child > :last-child, 489 | .col-2 > :last-child > :last-child, 490 | .col-1 > :last-child > :last-child, 491 | ul.tsd-descriptions > li > :last-child > :last-child > :last-child, 492 | .tsd-panel > :last-child > :last-child > :last-child, 493 | .col > :last-child > :last-child > :last-child, 494 | .col-11 > :last-child > :last-child > :last-child, 495 | .col-10 > :last-child > :last-child > :last-child, 496 | .col-9 > :last-child > :last-child > :last-child, 497 | .col-8 > :last-child > :last-child > :last-child, 498 | .col-7 > :last-child > :last-child > :last-child, 499 | .col-6 > :last-child > :last-child > :last-child, 500 | .col-5 > :last-child > :last-child > :last-child, 501 | .col-4 > :last-child > :last-child > :last-child, 502 | .col-3 > :last-child > :last-child > :last-child, 503 | .col-2 > :last-child > :last-child > :last-child, 504 | .col-1 > :last-child > :last-child > :last-child { 505 | margin-bottom: 0; 506 | } 507 | 508 | .container { 509 | max-width: 1200px; 510 | margin: 0 auto; 511 | padding: 0 40px; 512 | } 513 | @media (max-width: 640px) { 514 | .container { 515 | padding: 0 20px; 516 | } 517 | } 518 | 519 | .container-main { 520 | padding-bottom: 200px; 521 | } 522 | 523 | .row { 524 | display: flex; 525 | position: relative; 526 | margin: 0 -10px; 527 | } 528 | .row:after { 529 | visibility: hidden; 530 | display: block; 531 | content: ""; 532 | clear: both; 533 | height: 0; 534 | } 535 | 536 | .col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { 537 | box-sizing: border-box; 538 | float: left; 539 | padding: 0 10px; 540 | } 541 | 542 | .col-1 { 543 | width: 8.3333333333%; 544 | } 545 | 546 | .offset-1 { 547 | margin-left: 8.3333333333%; 548 | } 549 | 550 | .col-2 { 551 | width: 16.6666666667%; 552 | } 553 | 554 | .offset-2 { 555 | margin-left: 16.6666666667%; 556 | } 557 | 558 | .col-3 { 559 | width: 25%; 560 | } 561 | 562 | .offset-3 { 563 | margin-left: 25%; 564 | } 565 | 566 | .col-4 { 567 | width: 33.3333333333%; 568 | } 569 | 570 | .offset-4 { 571 | margin-left: 33.3333333333%; 572 | } 573 | 574 | .col-5 { 575 | width: 41.6666666667%; 576 | } 577 | 578 | .offset-5 { 579 | margin-left: 41.6666666667%; 580 | } 581 | 582 | .col-6 { 583 | width: 50%; 584 | } 585 | 586 | .offset-6 { 587 | margin-left: 50%; 588 | } 589 | 590 | .col-7 { 591 | width: 58.3333333333%; 592 | } 593 | 594 | .offset-7 { 595 | margin-left: 58.3333333333%; 596 | } 597 | 598 | .col-8 { 599 | width: 66.6666666667%; 600 | } 601 | 602 | .offset-8 { 603 | margin-left: 66.6666666667%; 604 | } 605 | 606 | .col-9 { 607 | width: 75%; 608 | } 609 | 610 | .offset-9 { 611 | margin-left: 75%; 612 | } 613 | 614 | .col-10 { 615 | width: 83.3333333333%; 616 | } 617 | 618 | .offset-10 { 619 | margin-left: 83.3333333333%; 620 | } 621 | 622 | .col-11 { 623 | width: 91.6666666667%; 624 | } 625 | 626 | .offset-11 { 627 | margin-left: 91.6666666667%; 628 | } 629 | 630 | .tsd-kind-icon { 631 | display: block; 632 | position: relative; 633 | padding-left: 20px; 634 | text-indent: -20px; 635 | } 636 | .tsd-kind-icon:before { 637 | content: ""; 638 | display: inline-block; 639 | vertical-align: middle; 640 | width: 17px; 641 | height: 17px; 642 | margin: 0 3px 2px 0; 643 | background-image: url(../images/icons.png); 644 | } 645 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { 646 | .tsd-kind-icon:before { 647 | background-image: url(../images/icons@2x.png); 648 | background-size: 238px 204px; 649 | } 650 | } 651 | 652 | .tsd-signature.tsd-kind-icon:before { 653 | background-position: 0 -153px; 654 | } 655 | 656 | .tsd-kind-object-literal > .tsd-kind-icon:before { 657 | background-position: 0px -17px; 658 | } 659 | .tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { 660 | background-position: -17px -17px; 661 | } 662 | .tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { 663 | background-position: -34px -17px; 664 | } 665 | 666 | .tsd-kind-class > .tsd-kind-icon:before { 667 | background-position: 0px -34px; 668 | } 669 | .tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { 670 | background-position: -17px -34px; 671 | } 672 | .tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { 673 | background-position: -34px -34px; 674 | } 675 | 676 | .tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { 677 | background-position: 0px -51px; 678 | } 679 | .tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { 680 | background-position: -17px -51px; 681 | } 682 | .tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 683 | background-position: -34px -51px; 684 | } 685 | 686 | .tsd-kind-interface > .tsd-kind-icon:before { 687 | background-position: 0px -68px; 688 | } 689 | .tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { 690 | background-position: -17px -68px; 691 | } 692 | .tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { 693 | background-position: -34px -68px; 694 | } 695 | 696 | .tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { 697 | background-position: 0px -85px; 698 | } 699 | .tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { 700 | background-position: -17px -85px; 701 | } 702 | .tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 703 | background-position: -34px -85px; 704 | } 705 | 706 | .tsd-kind-namespace > .tsd-kind-icon:before { 707 | background-position: 0px -102px; 708 | } 709 | .tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { 710 | background-position: -17px -102px; 711 | } 712 | .tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { 713 | background-position: -34px -102px; 714 | } 715 | 716 | .tsd-kind-module > .tsd-kind-icon:before { 717 | background-position: 0px -102px; 718 | } 719 | .tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { 720 | background-position: -17px -102px; 721 | } 722 | .tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { 723 | background-position: -34px -102px; 724 | } 725 | 726 | .tsd-kind-enum > .tsd-kind-icon:before { 727 | background-position: 0px -119px; 728 | } 729 | .tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 730 | background-position: -17px -119px; 731 | } 732 | .tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { 733 | background-position: -34px -119px; 734 | } 735 | 736 | .tsd-kind-enum-member > .tsd-kind-icon:before { 737 | background-position: 0px -136px; 738 | } 739 | .tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { 740 | background-position: -17px -136px; 741 | } 742 | .tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { 743 | background-position: -34px -136px; 744 | } 745 | 746 | .tsd-kind-signature > .tsd-kind-icon:before { 747 | background-position: 0px -153px; 748 | } 749 | .tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { 750 | background-position: -17px -153px; 751 | } 752 | .tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { 753 | background-position: -34px -153px; 754 | } 755 | 756 | .tsd-kind-type-alias > .tsd-kind-icon:before { 757 | background-position: 0px -170px; 758 | } 759 | .tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { 760 | background-position: -17px -170px; 761 | } 762 | .tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { 763 | background-position: -34px -170px; 764 | } 765 | 766 | .tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { 767 | background-position: 0px -187px; 768 | } 769 | .tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { 770 | background-position: -17px -187px; 771 | } 772 | .tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 773 | background-position: -34px -187px; 774 | } 775 | 776 | .tsd-kind-variable > .tsd-kind-icon:before { 777 | background-position: -136px -0px; 778 | } 779 | .tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { 780 | background-position: -153px -0px; 781 | } 782 | .tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { 783 | background-position: -119px -0px; 784 | } 785 | .tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { 786 | background-position: -51px -0px; 787 | } 788 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 789 | background-position: -68px -0px; 790 | } 791 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 792 | background-position: -85px -0px; 793 | } 794 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 795 | background-position: -102px -0px; 796 | } 797 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 798 | background-position: -119px -0px; 799 | } 800 | .tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { 801 | background-position: -170px -0px; 802 | } 803 | .tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 804 | background-position: -187px -0px; 805 | } 806 | .tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 807 | background-position: -119px -0px; 808 | } 809 | .tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { 810 | background-position: -204px -0px; 811 | } 812 | .tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 813 | background-position: -221px -0px; 814 | } 815 | 816 | .tsd-kind-property > .tsd-kind-icon:before { 817 | background-position: -136px -0px; 818 | } 819 | .tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { 820 | background-position: -153px -0px; 821 | } 822 | .tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { 823 | background-position: -119px -0px; 824 | } 825 | .tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { 826 | background-position: -51px -0px; 827 | } 828 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 829 | background-position: -68px -0px; 830 | } 831 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 832 | background-position: -85px -0px; 833 | } 834 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 835 | background-position: -102px -0px; 836 | } 837 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 838 | background-position: -119px -0px; 839 | } 840 | .tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { 841 | background-position: -170px -0px; 842 | } 843 | .tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 844 | background-position: -187px -0px; 845 | } 846 | .tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 847 | background-position: -119px -0px; 848 | } 849 | .tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { 850 | background-position: -204px -0px; 851 | } 852 | .tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 853 | background-position: -221px -0px; 854 | } 855 | 856 | .tsd-kind-get-signature > .tsd-kind-icon:before { 857 | background-position: -136px -17px; 858 | } 859 | .tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { 860 | background-position: -153px -17px; 861 | } 862 | .tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { 863 | background-position: -119px -17px; 864 | } 865 | .tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 866 | background-position: -51px -17px; 867 | } 868 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 869 | background-position: -68px -17px; 870 | } 871 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 872 | background-position: -85px -17px; 873 | } 874 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 875 | background-position: -102px -17px; 876 | } 877 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 878 | background-position: -119px -17px; 879 | } 880 | .tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 881 | background-position: -170px -17px; 882 | } 883 | .tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 884 | background-position: -187px -17px; 885 | } 886 | .tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 887 | background-position: -119px -17px; 888 | } 889 | .tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 890 | background-position: -204px -17px; 891 | } 892 | .tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 893 | background-position: -221px -17px; 894 | } 895 | 896 | .tsd-kind-set-signature > .tsd-kind-icon:before { 897 | background-position: -136px -34px; 898 | } 899 | .tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { 900 | background-position: -153px -34px; 901 | } 902 | .tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { 903 | background-position: -119px -34px; 904 | } 905 | .tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 906 | background-position: -51px -34px; 907 | } 908 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 909 | background-position: -68px -34px; 910 | } 911 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 912 | background-position: -85px -34px; 913 | } 914 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 915 | background-position: -102px -34px; 916 | } 917 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 918 | background-position: -119px -34px; 919 | } 920 | .tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 921 | background-position: -170px -34px; 922 | } 923 | .tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 924 | background-position: -187px -34px; 925 | } 926 | .tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 927 | background-position: -119px -34px; 928 | } 929 | .tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 930 | background-position: -204px -34px; 931 | } 932 | .tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 933 | background-position: -221px -34px; 934 | } 935 | 936 | .tsd-kind-accessor > .tsd-kind-icon:before { 937 | background-position: -136px -51px; 938 | } 939 | .tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { 940 | background-position: -153px -51px; 941 | } 942 | .tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { 943 | background-position: -119px -51px; 944 | } 945 | .tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { 946 | background-position: -51px -51px; 947 | } 948 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 949 | background-position: -68px -51px; 950 | } 951 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 952 | background-position: -85px -51px; 953 | } 954 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 955 | background-position: -102px -51px; 956 | } 957 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 958 | background-position: -119px -51px; 959 | } 960 | .tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { 961 | background-position: -170px -51px; 962 | } 963 | .tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 964 | background-position: -187px -51px; 965 | } 966 | .tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 967 | background-position: -119px -51px; 968 | } 969 | .tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { 970 | background-position: -204px -51px; 971 | } 972 | .tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 973 | background-position: -221px -51px; 974 | } 975 | 976 | .tsd-kind-function > .tsd-kind-icon:before { 977 | background-position: -136px -68px; 978 | } 979 | .tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { 980 | background-position: -153px -68px; 981 | } 982 | .tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { 983 | background-position: -119px -68px; 984 | } 985 | .tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { 986 | background-position: -51px -68px; 987 | } 988 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 989 | background-position: -68px -68px; 990 | } 991 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 992 | background-position: -85px -68px; 993 | } 994 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 995 | background-position: -102px -68px; 996 | } 997 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 998 | background-position: -119px -68px; 999 | } 1000 | .tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { 1001 | background-position: -170px -68px; 1002 | } 1003 | .tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1004 | background-position: -187px -68px; 1005 | } 1006 | .tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1007 | background-position: -119px -68px; 1008 | } 1009 | .tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { 1010 | background-position: -204px -68px; 1011 | } 1012 | .tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1013 | background-position: -221px -68px; 1014 | } 1015 | 1016 | .tsd-kind-method > .tsd-kind-icon:before { 1017 | background-position: -136px -68px; 1018 | } 1019 | .tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { 1020 | background-position: -153px -68px; 1021 | } 1022 | .tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { 1023 | background-position: -119px -68px; 1024 | } 1025 | .tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { 1026 | background-position: -51px -68px; 1027 | } 1028 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1029 | background-position: -68px -68px; 1030 | } 1031 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1032 | background-position: -85px -68px; 1033 | } 1034 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1035 | background-position: -102px -68px; 1036 | } 1037 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1038 | background-position: -119px -68px; 1039 | } 1040 | .tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { 1041 | background-position: -170px -68px; 1042 | } 1043 | .tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1044 | background-position: -187px -68px; 1045 | } 1046 | .tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1047 | background-position: -119px -68px; 1048 | } 1049 | .tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { 1050 | background-position: -204px -68px; 1051 | } 1052 | .tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1053 | background-position: -221px -68px; 1054 | } 1055 | 1056 | .tsd-kind-call-signature > .tsd-kind-icon:before { 1057 | background-position: -136px -68px; 1058 | } 1059 | .tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { 1060 | background-position: -153px -68px; 1061 | } 1062 | .tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { 1063 | background-position: -119px -68px; 1064 | } 1065 | .tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 1066 | background-position: -51px -68px; 1067 | } 1068 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1069 | background-position: -68px -68px; 1070 | } 1071 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1072 | background-position: -85px -68px; 1073 | } 1074 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1075 | background-position: -102px -68px; 1076 | } 1077 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1078 | background-position: -119px -68px; 1079 | } 1080 | .tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 1081 | background-position: -170px -68px; 1082 | } 1083 | .tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1084 | background-position: -187px -68px; 1085 | } 1086 | .tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1087 | background-position: -119px -68px; 1088 | } 1089 | .tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 1090 | background-position: -204px -68px; 1091 | } 1092 | .tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1093 | background-position: -221px -68px; 1094 | } 1095 | 1096 | .tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { 1097 | background-position: -136px -85px; 1098 | } 1099 | .tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { 1100 | background-position: -153px -85px; 1101 | } 1102 | .tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 1103 | background-position: -119px -85px; 1104 | } 1105 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { 1106 | background-position: -51px -85px; 1107 | } 1108 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1109 | background-position: -68px -85px; 1110 | } 1111 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1112 | background-position: -85px -85px; 1113 | } 1114 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1115 | background-position: -102px -85px; 1116 | } 1117 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1118 | background-position: -119px -85px; 1119 | } 1120 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { 1121 | background-position: -170px -85px; 1122 | } 1123 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1124 | background-position: -187px -85px; 1125 | } 1126 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1127 | background-position: -119px -85px; 1128 | } 1129 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { 1130 | background-position: -204px -85px; 1131 | } 1132 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1133 | background-position: -221px -85px; 1134 | } 1135 | 1136 | .tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { 1137 | background-position: -136px -85px; 1138 | } 1139 | .tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { 1140 | background-position: -153px -85px; 1141 | } 1142 | .tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 1143 | background-position: -119px -85px; 1144 | } 1145 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { 1146 | background-position: -51px -85px; 1147 | } 1148 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1149 | background-position: -68px -85px; 1150 | } 1151 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1152 | background-position: -85px -85px; 1153 | } 1154 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1155 | background-position: -102px -85px; 1156 | } 1157 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1158 | background-position: -119px -85px; 1159 | } 1160 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { 1161 | background-position: -170px -85px; 1162 | } 1163 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1164 | background-position: -187px -85px; 1165 | } 1166 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1167 | background-position: -119px -85px; 1168 | } 1169 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { 1170 | background-position: -204px -85px; 1171 | } 1172 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1173 | background-position: -221px -85px; 1174 | } 1175 | 1176 | .tsd-kind-constructor > .tsd-kind-icon:before { 1177 | background-position: -136px -102px; 1178 | } 1179 | .tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { 1180 | background-position: -153px -102px; 1181 | } 1182 | .tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { 1183 | background-position: -119px -102px; 1184 | } 1185 | .tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { 1186 | background-position: -51px -102px; 1187 | } 1188 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1189 | background-position: -68px -102px; 1190 | } 1191 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1192 | background-position: -85px -102px; 1193 | } 1194 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1195 | background-position: -102px -102px; 1196 | } 1197 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1198 | background-position: -119px -102px; 1199 | } 1200 | .tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { 1201 | background-position: -170px -102px; 1202 | } 1203 | .tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1204 | background-position: -187px -102px; 1205 | } 1206 | .tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1207 | background-position: -119px -102px; 1208 | } 1209 | .tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { 1210 | background-position: -204px -102px; 1211 | } 1212 | .tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1213 | background-position: -221px -102px; 1214 | } 1215 | 1216 | .tsd-kind-constructor-signature > .tsd-kind-icon:before { 1217 | background-position: -136px -102px; 1218 | } 1219 | .tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { 1220 | background-position: -153px -102px; 1221 | } 1222 | .tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { 1223 | background-position: -119px -102px; 1224 | } 1225 | .tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 1226 | background-position: -51px -102px; 1227 | } 1228 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1229 | background-position: -68px -102px; 1230 | } 1231 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1232 | background-position: -85px -102px; 1233 | } 1234 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1235 | background-position: -102px -102px; 1236 | } 1237 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1238 | background-position: -119px -102px; 1239 | } 1240 | .tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 1241 | background-position: -170px -102px; 1242 | } 1243 | .tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1244 | background-position: -187px -102px; 1245 | } 1246 | .tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1247 | background-position: -119px -102px; 1248 | } 1249 | .tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 1250 | background-position: -204px -102px; 1251 | } 1252 | .tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1253 | background-position: -221px -102px; 1254 | } 1255 | 1256 | .tsd-kind-index-signature > .tsd-kind-icon:before { 1257 | background-position: -136px -119px; 1258 | } 1259 | .tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { 1260 | background-position: -153px -119px; 1261 | } 1262 | .tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { 1263 | background-position: -119px -119px; 1264 | } 1265 | .tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 1266 | background-position: -51px -119px; 1267 | } 1268 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1269 | background-position: -68px -119px; 1270 | } 1271 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1272 | background-position: -85px -119px; 1273 | } 1274 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1275 | background-position: -102px -119px; 1276 | } 1277 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1278 | background-position: -119px -119px; 1279 | } 1280 | .tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 1281 | background-position: -170px -119px; 1282 | } 1283 | .tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1284 | background-position: -187px -119px; 1285 | } 1286 | .tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1287 | background-position: -119px -119px; 1288 | } 1289 | .tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 1290 | background-position: -204px -119px; 1291 | } 1292 | .tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1293 | background-position: -221px -119px; 1294 | } 1295 | 1296 | .tsd-kind-event > .tsd-kind-icon:before { 1297 | background-position: -136px -136px; 1298 | } 1299 | .tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { 1300 | background-position: -153px -136px; 1301 | } 1302 | .tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { 1303 | background-position: -119px -136px; 1304 | } 1305 | .tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { 1306 | background-position: -51px -136px; 1307 | } 1308 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1309 | background-position: -68px -136px; 1310 | } 1311 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1312 | background-position: -85px -136px; 1313 | } 1314 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1315 | background-position: -102px -136px; 1316 | } 1317 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1318 | background-position: -119px -136px; 1319 | } 1320 | .tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { 1321 | background-position: -170px -136px; 1322 | } 1323 | .tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1324 | background-position: -187px -136px; 1325 | } 1326 | .tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1327 | background-position: -119px -136px; 1328 | } 1329 | .tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { 1330 | background-position: -204px -136px; 1331 | } 1332 | .tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1333 | background-position: -221px -136px; 1334 | } 1335 | 1336 | .tsd-is-static > .tsd-kind-icon:before { 1337 | background-position: -136px -153px; 1338 | } 1339 | .tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { 1340 | background-position: -153px -153px; 1341 | } 1342 | .tsd-is-static.tsd-is-private > .tsd-kind-icon:before { 1343 | background-position: -119px -153px; 1344 | } 1345 | .tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { 1346 | background-position: -51px -153px; 1347 | } 1348 | .tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1349 | background-position: -68px -153px; 1350 | } 1351 | .tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1352 | background-position: -85px -153px; 1353 | } 1354 | .tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1355 | background-position: -102px -153px; 1356 | } 1357 | .tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1358 | background-position: -119px -153px; 1359 | } 1360 | .tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { 1361 | background-position: -170px -153px; 1362 | } 1363 | .tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1364 | background-position: -187px -153px; 1365 | } 1366 | .tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1367 | background-position: -119px -153px; 1368 | } 1369 | .tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { 1370 | background-position: -204px -153px; 1371 | } 1372 | .tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1373 | background-position: -221px -153px; 1374 | } 1375 | 1376 | .tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { 1377 | background-position: -136px -170px; 1378 | } 1379 | .tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { 1380 | background-position: -153px -170px; 1381 | } 1382 | .tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { 1383 | background-position: -119px -170px; 1384 | } 1385 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { 1386 | background-position: -51px -170px; 1387 | } 1388 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1389 | background-position: -68px -170px; 1390 | } 1391 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1392 | background-position: -85px -170px; 1393 | } 1394 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1395 | background-position: -102px -170px; 1396 | } 1397 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1398 | background-position: -119px -170px; 1399 | } 1400 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { 1401 | background-position: -170px -170px; 1402 | } 1403 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1404 | background-position: -187px -170px; 1405 | } 1406 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1407 | background-position: -119px -170px; 1408 | } 1409 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { 1410 | background-position: -204px -170px; 1411 | } 1412 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1413 | background-position: -221px -170px; 1414 | } 1415 | 1416 | .tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { 1417 | background-position: -136px -170px; 1418 | } 1419 | .tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { 1420 | background-position: -153px -170px; 1421 | } 1422 | .tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { 1423 | background-position: -119px -170px; 1424 | } 1425 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { 1426 | background-position: -51px -170px; 1427 | } 1428 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1429 | background-position: -68px -170px; 1430 | } 1431 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1432 | background-position: -85px -170px; 1433 | } 1434 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1435 | background-position: -102px -170px; 1436 | } 1437 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1438 | background-position: -119px -170px; 1439 | } 1440 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { 1441 | background-position: -170px -170px; 1442 | } 1443 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1444 | background-position: -187px -170px; 1445 | } 1446 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1447 | background-position: -119px -170px; 1448 | } 1449 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { 1450 | background-position: -204px -170px; 1451 | } 1452 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1453 | background-position: -221px -170px; 1454 | } 1455 | 1456 | .tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { 1457 | background-position: -136px -170px; 1458 | } 1459 | .tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { 1460 | background-position: -153px -170px; 1461 | } 1462 | .tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { 1463 | background-position: -119px -170px; 1464 | } 1465 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 1466 | background-position: -51px -170px; 1467 | } 1468 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1469 | background-position: -68px -170px; 1470 | } 1471 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1472 | background-position: -85px -170px; 1473 | } 1474 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1475 | background-position: -102px -170px; 1476 | } 1477 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1478 | background-position: -119px -170px; 1479 | } 1480 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 1481 | background-position: -170px -170px; 1482 | } 1483 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1484 | background-position: -187px -170px; 1485 | } 1486 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1487 | background-position: -119px -170px; 1488 | } 1489 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 1490 | background-position: -204px -170px; 1491 | } 1492 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1493 | background-position: -221px -170px; 1494 | } 1495 | 1496 | .tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { 1497 | background-position: -136px -187px; 1498 | } 1499 | .tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { 1500 | background-position: -153px -187px; 1501 | } 1502 | .tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { 1503 | background-position: -119px -187px; 1504 | } 1505 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { 1506 | background-position: -51px -187px; 1507 | } 1508 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 1509 | background-position: -68px -187px; 1510 | } 1511 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 1512 | background-position: -85px -187px; 1513 | } 1514 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { 1515 | background-position: -102px -187px; 1516 | } 1517 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 1518 | background-position: -119px -187px; 1519 | } 1520 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { 1521 | background-position: -170px -187px; 1522 | } 1523 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 1524 | background-position: -187px -187px; 1525 | } 1526 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 1527 | background-position: -119px -187px; 1528 | } 1529 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { 1530 | background-position: -204px -187px; 1531 | } 1532 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { 1533 | background-position: -221px -187px; 1534 | } 1535 | 1536 | @keyframes fade-in { 1537 | from { 1538 | opacity: 0; 1539 | } 1540 | to { 1541 | opacity: 1; 1542 | } 1543 | } 1544 | @keyframes fade-out { 1545 | from { 1546 | opacity: 1; 1547 | visibility: visible; 1548 | } 1549 | to { 1550 | opacity: 0; 1551 | } 1552 | } 1553 | @keyframes fade-in-delayed { 1554 | 0% { 1555 | opacity: 0; 1556 | } 1557 | 33% { 1558 | opacity: 0; 1559 | } 1560 | 100% { 1561 | opacity: 1; 1562 | } 1563 | } 1564 | @keyframes fade-out-delayed { 1565 | 0% { 1566 | opacity: 1; 1567 | visibility: visible; 1568 | } 1569 | 66% { 1570 | opacity: 0; 1571 | } 1572 | 100% { 1573 | opacity: 0; 1574 | } 1575 | } 1576 | @keyframes shift-to-left { 1577 | from { 1578 | transform: translate(0, 0); 1579 | } 1580 | to { 1581 | transform: translate(-25%, 0); 1582 | } 1583 | } 1584 | @keyframes unshift-to-left { 1585 | from { 1586 | transform: translate(-25%, 0); 1587 | } 1588 | to { 1589 | transform: translate(0, 0); 1590 | } 1591 | } 1592 | @keyframes pop-in-from-right { 1593 | from { 1594 | transform: translate(100%, 0); 1595 | } 1596 | to { 1597 | transform: translate(0, 0); 1598 | } 1599 | } 1600 | @keyframes pop-out-to-right { 1601 | from { 1602 | transform: translate(0, 0); 1603 | visibility: visible; 1604 | } 1605 | to { 1606 | transform: translate(100%, 0); 1607 | } 1608 | } 1609 | body { 1610 | background: var(--color-background); 1611 | font-family: "Segoe UI", sans-serif; 1612 | font-size: 16px; 1613 | color: var(--color-text); 1614 | } 1615 | 1616 | a { 1617 | color: var(--color-link); 1618 | text-decoration: none; 1619 | } 1620 | a:hover { 1621 | text-decoration: underline; 1622 | } 1623 | 1624 | code, pre { 1625 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 1626 | padding: 0.2em; 1627 | margin: 0; 1628 | font-size: 14px; 1629 | background-color: var(--color-code-background); 1630 | } 1631 | 1632 | pre { 1633 | padding: 10px; 1634 | } 1635 | pre code { 1636 | padding: 0; 1637 | font-size: 100%; 1638 | background-color: transparent; 1639 | } 1640 | 1641 | blockquote { 1642 | margin: 1em 0; 1643 | padding-left: 1em; 1644 | border-left: 4px solid gray; 1645 | } 1646 | 1647 | .tsd-typography { 1648 | line-height: 1.333em; 1649 | } 1650 | .tsd-typography ul { 1651 | list-style: square; 1652 | padding: 0 0 0 20px; 1653 | margin: 0; 1654 | } 1655 | .tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { 1656 | font-size: 1em; 1657 | margin: 0; 1658 | } 1659 | .tsd-typography h5, .tsd-typography h6 { 1660 | font-weight: normal; 1661 | } 1662 | .tsd-typography p, .tsd-typography ul, .tsd-typography ol { 1663 | margin: 1em 0; 1664 | } 1665 | 1666 | @media (min-width: 901px) and (max-width: 1024px) { 1667 | html.default .col-content { 1668 | width: 72%; 1669 | } 1670 | html.default .col-menu { 1671 | width: 28%; 1672 | } 1673 | html.default .tsd-navigation { 1674 | padding-left: 10px; 1675 | } 1676 | } 1677 | @media (max-width: 900px) { 1678 | html.default .col-content { 1679 | float: none; 1680 | width: 100%; 1681 | } 1682 | html.default .col-menu { 1683 | position: fixed !important; 1684 | overflow: auto; 1685 | -webkit-overflow-scrolling: touch; 1686 | z-index: 1024; 1687 | top: 0 !important; 1688 | bottom: 0 !important; 1689 | left: auto !important; 1690 | right: 0 !important; 1691 | width: 100%; 1692 | padding: 20px 20px 0 0; 1693 | max-width: 450px; 1694 | visibility: hidden; 1695 | background-color: var(--color-panel); 1696 | transform: translate(100%, 0); 1697 | } 1698 | html.default .col-menu > *:last-child { 1699 | padding-bottom: 20px; 1700 | } 1701 | html.default .overlay { 1702 | content: ""; 1703 | display: block; 1704 | position: fixed; 1705 | z-index: 1023; 1706 | top: 0; 1707 | left: 0; 1708 | right: 0; 1709 | bottom: 0; 1710 | background-color: rgba(0, 0, 0, 0.75); 1711 | visibility: hidden; 1712 | } 1713 | html.default.to-has-menu .overlay { 1714 | animation: fade-in 0.4s; 1715 | } 1716 | html.default.to-has-menu header, 1717 | html.default.to-has-menu footer, 1718 | html.default.to-has-menu .col-content { 1719 | animation: shift-to-left 0.4s; 1720 | } 1721 | html.default.to-has-menu .col-menu { 1722 | animation: pop-in-from-right 0.4s; 1723 | } 1724 | html.default.from-has-menu .overlay { 1725 | animation: fade-out 0.4s; 1726 | } 1727 | html.default.from-has-menu header, 1728 | html.default.from-has-menu footer, 1729 | html.default.from-has-menu .col-content { 1730 | animation: unshift-to-left 0.4s; 1731 | } 1732 | html.default.from-has-menu .col-menu { 1733 | animation: pop-out-to-right 0.4s; 1734 | } 1735 | html.default.has-menu body { 1736 | overflow: hidden; 1737 | } 1738 | html.default.has-menu .overlay { 1739 | visibility: visible; 1740 | } 1741 | html.default.has-menu header, 1742 | html.default.has-menu footer, 1743 | html.default.has-menu .col-content { 1744 | transform: translate(-25%, 0); 1745 | } 1746 | html.default.has-menu .col-menu { 1747 | visibility: visible; 1748 | transform: translate(0, 0); 1749 | } 1750 | } 1751 | 1752 | .tsd-page-title { 1753 | padding: 70px 0 20px 0; 1754 | margin: 0 0 40px 0; 1755 | background: var(--color-panel); 1756 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); 1757 | } 1758 | .tsd-page-title h1 { 1759 | margin: 0; 1760 | } 1761 | 1762 | .tsd-breadcrumb { 1763 | margin: 0; 1764 | padding: 0; 1765 | color: var(--color-text-aside); 1766 | } 1767 | .tsd-breadcrumb a { 1768 | color: var(--color-text-aside); 1769 | text-decoration: none; 1770 | } 1771 | .tsd-breadcrumb a:hover { 1772 | text-decoration: underline; 1773 | } 1774 | .tsd-breadcrumb li { 1775 | display: inline; 1776 | } 1777 | .tsd-breadcrumb li:after { 1778 | content: " / "; 1779 | } 1780 | 1781 | html.minimal .container { 1782 | margin: 0; 1783 | } 1784 | html.minimal .container-main { 1785 | padding-top: 50px; 1786 | padding-bottom: 0; 1787 | } 1788 | html.minimal .content-wrap { 1789 | padding-left: 300px; 1790 | } 1791 | html.minimal .tsd-navigation { 1792 | position: fixed !important; 1793 | overflow: auto; 1794 | -webkit-overflow-scrolling: touch; 1795 | box-sizing: border-box; 1796 | z-index: 1; 1797 | left: 0; 1798 | top: 40px; 1799 | bottom: 0; 1800 | width: 300px; 1801 | padding: 20px; 1802 | margin: 0; 1803 | } 1804 | html.minimal .tsd-member .tsd-member { 1805 | margin-left: 0; 1806 | } 1807 | html.minimal .tsd-page-toolbar { 1808 | position: fixed; 1809 | z-index: 2; 1810 | } 1811 | html.minimal #tsd-filter .tsd-filter-group { 1812 | right: 0; 1813 | transform: none; 1814 | } 1815 | html.minimal footer { 1816 | background-color: transparent; 1817 | } 1818 | html.minimal footer .container { 1819 | padding: 0; 1820 | } 1821 | html.minimal .tsd-generator { 1822 | padding: 0; 1823 | } 1824 | @media (max-width: 900px) { 1825 | html.minimal .tsd-navigation { 1826 | display: none; 1827 | } 1828 | html.minimal .content-wrap { 1829 | padding-left: 0; 1830 | } 1831 | } 1832 | 1833 | dl.tsd-comment-tags { 1834 | overflow: hidden; 1835 | } 1836 | dl.tsd-comment-tags dt { 1837 | float: left; 1838 | padding: 1px 5px; 1839 | margin: 0 10px 0 0; 1840 | border-radius: 4px; 1841 | border: 1px solid var(--color-comment-tag); 1842 | color: var(--color-comment-tag); 1843 | font-size: 0.8em; 1844 | font-weight: normal; 1845 | } 1846 | dl.tsd-comment-tags dd { 1847 | margin: 0 0 10px 0; 1848 | } 1849 | dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { 1850 | display: table; 1851 | content: " "; 1852 | } 1853 | dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { 1854 | clear: both; 1855 | } 1856 | dl.tsd-comment-tags p { 1857 | margin: 0; 1858 | } 1859 | 1860 | .tsd-panel.tsd-comment .lead { 1861 | font-size: 1.1em; 1862 | line-height: 1.333em; 1863 | margin-bottom: 2em; 1864 | } 1865 | .tsd-panel.tsd-comment .lead:last-child { 1866 | margin-bottom: 0; 1867 | } 1868 | 1869 | .toggle-protected .tsd-is-private { 1870 | display: none; 1871 | } 1872 | 1873 | .toggle-public .tsd-is-private, 1874 | .toggle-public .tsd-is-protected, 1875 | .toggle-public .tsd-is-private-protected { 1876 | display: none; 1877 | } 1878 | 1879 | .toggle-inherited .tsd-is-inherited { 1880 | display: none; 1881 | } 1882 | 1883 | .toggle-externals .tsd-is-external { 1884 | display: none; 1885 | } 1886 | 1887 | #tsd-filter { 1888 | position: relative; 1889 | display: inline-block; 1890 | height: 40px; 1891 | vertical-align: bottom; 1892 | } 1893 | .no-filter #tsd-filter { 1894 | display: none; 1895 | } 1896 | #tsd-filter .tsd-filter-group { 1897 | display: inline-block; 1898 | height: 40px; 1899 | vertical-align: bottom; 1900 | white-space: nowrap; 1901 | } 1902 | #tsd-filter input { 1903 | display: none; 1904 | } 1905 | @media (max-width: 900px) { 1906 | #tsd-filter .tsd-filter-group { 1907 | display: block; 1908 | position: absolute; 1909 | top: 40px; 1910 | right: 20px; 1911 | height: auto; 1912 | background-color: var(--color-panel); 1913 | visibility: hidden; 1914 | transform: translate(50%, 0); 1915 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 1916 | } 1917 | .has-options #tsd-filter .tsd-filter-group { 1918 | visibility: visible; 1919 | } 1920 | .to-has-options #tsd-filter .tsd-filter-group { 1921 | animation: fade-in 0.2s; 1922 | } 1923 | .from-has-options #tsd-filter .tsd-filter-group { 1924 | animation: fade-out 0.2s; 1925 | } 1926 | #tsd-filter label, 1927 | #tsd-filter .tsd-select { 1928 | display: block; 1929 | padding-right: 20px; 1930 | } 1931 | } 1932 | 1933 | footer { 1934 | border-top: 1px solid var(--color-panel-divider); 1935 | background-color: var(--color-panel); 1936 | } 1937 | footer.with-border-bottom { 1938 | border-bottom: 1px solid var(--color-panel-divider); 1939 | } 1940 | footer .tsd-legend-group { 1941 | font-size: 0; 1942 | } 1943 | footer .tsd-legend { 1944 | display: inline-block; 1945 | width: 25%; 1946 | padding: 0; 1947 | font-size: 16px; 1948 | list-style: none; 1949 | line-height: 1.333em; 1950 | vertical-align: top; 1951 | } 1952 | @media (max-width: 900px) { 1953 | footer .tsd-legend { 1954 | width: 50%; 1955 | } 1956 | } 1957 | 1958 | .tsd-hierarchy { 1959 | list-style: square; 1960 | padding: 0 0 0 20px; 1961 | margin: 0; 1962 | } 1963 | .tsd-hierarchy .target { 1964 | font-weight: bold; 1965 | } 1966 | 1967 | .tsd-index-panel .tsd-index-content { 1968 | margin-bottom: -30px !important; 1969 | } 1970 | .tsd-index-panel .tsd-index-section { 1971 | margin-bottom: 30px !important; 1972 | } 1973 | .tsd-index-panel h3 { 1974 | margin: 0 -20px 10px -20px; 1975 | padding: 0 20px 10px 20px; 1976 | border-bottom: 1px solid var(--color-panel-divider); 1977 | } 1978 | .tsd-index-panel ul.tsd-index-list { 1979 | -webkit-column-count: 3; 1980 | -moz-column-count: 3; 1981 | -ms-column-count: 3; 1982 | -o-column-count: 3; 1983 | column-count: 3; 1984 | -webkit-column-gap: 20px; 1985 | -moz-column-gap: 20px; 1986 | -ms-column-gap: 20px; 1987 | -o-column-gap: 20px; 1988 | column-gap: 20px; 1989 | padding: 0; 1990 | list-style: none; 1991 | line-height: 1.333em; 1992 | } 1993 | @media (max-width: 900px) { 1994 | .tsd-index-panel ul.tsd-index-list { 1995 | -webkit-column-count: 1; 1996 | -moz-column-count: 1; 1997 | -ms-column-count: 1; 1998 | -o-column-count: 1; 1999 | column-count: 1; 2000 | } 2001 | } 2002 | @media (min-width: 901px) and (max-width: 1024px) { 2003 | .tsd-index-panel ul.tsd-index-list { 2004 | -webkit-column-count: 2; 2005 | -moz-column-count: 2; 2006 | -ms-column-count: 2; 2007 | -o-column-count: 2; 2008 | column-count: 2; 2009 | } 2010 | } 2011 | .tsd-index-panel ul.tsd-index-list li { 2012 | -webkit-page-break-inside: avoid; 2013 | -moz-page-break-inside: avoid; 2014 | -ms-page-break-inside: avoid; 2015 | -o-page-break-inside: avoid; 2016 | page-break-inside: avoid; 2017 | } 2018 | .tsd-index-panel a, 2019 | .tsd-index-panel .tsd-parent-kind-module a { 2020 | color: var(--color-ts); 2021 | } 2022 | .tsd-index-panel .tsd-parent-kind-interface a { 2023 | color: var(--color-ts-interface); 2024 | } 2025 | .tsd-index-panel .tsd-parent-kind-enum a { 2026 | color: var(--color-ts-enum); 2027 | } 2028 | .tsd-index-panel .tsd-parent-kind-class a { 2029 | color: var(--color-ts-class); 2030 | } 2031 | .tsd-index-panel .tsd-kind-module a { 2032 | color: var(--color-ts); 2033 | } 2034 | .tsd-index-panel .tsd-kind-interface a { 2035 | color: var(--color-ts-interface); 2036 | } 2037 | .tsd-index-panel .tsd-kind-enum a { 2038 | color: var(--color-ts-enum); 2039 | } 2040 | .tsd-index-panel .tsd-kind-class a { 2041 | color: var(--color-ts-class); 2042 | } 2043 | .tsd-index-panel .tsd-is-private a { 2044 | color: var(--color-ts-private); 2045 | } 2046 | 2047 | .tsd-flag { 2048 | display: inline-block; 2049 | padding: 1px 5px; 2050 | border-radius: 4px; 2051 | color: var(--color-comment-tag-text); 2052 | background-color: var(--color-comment-tag); 2053 | text-indent: 0; 2054 | font-size: 14px; 2055 | font-weight: normal; 2056 | } 2057 | 2058 | .tsd-anchor { 2059 | position: absolute; 2060 | top: -100px; 2061 | } 2062 | 2063 | .tsd-member { 2064 | position: relative; 2065 | } 2066 | .tsd-member .tsd-anchor + h3 { 2067 | margin-top: 0; 2068 | margin-bottom: 0; 2069 | border-bottom: none; 2070 | } 2071 | .tsd-member a[data-tsd-kind] { 2072 | color: var(--color-ts); 2073 | } 2074 | .tsd-member a[data-tsd-kind=Interface] { 2075 | color: var(--color-ts-interface); 2076 | } 2077 | .tsd-member a[data-tsd-kind=Enum] { 2078 | color: var(--color-ts-enum); 2079 | } 2080 | .tsd-member a[data-tsd-kind=Class] { 2081 | color: var(--color-ts-class); 2082 | } 2083 | .tsd-member a[data-tsd-kind=Private] { 2084 | color: var(--color-ts-private); 2085 | } 2086 | 2087 | .tsd-navigation { 2088 | margin: 0 0 0 40px; 2089 | } 2090 | .tsd-navigation a { 2091 | display: block; 2092 | padding-top: 2px; 2093 | padding-bottom: 2px; 2094 | border-left: 2px solid transparent; 2095 | color: var(--color-text); 2096 | text-decoration: none; 2097 | transition: border-left-color 0.1s; 2098 | } 2099 | .tsd-navigation a:hover { 2100 | text-decoration: underline; 2101 | } 2102 | .tsd-navigation ul { 2103 | margin: 0; 2104 | padding: 0; 2105 | list-style: none; 2106 | } 2107 | .tsd-navigation li { 2108 | padding: 0; 2109 | } 2110 | 2111 | .tsd-navigation.primary { 2112 | padding-bottom: 40px; 2113 | } 2114 | .tsd-navigation.primary a { 2115 | display: block; 2116 | padding-top: 6px; 2117 | padding-bottom: 6px; 2118 | } 2119 | .tsd-navigation.primary ul li a { 2120 | padding-left: 5px; 2121 | } 2122 | .tsd-navigation.primary ul li li a { 2123 | padding-left: 25px; 2124 | } 2125 | .tsd-navigation.primary ul li li li a { 2126 | padding-left: 45px; 2127 | } 2128 | .tsd-navigation.primary ul li li li li a { 2129 | padding-left: 65px; 2130 | } 2131 | .tsd-navigation.primary ul li li li li li a { 2132 | padding-left: 85px; 2133 | } 2134 | .tsd-navigation.primary ul li li li li li li a { 2135 | padding-left: 105px; 2136 | } 2137 | .tsd-navigation.primary > ul { 2138 | border-bottom: 1px solid var(--color-panel-divider); 2139 | } 2140 | .tsd-navigation.primary li { 2141 | border-top: 1px solid var(--color-panel-divider); 2142 | } 2143 | .tsd-navigation.primary li.current > a { 2144 | font-weight: bold; 2145 | } 2146 | .tsd-navigation.primary li.label span { 2147 | display: block; 2148 | padding: 20px 0 6px 5px; 2149 | color: var(--color-menu-label); 2150 | } 2151 | .tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { 2152 | padding-top: 20px; 2153 | } 2154 | 2155 | .tsd-navigation.secondary { 2156 | max-height: calc(100vh - 1rem - 40px); 2157 | overflow: auto; 2158 | position: -webkit-sticky; 2159 | position: sticky; 2160 | top: calc(.5rem + 40px); 2161 | transition: 0.3s; 2162 | } 2163 | .tsd-navigation.secondary.tsd-navigation--toolbar-hide { 2164 | max-height: calc(100vh - 1rem); 2165 | top: 0.5rem; 2166 | } 2167 | .tsd-navigation.secondary ul { 2168 | transition: opacity 0.2s; 2169 | } 2170 | .tsd-navigation.secondary ul li a { 2171 | padding-left: 25px; 2172 | } 2173 | .tsd-navigation.secondary ul li li a { 2174 | padding-left: 45px; 2175 | } 2176 | .tsd-navigation.secondary ul li li li a { 2177 | padding-left: 65px; 2178 | } 2179 | .tsd-navigation.secondary ul li li li li a { 2180 | padding-left: 85px; 2181 | } 2182 | .tsd-navigation.secondary ul li li li li li a { 2183 | padding-left: 105px; 2184 | } 2185 | .tsd-navigation.secondary ul li li li li li li a { 2186 | padding-left: 125px; 2187 | } 2188 | .tsd-navigation.secondary ul.current a { 2189 | border-left-color: var(--color-panel-divider); 2190 | } 2191 | .tsd-navigation.secondary li.focus > a, 2192 | .tsd-navigation.secondary ul.current li.focus > a { 2193 | border-left-color: var(--color-menu-divider-focus); 2194 | } 2195 | .tsd-navigation.secondary li.current { 2196 | margin-top: 20px; 2197 | margin-bottom: 20px; 2198 | border-left-color: var(--color-panel-divider); 2199 | } 2200 | .tsd-navigation.secondary li.current > a { 2201 | font-weight: bold; 2202 | } 2203 | 2204 | @media (min-width: 901px) { 2205 | .menu-sticky-wrap { 2206 | position: static; 2207 | } 2208 | } 2209 | 2210 | .tsd-panel { 2211 | margin: 20px 0; 2212 | padding: 20px; 2213 | background-color: var(--color-panel); 2214 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 2215 | } 2216 | .tsd-panel:empty { 2217 | display: none; 2218 | } 2219 | .tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { 2220 | margin: 1.5em -20px 10px -20px; 2221 | padding: 0 20px 10px 20px; 2222 | border-bottom: 1px solid var(--color-panel-divider); 2223 | } 2224 | .tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { 2225 | margin-bottom: 0; 2226 | border-bottom: 0; 2227 | } 2228 | .tsd-panel table { 2229 | display: block; 2230 | width: 100%; 2231 | overflow: auto; 2232 | margin-top: 10px; 2233 | word-break: normal; 2234 | word-break: keep-all; 2235 | } 2236 | .tsd-panel table th { 2237 | font-weight: bold; 2238 | } 2239 | .tsd-panel table th, .tsd-panel table td { 2240 | padding: 6px 13px; 2241 | border: 1px solid #ddd; 2242 | } 2243 | .tsd-panel table tr { 2244 | background-color: #fff; 2245 | border-top: 1px solid #ccc; 2246 | } 2247 | .tsd-panel table tr:nth-child(2n) { 2248 | background-color: #f8f8f8; 2249 | } 2250 | 2251 | .tsd-panel-group { 2252 | margin: 60px 0; 2253 | } 2254 | .tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { 2255 | padding-left: 20px; 2256 | padding-right: 20px; 2257 | } 2258 | 2259 | #tsd-search { 2260 | transition: background-color 0.2s; 2261 | } 2262 | #tsd-search .title { 2263 | position: relative; 2264 | z-index: 2; 2265 | } 2266 | #tsd-search .field { 2267 | position: absolute; 2268 | left: 0; 2269 | top: 0; 2270 | right: 40px; 2271 | height: 40px; 2272 | } 2273 | #tsd-search .field input { 2274 | box-sizing: border-box; 2275 | position: relative; 2276 | top: -50px; 2277 | z-index: 1; 2278 | width: 100%; 2279 | padding: 0 10px; 2280 | opacity: 0; 2281 | outline: 0; 2282 | border: 0; 2283 | background: transparent; 2284 | color: var(--color-text); 2285 | } 2286 | #tsd-search .field label { 2287 | position: absolute; 2288 | overflow: hidden; 2289 | right: -40px; 2290 | } 2291 | #tsd-search .field input, 2292 | #tsd-search .title { 2293 | transition: opacity 0.2s; 2294 | } 2295 | #tsd-search .results { 2296 | position: absolute; 2297 | visibility: hidden; 2298 | top: 40px; 2299 | width: 100%; 2300 | margin: 0; 2301 | padding: 0; 2302 | list-style: none; 2303 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 2304 | } 2305 | #tsd-search .results li { 2306 | padding: 0 10px; 2307 | background-color: var(--color-background); 2308 | } 2309 | #tsd-search .results li:nth-child(even) { 2310 | background-color: var(--color-panel); 2311 | } 2312 | #tsd-search .results li.state { 2313 | display: none; 2314 | } 2315 | #tsd-search .results li.current, 2316 | #tsd-search .results li:hover { 2317 | background-color: var(--color-panel-divider); 2318 | } 2319 | #tsd-search .results a { 2320 | display: block; 2321 | } 2322 | #tsd-search .results a:before { 2323 | top: 10px; 2324 | } 2325 | #tsd-search .results span.parent { 2326 | color: var(--color-text-aside); 2327 | font-weight: normal; 2328 | } 2329 | #tsd-search.has-focus { 2330 | background-color: var(--color-panel-divider); 2331 | } 2332 | #tsd-search.has-focus .field input { 2333 | top: 0; 2334 | opacity: 1; 2335 | } 2336 | #tsd-search.has-focus .title { 2337 | z-index: 0; 2338 | opacity: 0; 2339 | } 2340 | #tsd-search.has-focus .results { 2341 | visibility: visible; 2342 | } 2343 | #tsd-search.loading .results li.state.loading { 2344 | display: block; 2345 | } 2346 | #tsd-search.failure .results li.state.failure { 2347 | display: block; 2348 | } 2349 | 2350 | .tsd-signature { 2351 | margin: 0 0 1em 0; 2352 | padding: 10px; 2353 | border: 1px solid var(--color-panel-divider); 2354 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 2355 | font-size: 14px; 2356 | overflow-x: auto; 2357 | } 2358 | .tsd-signature.tsd-kind-icon { 2359 | padding-left: 30px; 2360 | } 2361 | .tsd-signature.tsd-kind-icon:before { 2362 | top: 10px; 2363 | left: 10px; 2364 | } 2365 | .tsd-panel > .tsd-signature { 2366 | margin-left: -20px; 2367 | margin-right: -20px; 2368 | border-width: 1px 0; 2369 | } 2370 | .tsd-panel > .tsd-signature.tsd-kind-icon { 2371 | padding-left: 40px; 2372 | } 2373 | .tsd-panel > .tsd-signature.tsd-kind-icon:before { 2374 | left: 20px; 2375 | } 2376 | 2377 | .tsd-signature-symbol { 2378 | color: var(--color-text-aside); 2379 | font-weight: normal; 2380 | } 2381 | 2382 | .tsd-signature-type { 2383 | font-style: italic; 2384 | font-weight: normal; 2385 | } 2386 | 2387 | .tsd-signatures { 2388 | padding: 0; 2389 | margin: 0 0 1em 0; 2390 | border: 1px solid var(--color-panel-divider); 2391 | } 2392 | .tsd-signatures .tsd-signature { 2393 | margin: 0; 2394 | border-width: 1px 0 0 0; 2395 | transition: background-color 0.1s; 2396 | } 2397 | .tsd-signatures .tsd-signature:first-child { 2398 | border-top-width: 0; 2399 | } 2400 | .tsd-signatures .tsd-signature.current { 2401 | background-color: var(--color-panel-divider); 2402 | } 2403 | .tsd-signatures.active > .tsd-signature { 2404 | cursor: pointer; 2405 | } 2406 | .tsd-panel > .tsd-signatures { 2407 | margin-left: -20px; 2408 | margin-right: -20px; 2409 | border-width: 1px 0; 2410 | } 2411 | .tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { 2412 | padding-left: 40px; 2413 | } 2414 | .tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { 2415 | left: 20px; 2416 | } 2417 | .tsd-panel > a.anchor + .tsd-signatures { 2418 | border-top-width: 0; 2419 | margin-top: -20px; 2420 | } 2421 | 2422 | ul.tsd-descriptions { 2423 | position: relative; 2424 | overflow: hidden; 2425 | padding: 0; 2426 | list-style: none; 2427 | } 2428 | ul.tsd-descriptions.active > .tsd-description { 2429 | display: none; 2430 | } 2431 | ul.tsd-descriptions.active > .tsd-description.current { 2432 | display: block; 2433 | } 2434 | ul.tsd-descriptions.active > .tsd-description.fade-in { 2435 | animation: fade-in-delayed 0.3s; 2436 | } 2437 | ul.tsd-descriptions.active > .tsd-description.fade-out { 2438 | animation: fade-out-delayed 0.3s; 2439 | position: absolute; 2440 | display: block; 2441 | top: 0; 2442 | left: 0; 2443 | right: 0; 2444 | opacity: 0; 2445 | visibility: hidden; 2446 | } 2447 | ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { 2448 | font-size: 16px; 2449 | margin: 1em 0 0.5em 0; 2450 | } 2451 | 2452 | ul.tsd-parameters, 2453 | ul.tsd-type-parameters { 2454 | list-style: square; 2455 | margin: 0; 2456 | padding-left: 20px; 2457 | } 2458 | ul.tsd-parameters > li.tsd-parameter-signature, 2459 | ul.tsd-type-parameters > li.tsd-parameter-signature { 2460 | list-style: none; 2461 | margin-left: -20px; 2462 | } 2463 | ul.tsd-parameters h5, 2464 | ul.tsd-type-parameters h5 { 2465 | font-size: 16px; 2466 | margin: 1em 0 0.5em 0; 2467 | } 2468 | ul.tsd-parameters .tsd-comment, 2469 | ul.tsd-type-parameters .tsd-comment { 2470 | margin-top: -0.5em; 2471 | } 2472 | 2473 | .tsd-sources { 2474 | font-size: 14px; 2475 | color: var(--color-text-aside); 2476 | margin: 0 0 1em 0; 2477 | } 2478 | .tsd-sources a { 2479 | color: var(--color-text-aside); 2480 | text-decoration: underline; 2481 | } 2482 | .tsd-sources ul, .tsd-sources p { 2483 | margin: 0 !important; 2484 | } 2485 | .tsd-sources ul { 2486 | list-style: none; 2487 | padding: 0; 2488 | } 2489 | 2490 | .tsd-page-toolbar { 2491 | position: fixed; 2492 | z-index: 1; 2493 | top: 0; 2494 | left: 0; 2495 | width: 100%; 2496 | height: 40px; 2497 | color: var(--color-toolbar-text); 2498 | background: var(--color-toolbar); 2499 | border-bottom: 1px solid var(--color-panel-divider); 2500 | transition: transform 0.3s linear; 2501 | } 2502 | .tsd-page-toolbar a { 2503 | color: var(--color-toolbar-text); 2504 | text-decoration: none; 2505 | } 2506 | .tsd-page-toolbar a.title { 2507 | font-weight: bold; 2508 | } 2509 | .tsd-page-toolbar a.title:hover { 2510 | text-decoration: underline; 2511 | } 2512 | .tsd-page-toolbar .table-wrap { 2513 | display: table; 2514 | width: 100%; 2515 | height: 40px; 2516 | } 2517 | .tsd-page-toolbar .table-cell { 2518 | display: table-cell; 2519 | position: relative; 2520 | white-space: nowrap; 2521 | line-height: 40px; 2522 | } 2523 | .tsd-page-toolbar .table-cell:first-child { 2524 | width: 100%; 2525 | } 2526 | 2527 | .tsd-page-toolbar--hide { 2528 | transform: translateY(-100%); 2529 | } 2530 | 2531 | .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { 2532 | content: ""; 2533 | display: inline-block; 2534 | width: 40px; 2535 | height: 40px; 2536 | margin: 0 -8px 0 0; 2537 | background-image: url(../images/widgets.png); 2538 | background-repeat: no-repeat; 2539 | text-indent: -1024px; 2540 | vertical-align: bottom; 2541 | } 2542 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { 2543 | .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { 2544 | background-image: url(../images/widgets@2x.png); 2545 | background-size: 320px 40px; 2546 | } 2547 | } 2548 | 2549 | .tsd-widget { 2550 | display: inline-block; 2551 | overflow: hidden; 2552 | opacity: 0.6; 2553 | height: 40px; 2554 | transition: opacity 0.1s, background-color 0.2s; 2555 | vertical-align: bottom; 2556 | cursor: pointer; 2557 | } 2558 | .tsd-widget:hover { 2559 | opacity: 0.8; 2560 | } 2561 | .tsd-widget.active { 2562 | opacity: 1; 2563 | background-color: var(--color-panel-divider); 2564 | } 2565 | .tsd-widget.no-caption { 2566 | width: 40px; 2567 | } 2568 | .tsd-widget.no-caption:before { 2569 | margin: 0; 2570 | } 2571 | .tsd-widget.search:before { 2572 | background-position: 0 0; 2573 | } 2574 | .tsd-widget.menu:before { 2575 | background-position: -40px 0; 2576 | } 2577 | .tsd-widget.options:before { 2578 | background-position: -80px 0; 2579 | } 2580 | .tsd-widget.options, .tsd-widget.menu { 2581 | display: none; 2582 | } 2583 | @media (max-width: 900px) { 2584 | .tsd-widget.options, .tsd-widget.menu { 2585 | display: inline-block; 2586 | } 2587 | } 2588 | input[type=checkbox] + .tsd-widget:before { 2589 | background-position: -120px 0; 2590 | } 2591 | input[type=checkbox]:checked + .tsd-widget:before { 2592 | background-position: -160px 0; 2593 | } 2594 | 2595 | .tsd-select { 2596 | position: relative; 2597 | display: inline-block; 2598 | height: 40px; 2599 | transition: opacity 0.1s, background-color 0.2s; 2600 | vertical-align: bottom; 2601 | cursor: pointer; 2602 | } 2603 | .tsd-select .tsd-select-label { 2604 | opacity: 0.6; 2605 | transition: opacity 0.2s; 2606 | } 2607 | .tsd-select .tsd-select-label:before { 2608 | background-position: -240px 0; 2609 | } 2610 | .tsd-select.active .tsd-select-label { 2611 | opacity: 0.8; 2612 | } 2613 | .tsd-select.active .tsd-select-list { 2614 | visibility: visible; 2615 | opacity: 1; 2616 | transition-delay: 0s; 2617 | } 2618 | .tsd-select .tsd-select-list { 2619 | position: absolute; 2620 | visibility: hidden; 2621 | top: 40px; 2622 | left: 0; 2623 | margin: 0; 2624 | padding: 0; 2625 | opacity: 0; 2626 | list-style: none; 2627 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 2628 | transition: visibility 0s 0.2s, opacity 0.2s; 2629 | } 2630 | .tsd-select .tsd-select-list li { 2631 | padding: 0 20px 0 0; 2632 | background-color: var(--color-background); 2633 | } 2634 | .tsd-select .tsd-select-list li:before { 2635 | background-position: 40px 0; 2636 | } 2637 | .tsd-select .tsd-select-list li:nth-child(even) { 2638 | background-color: var(--color-panel); 2639 | } 2640 | .tsd-select .tsd-select-list li:hover { 2641 | background-color: var(--color-panel-divider); 2642 | } 2643 | .tsd-select .tsd-select-list li.selected:before { 2644 | background-position: -200px 0; 2645 | } 2646 | @media (max-width: 900px) { 2647 | .tsd-select .tsd-select-list { 2648 | top: 0; 2649 | left: auto; 2650 | right: 100%; 2651 | margin-right: -5px; 2652 | } 2653 | .tsd-select .tsd-select-label:before { 2654 | background-position: -280px 0; 2655 | } 2656 | } 2657 | 2658 | img { 2659 | max-width: 100%; 2660 | } 2661 | -------------------------------------------------------------------------------- /docs/assets/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrispanag/memoized-node-fetch/db0882e4d13b5e812d0b20aaa70f40af4fcd0e38/docs/assets/images/icons.png -------------------------------------------------------------------------------- /docs/assets/images/icons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrispanag/memoized-node-fetch/db0882e4d13b5e812d0b20aaa70f40af4fcd0e38/docs/assets/images/icons@2x.png -------------------------------------------------------------------------------- /docs/assets/images/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrispanag/memoized-node-fetch/db0882e4d13b5e812d0b20aaa70f40af4fcd0e38/docs/assets/images/widgets.png -------------------------------------------------------------------------------- /docs/assets/images/widgets@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrispanag/memoized-node-fetch/db0882e4d13b5e812d0b20aaa70f40af4fcd0e38/docs/assets/images/widgets@2x.png -------------------------------------------------------------------------------- /docs/assets/js/search.js: -------------------------------------------------------------------------------- 1 | window.searchData = {"kinds":{"64":"Function","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":64,"name":"default","url":"modules.html#default","classes":"tsd-kind-function"},{"id":1,"kind":4194304,"name":"FetchFunctionType","url":"modules.html#fetchfunctiontype","classes":"tsd-kind-type-alias"},{"id":2,"kind":65536,"name":"__type","url":"modules.html#fetchfunctiontype.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"FetchFunctionType"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,9.808]],["parent/0",[]],["name/1",[1,4.7]],["parent/1",[]],["name/2",[2,9.808]],["parent/2",[1,0.259]]],"invertedIndex":[["__type",{"_index":2,"name":{"2":{}},"parent":{}}],["default",{"_index":0,"name":{"0":{}},"parent":{}}],["fetchfunctiontype",{"_index":1,"name":{"1":{}},"parent":{"2":{}}}]],"pipeline":[]}} -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | memoized-node-fetch - v1.1.4 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 |
45 |
46 | Menu 47 |
48 |
49 |
50 |
51 |
52 |
53 |

memoized-node-fetch - v1.1.4

54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | 62 |

Memoized Node Fetch

63 |
64 | 65 |

All Contributors

66 | 67 |

npm GitHub Workflow Status npm

68 |

A wrapper around node-fetch (or any other fetch-like function) that returns a single promise until it resolves.

69 | 70 |

Why?

71 |
72 |

Sometimes, you have to interface with an API that doesn't respond fast enough. Moreover, you might perform the same request multiple times. So:

73 |
    74 |
  • You overload the API with the same exact requests.
  • 75 |
  • You wait for additional time during the API response.
  • 76 |
77 | 78 |

The solution

79 |
80 |

Return the same promise for the same exact requests until they resolve. This is more useful when you interface with stateless APIs, where you just consume data.

81 | 82 |

Scenario

83 |
84 |

User (1) makes a request to the backend. The backend then performs a request to a third-party API and then before it resolves, user (2) makes another request to the backend. The backend then needs to perform the same request, as before, to the third-party API. With this package, instead of performing a new request, you can access and use the same promise for user's (1) request and have user (2) wait for the same request's resolution. This should shorten the wait time for user (2).

85 | 86 |

Usage

87 |
88 |

This API is a wrapper around node-fetch.

89 |

Install the module: $ npm i memoized-node-fetch

90 |
import memoizedNodeFetch from 'memoized-node-fetch';
 91 | 
 92 | const fetch = memoizedNodeFetch();
 93 | 
 94 | (async () => {
 95 |     const fetch1 = fetch('https://jsonplaceholder.typicode.com/todos/1');
 96 |     const fetch2 = fetch('https://jsonplaceholder.typicode.com/todos/1');
 97 | 
 98 |     // This should return true because both requests return the same promise.
 99 |     console.log(fetch1 === fetch2);
100 | 
101 |     const res1 = await fetch1;
102 |     const res2 = await fetch2;
103 | 
104 |     console.log(await res1.json());
105 |     console.log(await res2.json());
106 | })();
107 | 
108 | 109 |

FAQ

110 |
111 | 112 |

Is this a data cache?

113 |
114 |

No. This package only caches the promise until it resolves. After the promise resolves, it is removed from the cache, along with the data returned.

115 | 116 |

How do you know that two requests are the same?

117 |
118 |

The parameters of the two fetch functions are compared (the url and the RequestOptions), the specific key used for comparing the requests is:

119 |

const key = stringToHash(url.toString() + JSON.stringify(options));

120 |

The parameters of the request are hashed and stored on a map.

121 | 122 |

Can I use another fetch-like function?

123 |
124 |

Of course, you can use your own fetch like this:

125 |
function myOwnFetch(url: RequestInfo, options?: RequestInit | undefined): Promise<Response> {
126 |     /* bla bla bla */
127 | }
128 | 
129 | const fetch = memoizedNodeFetch(myOwnFetch);
130 | 
131 | /* Use the fetch... */
132 | 
133 | 134 |

Can I have multiple promise-cache instances?

135 |
136 |

Yes! Each time you run the factory function, a new promise-cache is created.

137 | 138 |

Is this a react-query/swr equivalent?

139 |
140 |

No. For most cases, you shouldn't use this library instead of react-query or swr. Rather you could use it in tandem with those libraries by substituting the fetcher function with this. Those libraries, although they implement caching, they don't implement it while the fetch is loading (so if you perform the request two times, you'll get two different promises).

141 | 142 |

Why you didn't use a debounce function?

143 |
144 |
    145 |
  1. I don't want to do request deduplication per-se but rather I want to return the same promise for each instance of the request. That won't work easily with the debounce function.
  2. 146 |
  3. The debounce implementation of lodash/underscore, waits for a specific preset time before running the request. If my promise takes longer to resolve, then I wouldn't reap the benefits of it. In my case, I wait for the promise to resolve before making a duplicate request.
  4. 147 |
148 | 149 |

Contributors ✨

150 |
151 |

Thanks goes to these wonderful people (emoji key):

152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 |

Nikos Polykandriotis

💻

Fernando van Loenhout

💻

Bonjour Comosava

📖
162 | 163 | 164 | 165 |

This project follows the all-contributors specification. Contributions of any kind welcome!

166 |
167 |
168 | 187 |
188 |
189 | 196 |
197 |

Generated using TypeDoc

198 |
199 |
200 | 201 | 202 | -------------------------------------------------------------------------------- /docs/modules.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | memoized-node-fetch - v1.1.4 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 |
45 |
46 | Menu 47 |
48 |
49 |
50 |
51 |
52 |
53 |

memoized-node-fetch - v1.1.4

54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |

Index

62 |
63 |
64 |
65 |

Type aliases

66 | 69 |
70 |
71 |

Functions

72 | 75 |
76 |
77 |
78 |
79 |
80 |

Type aliases

81 |
82 | 83 |

FetchFunctionType

84 |
FetchFunctionType: (url: RequestInfo, init?: RequestInit) => Promise<Response>
85 | 90 |
91 |

Type declaration

92 |
    93 |
  • 94 |
      95 |
    • (url: RequestInfo, init?: RequestInit): Promise<Response>
    • 96 |
    97 |
      98 |
    • 99 |

      Parameters

      100 |
        101 |
      • 102 |
        url: RequestInfo
        103 |
      • 104 |
      • 105 |
        Optional init: RequestInit
        106 |
      • 107 |
      108 |

      Returns Promise<Response>

      109 |
    • 110 |
    111 |
  • 112 |
113 |
114 |
115 |
116 |
117 |

Functions

118 |
119 | 120 |

default

121 |
    122 |
  • default(fetchFunction?: FetchFunctionType): (url: RequestInfo, options?: RequestInit, hashFunction?: HashFunction) => undefined | Promise<Response>
  • 123 |
124 |
    125 |
  • 126 | 131 |

    Parameters

    132 | 137 |

    Returns (url: RequestInfo, options?: RequestInit, hashFunction?: HashFunction) => undefined | Promise<Response>

    138 |
      139 |
    • 140 |
        141 |
      • (url: RequestInfo, options?: RequestInit, hashFunction?: HashFunction): undefined | Promise<Response>
      • 142 |
      143 |
        144 |
      • 145 |

        Parameters

        146 |
          147 |
        • 148 |
          url: RequestInfo
          149 |
        • 150 |
        • 151 |
          Optional options: RequestInit
          152 |
        • 153 |
        • 154 |
          hashFunction: HashFunction = ...
          155 |
        • 156 |
        157 |

        Returns undefined | Promise<Response>

        158 |
      • 159 |
      160 |
    • 161 |
    162 |
  • 163 |
164 |
165 |
166 |
167 | 186 |
187 |
188 | 195 |
196 |

Generated using TypeDoc

197 |
198 |
199 | 200 | 201 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "memoized-node-fetch", 3 | "version": "1.1.5", 4 | "main": "build/index.js", 5 | "types": "build/index.d.ts", 6 | "description": "A wrapper around node-fetch that caches the request's promise before resolving.", 7 | "author": "Christos Panagiotakopoulos ", 8 | "website": "https://chrispanag.github.io/memoized-node-fetch/", 9 | "repository": "git://github.com/chrispanag/memoized-node-fetch.git", 10 | "publishConfig": { 11 | "access": "public" 12 | }, 13 | "license": "MIT", 14 | "keywords": [ 15 | "node-fetch", 16 | "fetch", 17 | "cache", 18 | "promise", 19 | "nodejs", 20 | "memoized", 21 | "memoized-fetch" 22 | ], 23 | "scripts": { 24 | "build": "npx tsc", 25 | "test": "ts-mocha tests/**/*.spec.ts", 26 | "gen:docs": "npx typedoc --out docs --includeVersion src/index.ts", 27 | "prepublish": "yarn run build", 28 | "prettier:base": "npx prettier", 29 | "prettier:check": "yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'", 30 | "prettier:write": "yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'" 31 | }, 32 | "devDependencies": { 33 | "@types/chai": "^4.2.21", 34 | "@types/mocha": "^9.0.0", 35 | "all-contributors-cli": "^6.20.0", 36 | "chai": "^4.3.4", 37 | "mocha": "^9.1.1", 38 | "prettier": "^2.3.2", 39 | "ts-mocha": "^8.0.0", 40 | "tslint": "^6.1.3", 41 | "typedoc": "^0.21.9", 42 | "typescript": "^4.4.2" 43 | }, 44 | "dependencies": { 45 | "@types/node-fetch": "^2.5.12", 46 | "node-fetch": "^2.6.1" 47 | }, 48 | "engines": { 49 | "node": ">=8.9.0" 50 | }, 51 | "files": [ 52 | "LICENSE", 53 | "README.md", 54 | "build/**/*" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /src/hasher.ts: -------------------------------------------------------------------------------- 1 | import { RequestInit, RequestInfo } from 'node-fetch'; 2 | 3 | export type HashFunction = (url: RequestInfo, options?: RequestInit) => number; 4 | 5 | export default function requestToHash(url: RequestInfo, options?: RequestInit) { 6 | return stringToHash(url.toString() + JSON.stringify(options)); 7 | } 8 | 9 | function stringToHash(string: string) { 10 | let hash = 0; 11 | 12 | if (string.length === 0) { 13 | return hash; 14 | } 15 | 16 | for (let i = 0; i < string.length; i++) { 17 | const char = string.charCodeAt(i); 18 | hash = (hash << 5) - hash + char; 19 | hash = hash & hash; 20 | } 21 | 22 | return hash; 23 | } 24 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import fetch, { RequestInfo, RequestInit, Response } from 'node-fetch'; 2 | import requestToHash, { HashFunction } from './hasher'; 3 | 4 | export type FetchFunctionType = ( 5 | url: RequestInfo, 6 | init?: RequestInit | undefined 7 | ) => Promise; 8 | 9 | export default function memoizedNodeFetchFactory(fetchFunction: FetchFunctionType = fetch) { 10 | const promiseCache: Map> = new Map(); 11 | 12 | async function wrapper(key: number, promise: Promise) { 13 | try { 14 | await promise; 15 | } finally { 16 | promiseCache.delete(key); 17 | } 18 | return promise; 19 | } 20 | 21 | function wrappedFetch( 22 | url: RequestInfo, 23 | options?: RequestInit, 24 | hashFunction: HashFunction = requestToHash 25 | ) { 26 | const key = hashFunction(url, options); 27 | if (promiseCache.has(key)) { 28 | return promiseCache.get(key); 29 | } 30 | 31 | const promise = wrapper(key, fetchFunction(url, options)); 32 | promiseCache.set(key, promise); 33 | 34 | return promise; 35 | } 36 | 37 | return wrappedFetch; 38 | } 39 | -------------------------------------------------------------------------------- /tests/index.spec.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | import { RequestInfo, RequestInit, Response } from 'node-fetch'; 3 | import memoizedNodeFetch, { FetchFunctionType } from '../src'; 4 | 5 | function testFetch(url: RequestInfo, options?: RequestInit | undefined): Promise { 6 | return new Promise((resolve, reject) => 7 | setTimeout(() => { 8 | switch (url) { 9 | case 'fail': 10 | return reject(new Error('Network Unreachable')); 11 | default: 12 | return resolve({} as Response); 13 | } 14 | }, 100) 15 | ); 16 | } 17 | 18 | describe('MemoizedNodeFetch', () => { 19 | let fetch: FetchFunctionType; 20 | beforeEach(function () { 21 | // runs before each test in this block 22 | fetch = memoizedNodeFetch(testFetch); 23 | }); 24 | 25 | it('Will return the same promise for all same requests', () => { 26 | const promise1 = fetch('test'); 27 | const promise2 = fetch('test'); 28 | const promise3 = fetch('test'); 29 | const promise4 = fetch('test'); 30 | 31 | const results = [promise2, promise3, promise4]; 32 | 33 | for (const r of results) { 34 | expect(r).to.be.equal(promise1); 35 | } 36 | }); 37 | 38 | it('Will return the same promise for requests with the same key', async () => { 39 | const promise1 = fetch('test'); 40 | const promise2 = fetch('test'); 41 | const promise3 = fetch('test'); 42 | 43 | const resultsEqual = [promise1, promise2, promise3]; 44 | 45 | for (const r of resultsEqual) { 46 | expect(r).to.be.equal(promise1); 47 | } 48 | }); 49 | 50 | it('Will return different promises for different keys', async () => { 51 | const promise = fetch('test'); 52 | const differentPromise = fetch('test_different'); 53 | 54 | expect(promise).to.not.be.equal(differentPromise); 55 | }); 56 | 57 | it('Deletes a promise from the cache after it resolves', async () => { 58 | const promise1 = fetch('test'); 59 | 60 | await promise1; 61 | const promise2 = fetch('test'); 62 | 63 | expect(promise1).to.not.be.equal(promise2); 64 | }); 65 | 66 | it('Deletes a promise from the cache after it rejects', async () => { 67 | let promise1: Promise, promise2: Promise; 68 | try { 69 | promise1 = fetch('fail'); 70 | await promise1; 71 | promise2 = fetch('fail'); 72 | } catch { 73 | expect(promise1).to.not.be.equal(promise2); 74 | } 75 | }); 76 | 77 | it('Returns different keys for different options', async () => { 78 | const promise1 = fetch('test', { method: 'POST' }); 79 | const promise2 = fetch('test'); 80 | const promise3 = fetch('test', { method: 'GET', body: JSON.stringify({ test: 'test' }) }); 81 | 82 | expect(promise1).to.not.be.equal(promise2); 83 | expect(promise1).to.not.be.equal(promise3); 84 | expect(promise2).to.not.be.equal(promise3); 85 | }); 86 | }); 87 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | "incremental": true /* Enable incremental compilation */, 7 | "target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, 8 | "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 13 | "declaration": true /* Generates corresponding '.d.ts' file. */, 14 | "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, 15 | "sourceMap": true /* Generates corresponding '.map' file. */, 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | "outDir": "./build" /* Redirect output structure to the directory. */, 18 | "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, 19 | // "composite": true, /* Enable project compilation */ 20 | "tsBuildInfoFile": "./build.info" /* Specify file to store incremental compilation information */, 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true, /* Do not emit outputs. */ 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 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 | "strictNullChecks": true /* Enable strict null checks. */, 31 | "strictFunctionTypes": true /* Enable strict checking of function types. */, 32 | "strictBindCallApply": true /* Enable strict 'bind', 'call', and 'apply' methods on functions. */, 33 | "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */, 34 | "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */, 35 | "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, 36 | 37 | /* Additional Checks */ 38 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, 42 | 43 | /* Module Resolution Options */ 44 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 45 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 46 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 47 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 48 | // "typeRoots": [], /* List of folders to include type definitions from. */ 49 | // "types": [], /* Type declaration files to be included in compilation. */ 50 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 51 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, 52 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 53 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 54 | 55 | /* Source Map Options */ 56 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 59 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 60 | 61 | /* Experimental Options */ 62 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 63 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 64 | 65 | /* Advanced Options */ 66 | "skipLibCheck": true /* Skip type checking of declaration files. */, 67 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 68 | }, 69 | "include": ["src"] 70 | } 71 | -------------------------------------------------------------------------------- /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.0.0": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/helper-validator-identifier@^7.14.5": 13 | version "7.14.5" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" 15 | integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== 16 | 17 | "@babel/highlight@^7.14.5": 18 | version "7.14.5" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 20 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.14.5" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@babel/runtime@^7.14.0", "@babel/runtime@^7.7.6": 27 | version "7.14.5" 28 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.5.tgz#665450911c6031af38f81db530f387ec04cd9a98" 29 | integrity sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA== 30 | dependencies: 31 | regenerator-runtime "^0.13.4" 32 | 33 | "@types/chai@^4.2.21": 34 | version "4.2.21" 35 | resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.21.tgz#9f35a5643129df132cf3b5c1ec64046ea1af0650" 36 | integrity sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg== 37 | 38 | "@types/json5@^0.0.29": 39 | version "0.0.29" 40 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 41 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 42 | 43 | "@types/mocha@^9.0.0": 44 | version "9.0.0" 45 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.0.0.tgz#3205bcd15ada9bc681ac20bef64e9e6df88fd297" 46 | integrity sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA== 47 | 48 | "@types/node-fetch@^2.5.12": 49 | version "2.5.12" 50 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.12.tgz#8a6f779b1d4e60b7a57fb6fd48d84fb545b9cc66" 51 | integrity sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw== 52 | dependencies: 53 | "@types/node" "*" 54 | form-data "^3.0.0" 55 | 56 | "@types/node@*": 57 | version "16.7.9" 58 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.9.tgz#3bf27710839e62a470ddf6bd8dd321f1737ce5b4" 59 | integrity sha512-KktxVzS4FPDFVHUUOWyZMvRo//8vqOLITtLMhFSW9IdLsYT/sPyXj3wXtaTcR7A7olCe7R2Xy7R+q5pg2bU46g== 60 | 61 | "@ungap/promise-all-settled@1.1.2": 62 | version "1.1.2" 63 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" 64 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== 65 | 66 | all-contributors-cli@^6.20.0: 67 | version "6.20.0" 68 | resolved "https://registry.yarnpkg.com/all-contributors-cli/-/all-contributors-cli-6.20.0.tgz#9bc98dda38cb29cfe8afc8a78c004e14af25d2f6" 69 | integrity sha512-trEQlL1s1u8FSWSwY2w9uL4GCG7Fo9HIW5rm5LtlE0SQHSolfXQBzJib07Qes5j52/t72wjuE6sEKkuRrwiuuQ== 70 | dependencies: 71 | "@babel/runtime" "^7.7.6" 72 | async "^3.0.1" 73 | chalk "^4.0.0" 74 | didyoumean "^1.2.1" 75 | inquirer "^7.0.4" 76 | json-fixer "^1.5.1" 77 | lodash "^4.11.2" 78 | node-fetch "^2.6.0" 79 | pify "^5.0.0" 80 | yargs "^15.0.1" 81 | 82 | ansi-colors@4.1.1: 83 | version "4.1.1" 84 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 85 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 86 | 87 | ansi-escapes@^4.2.1: 88 | version "4.3.2" 89 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 90 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 91 | dependencies: 92 | type-fest "^0.21.3" 93 | 94 | ansi-regex@^3.0.0: 95 | version "3.0.0" 96 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 97 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 98 | 99 | ansi-regex@^5.0.0: 100 | version "5.0.0" 101 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 102 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 103 | 104 | ansi-styles@^3.2.1: 105 | version "3.2.1" 106 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 107 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 108 | dependencies: 109 | color-convert "^1.9.0" 110 | 111 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 112 | version "4.3.0" 113 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 114 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 115 | dependencies: 116 | color-convert "^2.0.1" 117 | 118 | anymatch@~3.1.2: 119 | version "3.1.2" 120 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 121 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 122 | dependencies: 123 | normalize-path "^3.0.0" 124 | picomatch "^2.0.4" 125 | 126 | argparse@^1.0.7: 127 | version "1.0.10" 128 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 129 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 130 | dependencies: 131 | sprintf-js "~1.0.2" 132 | 133 | argparse@^2.0.1: 134 | version "2.0.1" 135 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 136 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 137 | 138 | arrify@^1.0.0: 139 | version "1.0.1" 140 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 141 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 142 | 143 | assertion-error@^1.1.0: 144 | version "1.1.0" 145 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 146 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== 147 | 148 | async@^3.0.1: 149 | version "3.2.0" 150 | resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" 151 | integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== 152 | 153 | asynckit@^0.4.0: 154 | version "0.4.0" 155 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 156 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 157 | 158 | balanced-match@^1.0.0: 159 | version "1.0.2" 160 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 161 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 162 | 163 | binary-extensions@^2.0.0: 164 | version "2.2.0" 165 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 166 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 167 | 168 | brace-expansion@^1.1.7: 169 | version "1.1.11" 170 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 171 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 172 | dependencies: 173 | balanced-match "^1.0.0" 174 | concat-map "0.0.1" 175 | 176 | braces@~3.0.2: 177 | version "3.0.2" 178 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 179 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 180 | dependencies: 181 | fill-range "^7.0.1" 182 | 183 | browser-stdout@1.3.1: 184 | version "1.3.1" 185 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 186 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 187 | 188 | buffer-from@^1.0.0, buffer-from@^1.1.0: 189 | version "1.1.1" 190 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 191 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 192 | 193 | builtin-modules@^1.1.1: 194 | version "1.1.1" 195 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 196 | integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= 197 | 198 | camelcase@^5.0.0: 199 | version "5.3.1" 200 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 201 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 202 | 203 | camelcase@^6.0.0: 204 | version "6.2.0" 205 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 206 | integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 207 | 208 | chai@^4.3.4: 209 | version "4.3.4" 210 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" 211 | integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== 212 | dependencies: 213 | assertion-error "^1.1.0" 214 | check-error "^1.0.2" 215 | deep-eql "^3.0.1" 216 | get-func-name "^2.0.0" 217 | pathval "^1.1.1" 218 | type-detect "^4.0.5" 219 | 220 | chalk@^2.0.0, chalk@^2.3.0: 221 | version "2.4.2" 222 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 223 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 224 | dependencies: 225 | ansi-styles "^3.2.1" 226 | escape-string-regexp "^1.0.5" 227 | supports-color "^5.3.0" 228 | 229 | chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: 230 | version "4.1.1" 231 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" 232 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== 233 | dependencies: 234 | ansi-styles "^4.1.0" 235 | supports-color "^7.1.0" 236 | 237 | chardet@^0.7.0: 238 | version "0.7.0" 239 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 240 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 241 | 242 | check-error@^1.0.2: 243 | version "1.0.2" 244 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 245 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= 246 | 247 | chokidar@3.5.2: 248 | version "3.5.2" 249 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" 250 | integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== 251 | dependencies: 252 | anymatch "~3.1.2" 253 | braces "~3.0.2" 254 | glob-parent "~5.1.2" 255 | is-binary-path "~2.1.0" 256 | is-glob "~4.0.1" 257 | normalize-path "~3.0.0" 258 | readdirp "~3.6.0" 259 | optionalDependencies: 260 | fsevents "~2.3.2" 261 | 262 | cli-cursor@^3.1.0: 263 | version "3.1.0" 264 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 265 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 266 | dependencies: 267 | restore-cursor "^3.1.0" 268 | 269 | cli-width@^3.0.0: 270 | version "3.0.0" 271 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" 272 | integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== 273 | 274 | cliui@^6.0.0: 275 | version "6.0.0" 276 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" 277 | integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== 278 | dependencies: 279 | string-width "^4.2.0" 280 | strip-ansi "^6.0.0" 281 | wrap-ansi "^6.2.0" 282 | 283 | cliui@^7.0.2: 284 | version "7.0.4" 285 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 286 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 287 | dependencies: 288 | string-width "^4.2.0" 289 | strip-ansi "^6.0.0" 290 | wrap-ansi "^7.0.0" 291 | 292 | color-convert@^1.9.0: 293 | version "1.9.3" 294 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 295 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 296 | dependencies: 297 | color-name "1.1.3" 298 | 299 | color-convert@^2.0.1: 300 | version "2.0.1" 301 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 302 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 303 | dependencies: 304 | color-name "~1.1.4" 305 | 306 | color-name@1.1.3: 307 | version "1.1.3" 308 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 309 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 310 | 311 | color-name@~1.1.4: 312 | version "1.1.4" 313 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 314 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 315 | 316 | combined-stream@^1.0.8: 317 | version "1.0.8" 318 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 319 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 320 | dependencies: 321 | delayed-stream "~1.0.0" 322 | 323 | commander@^2.12.1: 324 | version "2.20.3" 325 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 326 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 327 | 328 | concat-map@0.0.1: 329 | version "0.0.1" 330 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 331 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 332 | 333 | debug@4.3.1: 334 | version "4.3.1" 335 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 336 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 337 | dependencies: 338 | ms "2.1.2" 339 | 340 | decamelize@^1.2.0: 341 | version "1.2.0" 342 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 343 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 344 | 345 | decamelize@^4.0.0: 346 | version "4.0.0" 347 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 348 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 349 | 350 | deep-eql@^3.0.1: 351 | version "3.0.1" 352 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 353 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== 354 | dependencies: 355 | type-detect "^4.0.0" 356 | 357 | delayed-stream@~1.0.0: 358 | version "1.0.0" 359 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 360 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 361 | 362 | didyoumean@^1.2.1: 363 | version "1.2.1" 364 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" 365 | integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= 366 | 367 | diff@5.0.0: 368 | version "5.0.0" 369 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 370 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 371 | 372 | diff@^3.1.0: 373 | version "3.5.0" 374 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 375 | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== 376 | 377 | diff@^4.0.1: 378 | version "4.0.2" 379 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 380 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 381 | 382 | emoji-regex@^8.0.0: 383 | version "8.0.0" 384 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 385 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 386 | 387 | escalade@^3.1.1: 388 | version "3.1.1" 389 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 390 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 391 | 392 | escape-string-regexp@4.0.0: 393 | version "4.0.0" 394 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 395 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 396 | 397 | escape-string-regexp@^1.0.5: 398 | version "1.0.5" 399 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 400 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 401 | 402 | esprima@^4.0.0: 403 | version "4.0.1" 404 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 405 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 406 | 407 | external-editor@^3.0.3: 408 | version "3.1.0" 409 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 410 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 411 | dependencies: 412 | chardet "^0.7.0" 413 | iconv-lite "^0.4.24" 414 | tmp "^0.0.33" 415 | 416 | figures@^3.0.0: 417 | version "3.2.0" 418 | resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" 419 | integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== 420 | dependencies: 421 | escape-string-regexp "^1.0.5" 422 | 423 | fill-range@^7.0.1: 424 | version "7.0.1" 425 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 426 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 427 | dependencies: 428 | to-regex-range "^5.0.1" 429 | 430 | find-up@5.0.0: 431 | version "5.0.0" 432 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 433 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 434 | dependencies: 435 | locate-path "^6.0.0" 436 | path-exists "^4.0.0" 437 | 438 | find-up@^4.1.0: 439 | version "4.1.0" 440 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 441 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 442 | dependencies: 443 | locate-path "^5.0.0" 444 | path-exists "^4.0.0" 445 | 446 | flat@^5.0.2: 447 | version "5.0.2" 448 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 449 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 450 | 451 | form-data@^3.0.0: 452 | version "3.0.1" 453 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 454 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 455 | dependencies: 456 | asynckit "^0.4.0" 457 | combined-stream "^1.0.8" 458 | mime-types "^2.1.12" 459 | 460 | fs.realpath@^1.0.0: 461 | version "1.0.0" 462 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 463 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 464 | 465 | fsevents@~2.3.2: 466 | version "2.3.2" 467 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 468 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 469 | 470 | function-bind@^1.1.1: 471 | version "1.1.1" 472 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 473 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 474 | 475 | get-caller-file@^2.0.1, get-caller-file@^2.0.5: 476 | version "2.0.5" 477 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 478 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 479 | 480 | get-func-name@^2.0.0: 481 | version "2.0.0" 482 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 483 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= 484 | 485 | glob-parent@~5.1.2: 486 | version "5.1.2" 487 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 488 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 489 | dependencies: 490 | is-glob "^4.0.1" 491 | 492 | glob@7.1.7, glob@^7.1.1, glob@^7.1.7: 493 | version "7.1.7" 494 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 495 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 496 | dependencies: 497 | fs.realpath "^1.0.0" 498 | inflight "^1.0.4" 499 | inherits "2" 500 | minimatch "^3.0.4" 501 | once "^1.3.0" 502 | path-is-absolute "^1.0.0" 503 | 504 | growl@1.10.5: 505 | version "1.10.5" 506 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 507 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 508 | 509 | handlebars@^4.7.7: 510 | version "4.7.7" 511 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" 512 | integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== 513 | dependencies: 514 | minimist "^1.2.5" 515 | neo-async "^2.6.0" 516 | source-map "^0.6.1" 517 | wordwrap "^1.0.0" 518 | optionalDependencies: 519 | uglify-js "^3.1.4" 520 | 521 | has-flag@^3.0.0: 522 | version "3.0.0" 523 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 524 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 525 | 526 | has-flag@^4.0.0: 527 | version "4.0.0" 528 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 529 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 530 | 531 | has@^1.0.3: 532 | version "1.0.3" 533 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 534 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 535 | dependencies: 536 | function-bind "^1.1.1" 537 | 538 | he@1.2.0: 539 | version "1.2.0" 540 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 541 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 542 | 543 | iconv-lite@^0.4.24: 544 | version "0.4.24" 545 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 546 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 547 | dependencies: 548 | safer-buffer ">= 2.1.2 < 3" 549 | 550 | inflight@^1.0.4: 551 | version "1.0.6" 552 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 553 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 554 | dependencies: 555 | once "^1.3.0" 556 | wrappy "1" 557 | 558 | inherits@2: 559 | version "2.0.4" 560 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 561 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 562 | 563 | inquirer@^7.0.4: 564 | version "7.3.3" 565 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" 566 | integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== 567 | dependencies: 568 | ansi-escapes "^4.2.1" 569 | chalk "^4.1.0" 570 | cli-cursor "^3.1.0" 571 | cli-width "^3.0.0" 572 | external-editor "^3.0.3" 573 | figures "^3.0.0" 574 | lodash "^4.17.19" 575 | mute-stream "0.0.8" 576 | run-async "^2.4.0" 577 | rxjs "^6.6.0" 578 | string-width "^4.1.0" 579 | strip-ansi "^6.0.0" 580 | through "^2.3.6" 581 | 582 | is-binary-path@~2.1.0: 583 | version "2.1.0" 584 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 585 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 586 | dependencies: 587 | binary-extensions "^2.0.0" 588 | 589 | is-core-module@^2.2.0: 590 | version "2.4.0" 591 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" 592 | integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== 593 | dependencies: 594 | has "^1.0.3" 595 | 596 | is-extglob@^2.1.1: 597 | version "2.1.1" 598 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 599 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 600 | 601 | is-fullwidth-code-point@^2.0.0: 602 | version "2.0.0" 603 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 604 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 605 | 606 | is-fullwidth-code-point@^3.0.0: 607 | version "3.0.0" 608 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 609 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 610 | 611 | is-glob@^4.0.1, is-glob@~4.0.1: 612 | version "4.0.1" 613 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 614 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 615 | dependencies: 616 | is-extglob "^2.1.1" 617 | 618 | is-number@^7.0.0: 619 | version "7.0.0" 620 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 621 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 622 | 623 | is-plain-obj@^2.1.0: 624 | version "2.1.0" 625 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 626 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 627 | 628 | is-unicode-supported@^0.1.0: 629 | version "0.1.0" 630 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 631 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 632 | 633 | isexe@^2.0.0: 634 | version "2.0.0" 635 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 636 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 637 | 638 | js-tokens@^4.0.0: 639 | version "4.0.0" 640 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 641 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 642 | 643 | js-yaml@4.1.0: 644 | version "4.1.0" 645 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 646 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 647 | dependencies: 648 | argparse "^2.0.1" 649 | 650 | js-yaml@^3.13.1: 651 | version "3.14.1" 652 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 653 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 654 | dependencies: 655 | argparse "^1.0.7" 656 | esprima "^4.0.0" 657 | 658 | json-fixer@^1.5.1: 659 | version "1.6.10" 660 | resolved "https://registry.yarnpkg.com/json-fixer/-/json-fixer-1.6.10.tgz#2c76d47d0fc708063bd370c6e01ab376d669ce99" 661 | integrity sha512-Q63bfy46LGJHPtjjB/t4+6d427K0RWgOy3bgUHXCl1ztNdMxiLxkHwOxD5U08cPiro4+iC1kBYf+HLlc1J4a6w== 662 | dependencies: 663 | "@babel/runtime" "^7.14.0" 664 | chalk "^4.1.1" 665 | pegjs "^0.10.0" 666 | 667 | json5@^1.0.1: 668 | version "1.0.1" 669 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 670 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 671 | dependencies: 672 | minimist "^1.2.0" 673 | 674 | json5@^2.2.0: 675 | version "2.2.0" 676 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 677 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 678 | dependencies: 679 | minimist "^1.2.5" 680 | 681 | locate-path@^5.0.0: 682 | version "5.0.0" 683 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 684 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 685 | dependencies: 686 | p-locate "^4.1.0" 687 | 688 | locate-path@^6.0.0: 689 | version "6.0.0" 690 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 691 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 692 | dependencies: 693 | p-locate "^5.0.0" 694 | 695 | lodash@^4.11.2, lodash@^4.17.19: 696 | version "4.17.21" 697 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 698 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 699 | 700 | log-symbols@4.1.0: 701 | version "4.1.0" 702 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 703 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 704 | dependencies: 705 | chalk "^4.1.0" 706 | is-unicode-supported "^0.1.0" 707 | 708 | lru-cache@^5.1.1: 709 | version "5.1.1" 710 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 711 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 712 | dependencies: 713 | yallist "^3.0.2" 714 | 715 | lunr@^2.3.9: 716 | version "2.3.9" 717 | resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" 718 | integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== 719 | 720 | make-error@^1.1.1: 721 | version "1.3.6" 722 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 723 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 724 | 725 | marked@^3.0.2: 726 | version "3.0.2" 727 | resolved "https://registry.yarnpkg.com/marked/-/marked-3.0.2.tgz#60ce97d6aec34dd882ab4bb4df82494666854e17" 728 | integrity sha512-TMJQQ79Z0e3rJYazY0tIoMsFzteUGw9fB3FD+gzuIT3zLuG9L9ckIvUfF51apdJkcqc208jJN2KbtPbOvXtbjA== 729 | 730 | mime-db@1.49.0: 731 | version "1.49.0" 732 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" 733 | integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== 734 | 735 | mime-types@^2.1.12: 736 | version "2.1.32" 737 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" 738 | integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== 739 | dependencies: 740 | mime-db "1.49.0" 741 | 742 | mimic-fn@^2.1.0: 743 | version "2.1.0" 744 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 745 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 746 | 747 | minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: 748 | version "3.0.4" 749 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 750 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 751 | dependencies: 752 | brace-expansion "^1.1.7" 753 | 754 | minimist@^1.2.0, minimist@^1.2.5: 755 | version "1.2.5" 756 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 757 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 758 | 759 | mkdirp@^0.5.1, mkdirp@^0.5.3: 760 | version "0.5.5" 761 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 762 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 763 | dependencies: 764 | minimist "^1.2.5" 765 | 766 | mocha@^9.1.1: 767 | version "9.1.1" 768 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.1.1.tgz#33df2eb9c6262434630510c5f4283b36efda9b61" 769 | integrity sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA== 770 | dependencies: 771 | "@ungap/promise-all-settled" "1.1.2" 772 | ansi-colors "4.1.1" 773 | browser-stdout "1.3.1" 774 | chokidar "3.5.2" 775 | debug "4.3.1" 776 | diff "5.0.0" 777 | escape-string-regexp "4.0.0" 778 | find-up "5.0.0" 779 | glob "7.1.7" 780 | growl "1.10.5" 781 | he "1.2.0" 782 | js-yaml "4.1.0" 783 | log-symbols "4.1.0" 784 | minimatch "3.0.4" 785 | ms "2.1.3" 786 | nanoid "3.1.23" 787 | serialize-javascript "6.0.0" 788 | strip-json-comments "3.1.1" 789 | supports-color "8.1.1" 790 | which "2.0.2" 791 | wide-align "1.1.3" 792 | workerpool "6.1.5" 793 | yargs "16.2.0" 794 | yargs-parser "20.2.4" 795 | yargs-unparser "2.0.0" 796 | 797 | ms@2.1.2: 798 | version "2.1.2" 799 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 800 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 801 | 802 | ms@2.1.3: 803 | version "2.1.3" 804 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 805 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 806 | 807 | mute-stream@0.0.8: 808 | version "0.0.8" 809 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 810 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 811 | 812 | nanoid@3.1.23: 813 | version "3.1.23" 814 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" 815 | integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== 816 | 817 | neo-async@^2.6.0: 818 | version "2.6.2" 819 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 820 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 821 | 822 | node-fetch@^2.6.0, node-fetch@^2.6.1: 823 | version "2.6.1" 824 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 825 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 826 | 827 | normalize-path@^3.0.0, normalize-path@~3.0.0: 828 | version "3.0.0" 829 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 830 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 831 | 832 | once@^1.3.0: 833 | version "1.4.0" 834 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 835 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 836 | dependencies: 837 | wrappy "1" 838 | 839 | onetime@^5.1.0: 840 | version "5.1.2" 841 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 842 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 843 | dependencies: 844 | mimic-fn "^2.1.0" 845 | 846 | onigasm@^2.2.5: 847 | version "2.2.5" 848 | resolved "https://registry.yarnpkg.com/onigasm/-/onigasm-2.2.5.tgz#cc4d2a79a0fa0b64caec1f4c7ea367585a676892" 849 | integrity sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA== 850 | dependencies: 851 | lru-cache "^5.1.1" 852 | 853 | os-tmpdir@~1.0.2: 854 | version "1.0.2" 855 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 856 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 857 | 858 | p-limit@^2.2.0: 859 | version "2.3.0" 860 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 861 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 862 | dependencies: 863 | p-try "^2.0.0" 864 | 865 | p-limit@^3.0.2: 866 | version "3.1.0" 867 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 868 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 869 | dependencies: 870 | yocto-queue "^0.1.0" 871 | 872 | p-locate@^4.1.0: 873 | version "4.1.0" 874 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 875 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 876 | dependencies: 877 | p-limit "^2.2.0" 878 | 879 | p-locate@^5.0.0: 880 | version "5.0.0" 881 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 882 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 883 | dependencies: 884 | p-limit "^3.0.2" 885 | 886 | p-try@^2.0.0: 887 | version "2.2.0" 888 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 889 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 890 | 891 | path-exists@^4.0.0: 892 | version "4.0.0" 893 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 894 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 895 | 896 | path-is-absolute@^1.0.0: 897 | version "1.0.1" 898 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 899 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 900 | 901 | path-parse@^1.0.6: 902 | version "1.0.7" 903 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 904 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 905 | 906 | pathval@^1.1.1: 907 | version "1.1.1" 908 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" 909 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== 910 | 911 | pegjs@^0.10.0: 912 | version "0.10.0" 913 | resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" 914 | integrity sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0= 915 | 916 | picomatch@^2.0.4, picomatch@^2.2.1: 917 | version "2.3.0" 918 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 919 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 920 | 921 | pify@^5.0.0: 922 | version "5.0.0" 923 | resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" 924 | integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== 925 | 926 | prettier@^2.3.2: 927 | version "2.3.2" 928 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" 929 | integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== 930 | 931 | progress@^2.0.3: 932 | version "2.0.3" 933 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 934 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 935 | 936 | randombytes@^2.1.0: 937 | version "2.1.0" 938 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 939 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 940 | dependencies: 941 | safe-buffer "^5.1.0" 942 | 943 | readdirp@~3.6.0: 944 | version "3.6.0" 945 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 946 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 947 | dependencies: 948 | picomatch "^2.2.1" 949 | 950 | regenerator-runtime@^0.13.4: 951 | version "0.13.7" 952 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" 953 | integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== 954 | 955 | require-directory@^2.1.1: 956 | version "2.1.1" 957 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 958 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 959 | 960 | require-main-filename@^2.0.0: 961 | version "2.0.0" 962 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 963 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 964 | 965 | resolve@^1.3.2: 966 | version "1.20.0" 967 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 968 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 969 | dependencies: 970 | is-core-module "^2.2.0" 971 | path-parse "^1.0.6" 972 | 973 | restore-cursor@^3.1.0: 974 | version "3.1.0" 975 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 976 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 977 | dependencies: 978 | onetime "^5.1.0" 979 | signal-exit "^3.0.2" 980 | 981 | run-async@^2.4.0: 982 | version "2.4.1" 983 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" 984 | integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== 985 | 986 | rxjs@^6.6.0: 987 | version "6.6.7" 988 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" 989 | integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== 990 | dependencies: 991 | tslib "^1.9.0" 992 | 993 | safe-buffer@^5.1.0: 994 | version "5.2.1" 995 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 996 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 997 | 998 | "safer-buffer@>= 2.1.2 < 3": 999 | version "2.1.2" 1000 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1001 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1002 | 1003 | semver@^5.3.0: 1004 | version "5.7.1" 1005 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1006 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1007 | 1008 | serialize-javascript@6.0.0: 1009 | version "6.0.0" 1010 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1011 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1012 | dependencies: 1013 | randombytes "^2.1.0" 1014 | 1015 | set-blocking@^2.0.0: 1016 | version "2.0.0" 1017 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1018 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 1019 | 1020 | shiki@^0.9.8: 1021 | version "0.9.9" 1022 | resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.9.9.tgz#8e8f506408c8259a4b82322d09c1ce702cd498d9" 1023 | integrity sha512-xqmbBqdXlm05t7cdenDGPADOt6v2jj51GE7cbKmDXCupRw4DzF0QNkiWgNkd+0IvquZWiVP3pEnZgunwVatoPg== 1024 | dependencies: 1025 | json5 "^2.2.0" 1026 | onigasm "^2.2.5" 1027 | vscode-textmate "5.2.0" 1028 | 1029 | signal-exit@^3.0.2: 1030 | version "3.0.3" 1031 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1032 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1033 | 1034 | source-map-support@^0.5.6: 1035 | version "0.5.19" 1036 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 1037 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 1038 | dependencies: 1039 | buffer-from "^1.0.0" 1040 | source-map "^0.6.0" 1041 | 1042 | source-map@^0.6.0, source-map@^0.6.1: 1043 | version "0.6.1" 1044 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1045 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1046 | 1047 | sprintf-js@~1.0.2: 1048 | version "1.0.3" 1049 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1050 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1051 | 1052 | "string-width@^1.0.2 || 2": 1053 | version "2.1.1" 1054 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1055 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1056 | dependencies: 1057 | is-fullwidth-code-point "^2.0.0" 1058 | strip-ansi "^4.0.0" 1059 | 1060 | string-width@^4.1.0, string-width@^4.2.0: 1061 | version "4.2.2" 1062 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 1063 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 1064 | dependencies: 1065 | emoji-regex "^8.0.0" 1066 | is-fullwidth-code-point "^3.0.0" 1067 | strip-ansi "^6.0.0" 1068 | 1069 | strip-ansi@^4.0.0: 1070 | version "4.0.0" 1071 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1072 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1073 | dependencies: 1074 | ansi-regex "^3.0.0" 1075 | 1076 | strip-ansi@^6.0.0: 1077 | version "6.0.0" 1078 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1079 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1080 | dependencies: 1081 | ansi-regex "^5.0.0" 1082 | 1083 | strip-bom@^3.0.0: 1084 | version "3.0.0" 1085 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1086 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1087 | 1088 | strip-json-comments@3.1.1: 1089 | version "3.1.1" 1090 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1091 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1092 | 1093 | supports-color@8.1.1: 1094 | version "8.1.1" 1095 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1096 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1097 | dependencies: 1098 | has-flag "^4.0.0" 1099 | 1100 | supports-color@^5.3.0: 1101 | version "5.5.0" 1102 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1103 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1104 | dependencies: 1105 | has-flag "^3.0.0" 1106 | 1107 | supports-color@^7.1.0: 1108 | version "7.2.0" 1109 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1110 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1111 | dependencies: 1112 | has-flag "^4.0.0" 1113 | 1114 | through@^2.3.6: 1115 | version "2.3.8" 1116 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1117 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1118 | 1119 | tmp@^0.0.33: 1120 | version "0.0.33" 1121 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 1122 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 1123 | dependencies: 1124 | os-tmpdir "~1.0.2" 1125 | 1126 | to-regex-range@^5.0.1: 1127 | version "5.0.1" 1128 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1129 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1130 | dependencies: 1131 | is-number "^7.0.0" 1132 | 1133 | ts-mocha@^8.0.0: 1134 | version "8.0.0" 1135 | resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-8.0.0.tgz#962d0fa12eeb6468aa1a6b594bb3bbc818da3ef0" 1136 | integrity sha512-Kou1yxTlubLnD5C3unlCVO7nh0HERTezjoVhVw/M5S1SqoUec0WgllQvPk3vzPMc6by8m6xD1uR1yRf8lnVUbA== 1137 | dependencies: 1138 | ts-node "7.0.1" 1139 | optionalDependencies: 1140 | tsconfig-paths "^3.5.0" 1141 | 1142 | ts-node@7.0.1: 1143 | version "7.0.1" 1144 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" 1145 | integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== 1146 | dependencies: 1147 | arrify "^1.0.0" 1148 | buffer-from "^1.1.0" 1149 | diff "^3.1.0" 1150 | make-error "^1.1.1" 1151 | minimist "^1.2.0" 1152 | mkdirp "^0.5.1" 1153 | source-map-support "^0.5.6" 1154 | yn "^2.0.0" 1155 | 1156 | tsconfig-paths@^3.5.0: 1157 | version "3.9.0" 1158 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" 1159 | integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== 1160 | dependencies: 1161 | "@types/json5" "^0.0.29" 1162 | json5 "^1.0.1" 1163 | minimist "^1.2.0" 1164 | strip-bom "^3.0.0" 1165 | 1166 | tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: 1167 | version "1.14.1" 1168 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1169 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1170 | 1171 | tslint@^6.1.3: 1172 | version "6.1.3" 1173 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" 1174 | integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== 1175 | dependencies: 1176 | "@babel/code-frame" "^7.0.0" 1177 | builtin-modules "^1.1.1" 1178 | chalk "^2.3.0" 1179 | commander "^2.12.1" 1180 | diff "^4.0.1" 1181 | glob "^7.1.1" 1182 | js-yaml "^3.13.1" 1183 | minimatch "^3.0.4" 1184 | mkdirp "^0.5.3" 1185 | resolve "^1.3.2" 1186 | semver "^5.3.0" 1187 | tslib "^1.13.0" 1188 | tsutils "^2.29.0" 1189 | 1190 | tsutils@^2.29.0: 1191 | version "2.29.0" 1192 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" 1193 | integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== 1194 | dependencies: 1195 | tslib "^1.8.1" 1196 | 1197 | type-detect@^4.0.0, type-detect@^4.0.5: 1198 | version "4.0.8" 1199 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 1200 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 1201 | 1202 | type-fest@^0.21.3: 1203 | version "0.21.3" 1204 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 1205 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 1206 | 1207 | typedoc-default-themes@^0.12.10: 1208 | version "0.12.10" 1209 | resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz#614c4222fe642657f37693ea62cad4dafeddf843" 1210 | integrity sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA== 1211 | 1212 | typedoc@^0.21.9: 1213 | version "0.21.9" 1214 | resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.21.9.tgz#6fbdc7152024a00f03af53a0ca40f44e91f0f129" 1215 | integrity sha512-VRo7aII4bnYaBBM1lhw4bQFmUcDQV8m8tqgjtc7oXl87jc1Slbhfw2X5MccfcR2YnEClHDWgsiQGgNB8KJXocA== 1216 | dependencies: 1217 | glob "^7.1.7" 1218 | handlebars "^4.7.7" 1219 | lunr "^2.3.9" 1220 | marked "^3.0.2" 1221 | minimatch "^3.0.0" 1222 | progress "^2.0.3" 1223 | shiki "^0.9.8" 1224 | typedoc-default-themes "^0.12.10" 1225 | 1226 | typescript@^4.4.2: 1227 | version "4.4.2" 1228 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.2.tgz#6d618640d430e3569a1dfb44f7d7e600ced3ee86" 1229 | integrity sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ== 1230 | 1231 | uglify-js@^3.1.4: 1232 | version "3.13.9" 1233 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.9.tgz#4d8d21dcd497f29cfd8e9378b9df123ad025999b" 1234 | integrity sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g== 1235 | 1236 | vscode-textmate@5.2.0: 1237 | version "5.2.0" 1238 | resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" 1239 | integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== 1240 | 1241 | which-module@^2.0.0: 1242 | version "2.0.0" 1243 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 1244 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 1245 | 1246 | which@2.0.2: 1247 | version "2.0.2" 1248 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1249 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1250 | dependencies: 1251 | isexe "^2.0.0" 1252 | 1253 | wide-align@1.1.3: 1254 | version "1.1.3" 1255 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1256 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1257 | dependencies: 1258 | string-width "^1.0.2 || 2" 1259 | 1260 | wordwrap@^1.0.0: 1261 | version "1.0.0" 1262 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1263 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1264 | 1265 | workerpool@6.1.5: 1266 | version "6.1.5" 1267 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581" 1268 | integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw== 1269 | 1270 | wrap-ansi@^6.2.0: 1271 | version "6.2.0" 1272 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 1273 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 1274 | dependencies: 1275 | ansi-styles "^4.0.0" 1276 | string-width "^4.1.0" 1277 | strip-ansi "^6.0.0" 1278 | 1279 | wrap-ansi@^7.0.0: 1280 | version "7.0.0" 1281 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1282 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1283 | dependencies: 1284 | ansi-styles "^4.0.0" 1285 | string-width "^4.1.0" 1286 | strip-ansi "^6.0.0" 1287 | 1288 | wrappy@1: 1289 | version "1.0.2" 1290 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1291 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1292 | 1293 | y18n@^4.0.0: 1294 | version "4.0.3" 1295 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" 1296 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== 1297 | 1298 | y18n@^5.0.5: 1299 | version "5.0.8" 1300 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1301 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1302 | 1303 | yallist@^3.0.2: 1304 | version "3.1.1" 1305 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1306 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 1307 | 1308 | yargs-parser@20.2.4: 1309 | version "20.2.4" 1310 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1311 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1312 | 1313 | yargs-parser@^18.1.2: 1314 | version "18.1.3" 1315 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 1316 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== 1317 | dependencies: 1318 | camelcase "^5.0.0" 1319 | decamelize "^1.2.0" 1320 | 1321 | yargs-parser@^20.2.2: 1322 | version "20.2.7" 1323 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" 1324 | integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== 1325 | 1326 | yargs-unparser@2.0.0: 1327 | version "2.0.0" 1328 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1329 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1330 | dependencies: 1331 | camelcase "^6.0.0" 1332 | decamelize "^4.0.0" 1333 | flat "^5.0.2" 1334 | is-plain-obj "^2.1.0" 1335 | 1336 | yargs@16.2.0: 1337 | version "16.2.0" 1338 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1339 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1340 | dependencies: 1341 | cliui "^7.0.2" 1342 | escalade "^3.1.1" 1343 | get-caller-file "^2.0.5" 1344 | require-directory "^2.1.1" 1345 | string-width "^4.2.0" 1346 | y18n "^5.0.5" 1347 | yargs-parser "^20.2.2" 1348 | 1349 | yargs@^15.0.1: 1350 | version "15.4.1" 1351 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" 1352 | integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== 1353 | dependencies: 1354 | cliui "^6.0.0" 1355 | decamelize "^1.2.0" 1356 | find-up "^4.1.0" 1357 | get-caller-file "^2.0.1" 1358 | require-directory "^2.1.1" 1359 | require-main-filename "^2.0.0" 1360 | set-blocking "^2.0.0" 1361 | string-width "^4.2.0" 1362 | which-module "^2.0.0" 1363 | y18n "^4.0.0" 1364 | yargs-parser "^18.1.2" 1365 | 1366 | yn@^2.0.0: 1367 | version "2.0.0" 1368 | resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" 1369 | integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= 1370 | 1371 | yocto-queue@^0.1.0: 1372 | version "0.1.0" 1373 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1374 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1375 | --------------------------------------------------------------------------------