├── .github
└── workflows
│ └── build.yml
├── .gitignore
├── LICENSE
├── README.md
├── docs
└── index.html
├── jest.config.js
├── package-lock.json
├── package.json
├── src
├── chunk
│ ├── chunk.test.tsx
│ └── chunk.ts
├── index.ts
├── renderer
│ ├── __snapshots__
│ │ └── renderer.test.tsx.snap
│ ├── renderer.test.tsx
│ └── renderer.ts
├── rule
│ └── rule.ts
└── translator
│ ├── built-in
│ ├── __snapshots__
│ │ └── built-in.test.tsx.snap
│ ├── any.ts
│ ├── assert.ts
│ ├── built-in.test.tsx
│ ├── list.ts
│ ├── opt.ts
│ ├── or.ts
│ ├── pattern.ts
│ ├── repeat.ts
│ ├── set.ts
│ └── text.ts
│ ├── common
│ ├── base.ts
│ ├── pattern.ts
│ ├── translator-table.ts
│ └── type.ts
│ └── rule
│ ├── __snapshots__
│ └── rule.test.tsx.snap
│ ├── rule.test.tsx
│ └── rule.ts
└── tsconfig.json
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: build
2 |
3 | on: [push]
4 |
5 | jobs:
6 | build:
7 |
8 | runs-on: ubuntu-latest
9 |
10 | strategy:
11 | matrix:
12 | node-version: [10.x, 12.x]
13 |
14 | steps:
15 | - uses: actions/checkout@v1
16 | - name: Use Node.js ${{ matrix.node-version }}
17 | uses: actions/setup-node@v1
18 | with:
19 | node-version: ${{ matrix.node-version }}
20 | - name: npm install, build, and test
21 | run: |
22 | npm ci
23 | npm run build --if-present
24 | npm test
25 | env:
26 | CI: true
27 | - name: Coveralls GitHub Action
28 | uses: coverallsapp/github-action@v1.0.1
29 | with:
30 | token: ${{ secrets.CODECOV_TOKEN }}
31 | github-token: ${{ secrets.github_token }}
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .vscode
3 | coverage
4 | build
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 mistlog
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React Peg · [](https://github.com/mistlog/react-peg/workflows/build/badge.svg) [](https://coveralls.io/github/mistlog/react-peg)
2 |
3 | React Peg is a react style parser generator based on PEG.js.
4 |
5 | * Type Checking: With typescript & jsx support, you don't need to play with grammar as string any more.
6 |
7 | * Rule-Based: Build encapsulated rules and compose them to make complex grammar, and you can reuse them just like UI components.
8 |
9 | * Easy to Debug & Unit Test: Since rule is written in JavaScript instead of string, you can easily debug & test grammar and parser.
10 |
11 | ## Playground
12 |
13 | https://mistlog.github.io/react-peg-playground/
14 |
15 | ## Documentation
16 |
17 | You can find the React Peg documentation [on the website](https://mistlog.github.io/react-peg/).
18 |
19 | ## License
20 |
21 | React Peg is [MIT licensed](https://github.com/mistlog/react-peg/blob/master/LICENSE).
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | SGHPA Demo
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'ts-jest',
3 | testEnvironment: 'node',
4 | notify: true
5 | };
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-peg",
3 | "version": "0.1.8",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/code-frame": {
8 | "version": "7.12.11",
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
10 | "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
11 | "dev": true,
12 | "requires": {
13 | "@babel/highlight": "^7.10.4"
14 | }
15 | },
16 | "@babel/core": {
17 | "version": "7.12.10",
18 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz",
19 | "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==",
20 | "dev": true,
21 | "requires": {
22 | "@babel/code-frame": "^7.10.4",
23 | "@babel/generator": "^7.12.10",
24 | "@babel/helper-module-transforms": "^7.12.1",
25 | "@babel/helpers": "^7.12.5",
26 | "@babel/parser": "^7.12.10",
27 | "@babel/template": "^7.12.7",
28 | "@babel/traverse": "^7.12.10",
29 | "@babel/types": "^7.12.10",
30 | "convert-source-map": "^1.7.0",
31 | "debug": "^4.1.0",
32 | "gensync": "^1.0.0-beta.1",
33 | "json5": "^2.1.2",
34 | "lodash": "^4.17.19",
35 | "semver": "^5.4.1",
36 | "source-map": "^0.5.0"
37 | },
38 | "dependencies": {
39 | "debug": {
40 | "version": "4.3.1",
41 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
42 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
43 | "dev": true,
44 | "requires": {
45 | "ms": "2.1.2"
46 | }
47 | },
48 | "ms": {
49 | "version": "2.1.2",
50 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
51 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
52 | "dev": true
53 | },
54 | "source-map": {
55 | "version": "0.5.7",
56 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
57 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
58 | "dev": true
59 | }
60 | }
61 | },
62 | "@babel/generator": {
63 | "version": "7.12.11",
64 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz",
65 | "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==",
66 | "dev": true,
67 | "requires": {
68 | "@babel/types": "^7.12.11",
69 | "jsesc": "^2.5.1",
70 | "source-map": "^0.5.0"
71 | },
72 | "dependencies": {
73 | "source-map": {
74 | "version": "0.5.7",
75 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
76 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
77 | "dev": true
78 | }
79 | }
80 | },
81 | "@babel/helper-function-name": {
82 | "version": "7.12.11",
83 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz",
84 | "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==",
85 | "dev": true,
86 | "requires": {
87 | "@babel/helper-get-function-arity": "^7.12.10",
88 | "@babel/template": "^7.12.7",
89 | "@babel/types": "^7.12.11"
90 | }
91 | },
92 | "@babel/helper-get-function-arity": {
93 | "version": "7.12.10",
94 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz",
95 | "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==",
96 | "dev": true,
97 | "requires": {
98 | "@babel/types": "^7.12.10"
99 | }
100 | },
101 | "@babel/helper-member-expression-to-functions": {
102 | "version": "7.12.7",
103 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz",
104 | "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==",
105 | "dev": true,
106 | "requires": {
107 | "@babel/types": "^7.12.7"
108 | }
109 | },
110 | "@babel/helper-module-imports": {
111 | "version": "7.12.5",
112 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz",
113 | "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==",
114 | "dev": true,
115 | "requires": {
116 | "@babel/types": "^7.12.5"
117 | }
118 | },
119 | "@babel/helper-module-transforms": {
120 | "version": "7.12.1",
121 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
122 | "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
123 | "dev": true,
124 | "requires": {
125 | "@babel/helper-module-imports": "^7.12.1",
126 | "@babel/helper-replace-supers": "^7.12.1",
127 | "@babel/helper-simple-access": "^7.12.1",
128 | "@babel/helper-split-export-declaration": "^7.11.0",
129 | "@babel/helper-validator-identifier": "^7.10.4",
130 | "@babel/template": "^7.10.4",
131 | "@babel/traverse": "^7.12.1",
132 | "@babel/types": "^7.12.1",
133 | "lodash": "^4.17.19"
134 | }
135 | },
136 | "@babel/helper-optimise-call-expression": {
137 | "version": "7.12.10",
138 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz",
139 | "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==",
140 | "dev": true,
141 | "requires": {
142 | "@babel/types": "^7.12.10"
143 | }
144 | },
145 | "@babel/helper-plugin-utils": {
146 | "version": "7.10.4",
147 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
148 | "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
149 | "dev": true
150 | },
151 | "@babel/helper-replace-supers": {
152 | "version": "7.12.11",
153 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz",
154 | "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==",
155 | "dev": true,
156 | "requires": {
157 | "@babel/helper-member-expression-to-functions": "^7.12.7",
158 | "@babel/helper-optimise-call-expression": "^7.12.10",
159 | "@babel/traverse": "^7.12.10",
160 | "@babel/types": "^7.12.11"
161 | }
162 | },
163 | "@babel/helper-simple-access": {
164 | "version": "7.12.1",
165 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
166 | "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
167 | "dev": true,
168 | "requires": {
169 | "@babel/types": "^7.12.1"
170 | }
171 | },
172 | "@babel/helper-split-export-declaration": {
173 | "version": "7.12.11",
174 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz",
175 | "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==",
176 | "dev": true,
177 | "requires": {
178 | "@babel/types": "^7.12.11"
179 | }
180 | },
181 | "@babel/helper-validator-identifier": {
182 | "version": "7.12.11",
183 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
184 | "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
185 | "dev": true
186 | },
187 | "@babel/helpers": {
188 | "version": "7.12.5",
189 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz",
190 | "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==",
191 | "dev": true,
192 | "requires": {
193 | "@babel/template": "^7.10.4",
194 | "@babel/traverse": "^7.12.5",
195 | "@babel/types": "^7.12.5"
196 | }
197 | },
198 | "@babel/highlight": {
199 | "version": "7.10.4",
200 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
201 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
202 | "dev": true,
203 | "requires": {
204 | "@babel/helper-validator-identifier": "^7.10.4",
205 | "chalk": "^2.0.0",
206 | "js-tokens": "^4.0.0"
207 | }
208 | },
209 | "@babel/parser": {
210 | "version": "7.12.11",
211 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz",
212 | "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==",
213 | "dev": true
214 | },
215 | "@babel/plugin-syntax-object-rest-spread": {
216 | "version": "7.8.3",
217 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
218 | "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
219 | "dev": true,
220 | "requires": {
221 | "@babel/helper-plugin-utils": "^7.8.0"
222 | }
223 | },
224 | "@babel/template": {
225 | "version": "7.12.7",
226 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz",
227 | "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==",
228 | "dev": true,
229 | "requires": {
230 | "@babel/code-frame": "^7.10.4",
231 | "@babel/parser": "^7.12.7",
232 | "@babel/types": "^7.12.7"
233 | }
234 | },
235 | "@babel/traverse": {
236 | "version": "7.12.12",
237 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz",
238 | "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==",
239 | "dev": true,
240 | "requires": {
241 | "@babel/code-frame": "^7.12.11",
242 | "@babel/generator": "^7.12.11",
243 | "@babel/helper-function-name": "^7.12.11",
244 | "@babel/helper-split-export-declaration": "^7.12.11",
245 | "@babel/parser": "^7.12.11",
246 | "@babel/types": "^7.12.12",
247 | "debug": "^4.1.0",
248 | "globals": "^11.1.0",
249 | "lodash": "^4.17.19"
250 | },
251 | "dependencies": {
252 | "debug": {
253 | "version": "4.3.1",
254 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
255 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
256 | "dev": true,
257 | "requires": {
258 | "ms": "2.1.2"
259 | }
260 | },
261 | "ms": {
262 | "version": "2.1.2",
263 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
264 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
265 | "dev": true
266 | }
267 | }
268 | },
269 | "@babel/types": {
270 | "version": "7.12.12",
271 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz",
272 | "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==",
273 | "dev": true,
274 | "requires": {
275 | "@babel/helper-validator-identifier": "^7.12.11",
276 | "lodash": "^4.17.19",
277 | "to-fast-properties": "^2.0.0"
278 | }
279 | },
280 | "@cnakazawa/watch": {
281 | "version": "1.0.4",
282 | "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
283 | "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
284 | "dev": true,
285 | "requires": {
286 | "exec-sh": "^0.3.2",
287 | "minimist": "^1.2.0"
288 | }
289 | },
290 | "@jest/console": {
291 | "version": "24.9.0",
292 | "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
293 | "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
294 | "dev": true,
295 | "requires": {
296 | "@jest/source-map": "^24.9.0",
297 | "chalk": "^2.0.1",
298 | "slash": "^2.0.0"
299 | }
300 | },
301 | "@jest/core": {
302 | "version": "24.9.0",
303 | "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz",
304 | "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==",
305 | "dev": true,
306 | "requires": {
307 | "@jest/console": "^24.7.1",
308 | "@jest/reporters": "^24.9.0",
309 | "@jest/test-result": "^24.9.0",
310 | "@jest/transform": "^24.9.0",
311 | "@jest/types": "^24.9.0",
312 | "ansi-escapes": "^3.0.0",
313 | "chalk": "^2.0.1",
314 | "exit": "^0.1.2",
315 | "graceful-fs": "^4.1.15",
316 | "jest-changed-files": "^24.9.0",
317 | "jest-config": "^24.9.0",
318 | "jest-haste-map": "^24.9.0",
319 | "jest-message-util": "^24.9.0",
320 | "jest-regex-util": "^24.3.0",
321 | "jest-resolve": "^24.9.0",
322 | "jest-resolve-dependencies": "^24.9.0",
323 | "jest-runner": "^24.9.0",
324 | "jest-runtime": "^24.9.0",
325 | "jest-snapshot": "^24.9.0",
326 | "jest-util": "^24.9.0",
327 | "jest-validate": "^24.9.0",
328 | "jest-watcher": "^24.9.0",
329 | "micromatch": "^3.1.10",
330 | "p-each-series": "^1.0.0",
331 | "realpath-native": "^1.1.0",
332 | "rimraf": "^2.5.4",
333 | "slash": "^2.0.0",
334 | "strip-ansi": "^5.0.0"
335 | }
336 | },
337 | "@jest/environment": {
338 | "version": "24.9.0",
339 | "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz",
340 | "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==",
341 | "dev": true,
342 | "requires": {
343 | "@jest/fake-timers": "^24.9.0",
344 | "@jest/transform": "^24.9.0",
345 | "@jest/types": "^24.9.0",
346 | "jest-mock": "^24.9.0"
347 | }
348 | },
349 | "@jest/fake-timers": {
350 | "version": "24.9.0",
351 | "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
352 | "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
353 | "dev": true,
354 | "requires": {
355 | "@jest/types": "^24.9.0",
356 | "jest-message-util": "^24.9.0",
357 | "jest-mock": "^24.9.0"
358 | }
359 | },
360 | "@jest/reporters": {
361 | "version": "24.9.0",
362 | "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz",
363 | "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==",
364 | "dev": true,
365 | "requires": {
366 | "@jest/environment": "^24.9.0",
367 | "@jest/test-result": "^24.9.0",
368 | "@jest/transform": "^24.9.0",
369 | "@jest/types": "^24.9.0",
370 | "chalk": "^2.0.1",
371 | "exit": "^0.1.2",
372 | "glob": "^7.1.2",
373 | "istanbul-lib-coverage": "^2.0.2",
374 | "istanbul-lib-instrument": "^3.0.1",
375 | "istanbul-lib-report": "^2.0.4",
376 | "istanbul-lib-source-maps": "^3.0.1",
377 | "istanbul-reports": "^2.2.6",
378 | "jest-haste-map": "^24.9.0",
379 | "jest-resolve": "^24.9.0",
380 | "jest-runtime": "^24.9.0",
381 | "jest-util": "^24.9.0",
382 | "jest-worker": "^24.6.0",
383 | "node-notifier": "^5.4.2",
384 | "slash": "^2.0.0",
385 | "source-map": "^0.6.0",
386 | "string-length": "^2.0.0"
387 | }
388 | },
389 | "@jest/source-map": {
390 | "version": "24.9.0",
391 | "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
392 | "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
393 | "dev": true,
394 | "requires": {
395 | "callsites": "^3.0.0",
396 | "graceful-fs": "^4.1.15",
397 | "source-map": "^0.6.0"
398 | }
399 | },
400 | "@jest/test-result": {
401 | "version": "24.9.0",
402 | "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
403 | "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
404 | "dev": true,
405 | "requires": {
406 | "@jest/console": "^24.9.0",
407 | "@jest/types": "^24.9.0",
408 | "@types/istanbul-lib-coverage": "^2.0.0"
409 | }
410 | },
411 | "@jest/test-sequencer": {
412 | "version": "24.9.0",
413 | "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz",
414 | "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==",
415 | "dev": true,
416 | "requires": {
417 | "@jest/test-result": "^24.9.0",
418 | "jest-haste-map": "^24.9.0",
419 | "jest-runner": "^24.9.0",
420 | "jest-runtime": "^24.9.0"
421 | }
422 | },
423 | "@jest/transform": {
424 | "version": "24.9.0",
425 | "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
426 | "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
427 | "dev": true,
428 | "requires": {
429 | "@babel/core": "^7.1.0",
430 | "@jest/types": "^24.9.0",
431 | "babel-plugin-istanbul": "^5.1.0",
432 | "chalk": "^2.0.1",
433 | "convert-source-map": "^1.4.0",
434 | "fast-json-stable-stringify": "^2.0.0",
435 | "graceful-fs": "^4.1.15",
436 | "jest-haste-map": "^24.9.0",
437 | "jest-regex-util": "^24.9.0",
438 | "jest-util": "^24.9.0",
439 | "micromatch": "^3.1.10",
440 | "pirates": "^4.0.1",
441 | "realpath-native": "^1.1.0",
442 | "slash": "^2.0.0",
443 | "source-map": "^0.6.1",
444 | "write-file-atomic": "2.4.1"
445 | }
446 | },
447 | "@jest/types": {
448 | "version": "24.9.0",
449 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
450 | "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
451 | "dev": true,
452 | "requires": {
453 | "@types/istanbul-lib-coverage": "^2.0.0",
454 | "@types/istanbul-reports": "^1.1.1",
455 | "@types/yargs": "^13.0.0"
456 | }
457 | },
458 | "@types/babel__core": {
459 | "version": "7.1.12",
460 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz",
461 | "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==",
462 | "dev": true,
463 | "requires": {
464 | "@babel/parser": "^7.1.0",
465 | "@babel/types": "^7.0.0",
466 | "@types/babel__generator": "*",
467 | "@types/babel__template": "*",
468 | "@types/babel__traverse": "*"
469 | }
470 | },
471 | "@types/babel__generator": {
472 | "version": "7.6.2",
473 | "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz",
474 | "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==",
475 | "dev": true,
476 | "requires": {
477 | "@babel/types": "^7.0.0"
478 | }
479 | },
480 | "@types/babel__template": {
481 | "version": "7.4.0",
482 | "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz",
483 | "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==",
484 | "dev": true,
485 | "requires": {
486 | "@babel/parser": "^7.1.0",
487 | "@babel/types": "^7.0.0"
488 | }
489 | },
490 | "@types/babel__traverse": {
491 | "version": "7.11.0",
492 | "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz",
493 | "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==",
494 | "dev": true,
495 | "requires": {
496 | "@babel/types": "^7.3.0"
497 | }
498 | },
499 | "@types/istanbul-lib-coverage": {
500 | "version": "2.0.3",
501 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
502 | "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
503 | "dev": true
504 | },
505 | "@types/istanbul-lib-report": {
506 | "version": "3.0.0",
507 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
508 | "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
509 | "dev": true,
510 | "requires": {
511 | "@types/istanbul-lib-coverage": "*"
512 | }
513 | },
514 | "@types/istanbul-reports": {
515 | "version": "1.1.2",
516 | "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
517 | "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
518 | "dev": true,
519 | "requires": {
520 | "@types/istanbul-lib-coverage": "*",
521 | "@types/istanbul-lib-report": "*"
522 | }
523 | },
524 | "@types/jest": {
525 | "version": "24.9.1",
526 | "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz",
527 | "integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==",
528 | "dev": true,
529 | "requires": {
530 | "jest-diff": "^24.3.0"
531 | }
532 | },
533 | "@types/pegjs": {
534 | "version": "0.10.2",
535 | "resolved": "https://registry.npmjs.org/@types/pegjs/-/pegjs-0.10.2.tgz",
536 | "integrity": "sha512-HSiQX7133jjMBOrN3kWaLlpelS6Bg95uJaesr3nwf8qz9MTQorXqbLlErYGxKqXuYgRCKmSLUk0faCKS4yzT3g==",
537 | "dev": true
538 | },
539 | "@types/stack-utils": {
540 | "version": "1.0.1",
541 | "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
542 | "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
543 | "dev": true
544 | },
545 | "@types/yargs": {
546 | "version": "13.0.11",
547 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz",
548 | "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==",
549 | "dev": true,
550 | "requires": {
551 | "@types/yargs-parser": "*"
552 | }
553 | },
554 | "@types/yargs-parser": {
555 | "version": "20.2.0",
556 | "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
557 | "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
558 | "dev": true
559 | },
560 | "abab": {
561 | "version": "2.0.5",
562 | "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
563 | "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
564 | "dev": true
565 | },
566 | "acorn": {
567 | "version": "5.7.4",
568 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
569 | "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
570 | "dev": true
571 | },
572 | "acorn-globals": {
573 | "version": "4.3.4",
574 | "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
575 | "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
576 | "dev": true,
577 | "requires": {
578 | "acorn": "^6.0.1",
579 | "acorn-walk": "^6.0.1"
580 | },
581 | "dependencies": {
582 | "acorn": {
583 | "version": "6.4.2",
584 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
585 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
586 | "dev": true
587 | }
588 | }
589 | },
590 | "acorn-walk": {
591 | "version": "6.2.0",
592 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
593 | "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
594 | "dev": true
595 | },
596 | "ajv": {
597 | "version": "6.12.6",
598 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
599 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
600 | "dev": true,
601 | "requires": {
602 | "fast-deep-equal": "^3.1.1",
603 | "fast-json-stable-stringify": "^2.0.0",
604 | "json-schema-traverse": "^0.4.1",
605 | "uri-js": "^4.2.2"
606 | }
607 | },
608 | "ansi-escapes": {
609 | "version": "3.2.0",
610 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
611 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
612 | "dev": true
613 | },
614 | "ansi-regex": {
615 | "version": "4.1.0",
616 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
617 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
618 | "dev": true
619 | },
620 | "ansi-styles": {
621 | "version": "3.2.1",
622 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
623 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
624 | "dev": true,
625 | "requires": {
626 | "color-convert": "^1.9.0"
627 | }
628 | },
629 | "anymatch": {
630 | "version": "2.0.0",
631 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
632 | "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
633 | "dev": true,
634 | "requires": {
635 | "micromatch": "^3.1.4",
636 | "normalize-path": "^2.1.1"
637 | }
638 | },
639 | "arg": {
640 | "version": "4.1.3",
641 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
642 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
643 | "dev": true
644 | },
645 | "arr-diff": {
646 | "version": "4.0.0",
647 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
648 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
649 | "dev": true
650 | },
651 | "arr-flatten": {
652 | "version": "1.1.0",
653 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
654 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
655 | "dev": true
656 | },
657 | "arr-union": {
658 | "version": "3.1.0",
659 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
660 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
661 | "dev": true
662 | },
663 | "array-equal": {
664 | "version": "1.0.0",
665 | "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
666 | "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
667 | "dev": true
668 | },
669 | "array-unique": {
670 | "version": "0.3.2",
671 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
672 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
673 | "dev": true
674 | },
675 | "asn1": {
676 | "version": "0.2.4",
677 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
678 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
679 | "dev": true,
680 | "requires": {
681 | "safer-buffer": "~2.1.0"
682 | }
683 | },
684 | "assert-plus": {
685 | "version": "1.0.0",
686 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
687 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
688 | "dev": true
689 | },
690 | "assign-symbols": {
691 | "version": "1.0.0",
692 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
693 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
694 | "dev": true
695 | },
696 | "astral-regex": {
697 | "version": "1.0.0",
698 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
699 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
700 | "dev": true
701 | },
702 | "async-limiter": {
703 | "version": "1.0.1",
704 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
705 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
706 | "dev": true
707 | },
708 | "asynckit": {
709 | "version": "0.4.0",
710 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
711 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
712 | "dev": true
713 | },
714 | "atob": {
715 | "version": "2.1.2",
716 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
717 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
718 | "dev": true
719 | },
720 | "aws-sign2": {
721 | "version": "0.7.0",
722 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
723 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
724 | "dev": true
725 | },
726 | "aws4": {
727 | "version": "1.11.0",
728 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
729 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
730 | "dev": true
731 | },
732 | "babel-jest": {
733 | "version": "24.9.0",
734 | "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
735 | "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
736 | "dev": true,
737 | "requires": {
738 | "@jest/transform": "^24.9.0",
739 | "@jest/types": "^24.9.0",
740 | "@types/babel__core": "^7.1.0",
741 | "babel-plugin-istanbul": "^5.1.0",
742 | "babel-preset-jest": "^24.9.0",
743 | "chalk": "^2.4.2",
744 | "slash": "^2.0.0"
745 | }
746 | },
747 | "babel-plugin-istanbul": {
748 | "version": "5.2.0",
749 | "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
750 | "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
751 | "dev": true,
752 | "requires": {
753 | "@babel/helper-plugin-utils": "^7.0.0",
754 | "find-up": "^3.0.0",
755 | "istanbul-lib-instrument": "^3.3.0",
756 | "test-exclude": "^5.2.3"
757 | }
758 | },
759 | "babel-plugin-jest-hoist": {
760 | "version": "24.9.0",
761 | "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
762 | "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
763 | "dev": true,
764 | "requires": {
765 | "@types/babel__traverse": "^7.0.6"
766 | }
767 | },
768 | "babel-preset-jest": {
769 | "version": "24.9.0",
770 | "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
771 | "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
772 | "dev": true,
773 | "requires": {
774 | "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
775 | "babel-plugin-jest-hoist": "^24.9.0"
776 | }
777 | },
778 | "balanced-match": {
779 | "version": "1.0.0",
780 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
781 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
782 | "dev": true
783 | },
784 | "base": {
785 | "version": "0.11.2",
786 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
787 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
788 | "dev": true,
789 | "requires": {
790 | "cache-base": "^1.0.1",
791 | "class-utils": "^0.3.5",
792 | "component-emitter": "^1.2.1",
793 | "define-property": "^1.0.0",
794 | "isobject": "^3.0.1",
795 | "mixin-deep": "^1.2.0",
796 | "pascalcase": "^0.1.1"
797 | },
798 | "dependencies": {
799 | "define-property": {
800 | "version": "1.0.0",
801 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
802 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
803 | "dev": true,
804 | "requires": {
805 | "is-descriptor": "^1.0.0"
806 | }
807 | },
808 | "is-accessor-descriptor": {
809 | "version": "1.0.0",
810 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
811 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
812 | "dev": true,
813 | "requires": {
814 | "kind-of": "^6.0.0"
815 | }
816 | },
817 | "is-data-descriptor": {
818 | "version": "1.0.0",
819 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
820 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
821 | "dev": true,
822 | "requires": {
823 | "kind-of": "^6.0.0"
824 | }
825 | },
826 | "is-descriptor": {
827 | "version": "1.0.2",
828 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
829 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
830 | "dev": true,
831 | "requires": {
832 | "is-accessor-descriptor": "^1.0.0",
833 | "is-data-descriptor": "^1.0.0",
834 | "kind-of": "^6.0.2"
835 | }
836 | }
837 | }
838 | },
839 | "bcrypt-pbkdf": {
840 | "version": "1.0.2",
841 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
842 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
843 | "dev": true,
844 | "requires": {
845 | "tweetnacl": "^0.14.3"
846 | }
847 | },
848 | "bindings": {
849 | "version": "1.5.0",
850 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
851 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
852 | "dev": true,
853 | "optional": true,
854 | "requires": {
855 | "file-uri-to-path": "1.0.0"
856 | }
857 | },
858 | "brace-expansion": {
859 | "version": "1.1.11",
860 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
861 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
862 | "dev": true,
863 | "requires": {
864 | "balanced-match": "^1.0.0",
865 | "concat-map": "0.0.1"
866 | }
867 | },
868 | "braces": {
869 | "version": "2.3.2",
870 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
871 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
872 | "dev": true,
873 | "requires": {
874 | "arr-flatten": "^1.1.0",
875 | "array-unique": "^0.3.2",
876 | "extend-shallow": "^2.0.1",
877 | "fill-range": "^4.0.0",
878 | "isobject": "^3.0.1",
879 | "repeat-element": "^1.1.2",
880 | "snapdragon": "^0.8.1",
881 | "snapdragon-node": "^2.0.1",
882 | "split-string": "^3.0.2",
883 | "to-regex": "^3.0.1"
884 | },
885 | "dependencies": {
886 | "extend-shallow": {
887 | "version": "2.0.1",
888 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
889 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
890 | "dev": true,
891 | "requires": {
892 | "is-extendable": "^0.1.0"
893 | }
894 | }
895 | }
896 | },
897 | "browser-process-hrtime": {
898 | "version": "1.0.0",
899 | "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
900 | "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
901 | "dev": true
902 | },
903 | "browser-resolve": {
904 | "version": "1.11.3",
905 | "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
906 | "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
907 | "dev": true,
908 | "requires": {
909 | "resolve": "1.1.7"
910 | },
911 | "dependencies": {
912 | "resolve": {
913 | "version": "1.1.7",
914 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
915 | "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
916 | "dev": true
917 | }
918 | }
919 | },
920 | "bs-logger": {
921 | "version": "0.2.6",
922 | "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
923 | "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
924 | "dev": true,
925 | "requires": {
926 | "fast-json-stable-stringify": "2.x"
927 | }
928 | },
929 | "bser": {
930 | "version": "2.1.1",
931 | "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
932 | "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
933 | "dev": true,
934 | "requires": {
935 | "node-int64": "^0.4.0"
936 | }
937 | },
938 | "buffer-from": {
939 | "version": "1.1.1",
940 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
941 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
942 | "dev": true
943 | },
944 | "cache-base": {
945 | "version": "1.0.1",
946 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
947 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
948 | "dev": true,
949 | "requires": {
950 | "collection-visit": "^1.0.0",
951 | "component-emitter": "^1.2.1",
952 | "get-value": "^2.0.6",
953 | "has-value": "^1.0.0",
954 | "isobject": "^3.0.1",
955 | "set-value": "^2.0.0",
956 | "to-object-path": "^0.3.0",
957 | "union-value": "^1.0.0",
958 | "unset-value": "^1.0.0"
959 | }
960 | },
961 | "call-bind": {
962 | "version": "1.0.1",
963 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.1.tgz",
964 | "integrity": "sha512-tvAvUwNcRikl3RVF20X9lsYmmepsovzTWeJiXjO0PkJp15uy/6xKFZOQtuiSULwYW+6ToZBprphCgWXC2dSgcQ==",
965 | "dev": true,
966 | "requires": {
967 | "function-bind": "^1.1.1",
968 | "get-intrinsic": "^1.0.2"
969 | }
970 | },
971 | "callsites": {
972 | "version": "3.1.0",
973 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
974 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
975 | "dev": true
976 | },
977 | "camelcase": {
978 | "version": "5.3.1",
979 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
980 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
981 | "dev": true
982 | },
983 | "capture-exit": {
984 | "version": "2.0.0",
985 | "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
986 | "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
987 | "dev": true,
988 | "requires": {
989 | "rsvp": "^4.8.4"
990 | }
991 | },
992 | "caseless": {
993 | "version": "0.12.0",
994 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
995 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
996 | "dev": true
997 | },
998 | "chalk": {
999 | "version": "2.4.2",
1000 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1001 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1002 | "dev": true,
1003 | "requires": {
1004 | "ansi-styles": "^3.2.1",
1005 | "escape-string-regexp": "^1.0.5",
1006 | "supports-color": "^5.3.0"
1007 | }
1008 | },
1009 | "ci-info": {
1010 | "version": "2.0.0",
1011 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
1012 | "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
1013 | "dev": true
1014 | },
1015 | "class-utils": {
1016 | "version": "0.3.6",
1017 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
1018 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1019 | "dev": true,
1020 | "requires": {
1021 | "arr-union": "^3.1.0",
1022 | "define-property": "^0.2.5",
1023 | "isobject": "^3.0.0",
1024 | "static-extend": "^0.1.1"
1025 | },
1026 | "dependencies": {
1027 | "define-property": {
1028 | "version": "0.2.5",
1029 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1030 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1031 | "dev": true,
1032 | "requires": {
1033 | "is-descriptor": "^0.1.0"
1034 | }
1035 | }
1036 | }
1037 | },
1038 | "cliui": {
1039 | "version": "5.0.0",
1040 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
1041 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
1042 | "dev": true,
1043 | "requires": {
1044 | "string-width": "^3.1.0",
1045 | "strip-ansi": "^5.2.0",
1046 | "wrap-ansi": "^5.1.0"
1047 | }
1048 | },
1049 | "co": {
1050 | "version": "4.6.0",
1051 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
1052 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
1053 | "dev": true
1054 | },
1055 | "collection-visit": {
1056 | "version": "1.0.0",
1057 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
1058 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1059 | "dev": true,
1060 | "requires": {
1061 | "map-visit": "^1.0.0",
1062 | "object-visit": "^1.0.0"
1063 | }
1064 | },
1065 | "color-convert": {
1066 | "version": "1.9.3",
1067 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1068 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1069 | "dev": true,
1070 | "requires": {
1071 | "color-name": "1.1.3"
1072 | }
1073 | },
1074 | "color-name": {
1075 | "version": "1.1.3",
1076 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1077 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1078 | "dev": true
1079 | },
1080 | "combined-stream": {
1081 | "version": "1.0.8",
1082 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
1083 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
1084 | "dev": true,
1085 | "requires": {
1086 | "delayed-stream": "~1.0.0"
1087 | }
1088 | },
1089 | "component-emitter": {
1090 | "version": "1.3.0",
1091 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
1092 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
1093 | "dev": true
1094 | },
1095 | "concat-map": {
1096 | "version": "0.0.1",
1097 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1098 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1099 | "dev": true
1100 | },
1101 | "convert-source-map": {
1102 | "version": "1.7.0",
1103 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
1104 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
1105 | "dev": true,
1106 | "requires": {
1107 | "safe-buffer": "~5.1.1"
1108 | }
1109 | },
1110 | "copy-descriptor": {
1111 | "version": "0.1.1",
1112 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1113 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1114 | "dev": true
1115 | },
1116 | "core-util-is": {
1117 | "version": "1.0.2",
1118 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1119 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
1120 | "dev": true
1121 | },
1122 | "cross-spawn": {
1123 | "version": "6.0.5",
1124 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1125 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1126 | "dev": true,
1127 | "requires": {
1128 | "nice-try": "^1.0.4",
1129 | "path-key": "^2.0.1",
1130 | "semver": "^5.5.0",
1131 | "shebang-command": "^1.2.0",
1132 | "which": "^1.2.9"
1133 | }
1134 | },
1135 | "cssom": {
1136 | "version": "0.3.8",
1137 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
1138 | "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
1139 | "dev": true
1140 | },
1141 | "cssstyle": {
1142 | "version": "1.4.0",
1143 | "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
1144 | "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
1145 | "dev": true,
1146 | "requires": {
1147 | "cssom": "0.3.x"
1148 | }
1149 | },
1150 | "dashdash": {
1151 | "version": "1.14.1",
1152 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1153 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1154 | "dev": true,
1155 | "requires": {
1156 | "assert-plus": "^1.0.0"
1157 | }
1158 | },
1159 | "data-urls": {
1160 | "version": "1.1.0",
1161 | "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
1162 | "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
1163 | "dev": true,
1164 | "requires": {
1165 | "abab": "^2.0.0",
1166 | "whatwg-mimetype": "^2.2.0",
1167 | "whatwg-url": "^7.0.0"
1168 | },
1169 | "dependencies": {
1170 | "whatwg-url": {
1171 | "version": "7.1.0",
1172 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
1173 | "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
1174 | "dev": true,
1175 | "requires": {
1176 | "lodash.sortby": "^4.7.0",
1177 | "tr46": "^1.0.1",
1178 | "webidl-conversions": "^4.0.2"
1179 | }
1180 | }
1181 | }
1182 | },
1183 | "debug": {
1184 | "version": "2.6.9",
1185 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1186 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1187 | "dev": true,
1188 | "requires": {
1189 | "ms": "2.0.0"
1190 | }
1191 | },
1192 | "decamelize": {
1193 | "version": "1.2.0",
1194 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
1195 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1196 | "dev": true
1197 | },
1198 | "decode-uri-component": {
1199 | "version": "0.2.0",
1200 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1201 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1202 | "dev": true
1203 | },
1204 | "deep-is": {
1205 | "version": "0.1.3",
1206 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1207 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1208 | "dev": true
1209 | },
1210 | "define-properties": {
1211 | "version": "1.1.3",
1212 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
1213 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
1214 | "dev": true,
1215 | "requires": {
1216 | "object-keys": "^1.0.12"
1217 | }
1218 | },
1219 | "define-property": {
1220 | "version": "2.0.2",
1221 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1222 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1223 | "dev": true,
1224 | "requires": {
1225 | "is-descriptor": "^1.0.2",
1226 | "isobject": "^3.0.1"
1227 | },
1228 | "dependencies": {
1229 | "is-accessor-descriptor": {
1230 | "version": "1.0.0",
1231 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1232 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1233 | "dev": true,
1234 | "requires": {
1235 | "kind-of": "^6.0.0"
1236 | }
1237 | },
1238 | "is-data-descriptor": {
1239 | "version": "1.0.0",
1240 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1241 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1242 | "dev": true,
1243 | "requires": {
1244 | "kind-of": "^6.0.0"
1245 | }
1246 | },
1247 | "is-descriptor": {
1248 | "version": "1.0.2",
1249 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1250 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1251 | "dev": true,
1252 | "requires": {
1253 | "is-accessor-descriptor": "^1.0.0",
1254 | "is-data-descriptor": "^1.0.0",
1255 | "kind-of": "^6.0.2"
1256 | }
1257 | }
1258 | }
1259 | },
1260 | "delayed-stream": {
1261 | "version": "1.0.0",
1262 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1263 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
1264 | "dev": true
1265 | },
1266 | "detect-newline": {
1267 | "version": "2.1.0",
1268 | "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
1269 | "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
1270 | "dev": true
1271 | },
1272 | "diff": {
1273 | "version": "4.0.2",
1274 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1275 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
1276 | "dev": true
1277 | },
1278 | "diff-sequences": {
1279 | "version": "24.9.0",
1280 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
1281 | "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
1282 | "dev": true
1283 | },
1284 | "domexception": {
1285 | "version": "1.0.1",
1286 | "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
1287 | "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
1288 | "dev": true,
1289 | "requires": {
1290 | "webidl-conversions": "^4.0.2"
1291 | }
1292 | },
1293 | "ecc-jsbn": {
1294 | "version": "0.1.2",
1295 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
1296 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
1297 | "dev": true,
1298 | "requires": {
1299 | "jsbn": "~0.1.0",
1300 | "safer-buffer": "^2.1.0"
1301 | }
1302 | },
1303 | "emoji-regex": {
1304 | "version": "7.0.3",
1305 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1306 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1307 | "dev": true
1308 | },
1309 | "end-of-stream": {
1310 | "version": "1.4.4",
1311 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
1312 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
1313 | "dev": true,
1314 | "requires": {
1315 | "once": "^1.4.0"
1316 | }
1317 | },
1318 | "error-ex": {
1319 | "version": "1.3.2",
1320 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1321 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1322 | "dev": true,
1323 | "requires": {
1324 | "is-arrayish": "^0.2.1"
1325 | }
1326 | },
1327 | "es-abstract": {
1328 | "version": "1.18.0-next.1",
1329 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
1330 | "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
1331 | "dev": true,
1332 | "requires": {
1333 | "es-to-primitive": "^1.2.1",
1334 | "function-bind": "^1.1.1",
1335 | "has": "^1.0.3",
1336 | "has-symbols": "^1.0.1",
1337 | "is-callable": "^1.2.2",
1338 | "is-negative-zero": "^2.0.0",
1339 | "is-regex": "^1.1.1",
1340 | "object-inspect": "^1.8.0",
1341 | "object-keys": "^1.1.1",
1342 | "object.assign": "^4.1.1",
1343 | "string.prototype.trimend": "^1.0.1",
1344 | "string.prototype.trimstart": "^1.0.1"
1345 | }
1346 | },
1347 | "es-to-primitive": {
1348 | "version": "1.2.1",
1349 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
1350 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
1351 | "dev": true,
1352 | "requires": {
1353 | "is-callable": "^1.1.4",
1354 | "is-date-object": "^1.0.1",
1355 | "is-symbol": "^1.0.2"
1356 | }
1357 | },
1358 | "escape-string-regexp": {
1359 | "version": "1.0.5",
1360 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1361 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1362 | "dev": true
1363 | },
1364 | "escodegen": {
1365 | "version": "1.14.3",
1366 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
1367 | "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
1368 | "dev": true,
1369 | "requires": {
1370 | "esprima": "^4.0.1",
1371 | "estraverse": "^4.2.0",
1372 | "esutils": "^2.0.2",
1373 | "optionator": "^0.8.1",
1374 | "source-map": "~0.6.1"
1375 | }
1376 | },
1377 | "esprima": {
1378 | "version": "4.0.1",
1379 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1380 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1381 | "dev": true
1382 | },
1383 | "estraverse": {
1384 | "version": "4.3.0",
1385 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1386 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1387 | "dev": true
1388 | },
1389 | "esutils": {
1390 | "version": "2.0.3",
1391 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1392 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1393 | "dev": true
1394 | },
1395 | "exec-sh": {
1396 | "version": "0.3.4",
1397 | "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
1398 | "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
1399 | "dev": true
1400 | },
1401 | "execa": {
1402 | "version": "1.0.0",
1403 | "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
1404 | "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
1405 | "dev": true,
1406 | "requires": {
1407 | "cross-spawn": "^6.0.0",
1408 | "get-stream": "^4.0.0",
1409 | "is-stream": "^1.1.0",
1410 | "npm-run-path": "^2.0.0",
1411 | "p-finally": "^1.0.0",
1412 | "signal-exit": "^3.0.0",
1413 | "strip-eof": "^1.0.0"
1414 | }
1415 | },
1416 | "exit": {
1417 | "version": "0.1.2",
1418 | "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
1419 | "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
1420 | "dev": true
1421 | },
1422 | "expand-brackets": {
1423 | "version": "2.1.4",
1424 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1425 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1426 | "dev": true,
1427 | "requires": {
1428 | "debug": "^2.3.3",
1429 | "define-property": "^0.2.5",
1430 | "extend-shallow": "^2.0.1",
1431 | "posix-character-classes": "^0.1.0",
1432 | "regex-not": "^1.0.0",
1433 | "snapdragon": "^0.8.1",
1434 | "to-regex": "^3.0.1"
1435 | },
1436 | "dependencies": {
1437 | "define-property": {
1438 | "version": "0.2.5",
1439 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1440 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1441 | "dev": true,
1442 | "requires": {
1443 | "is-descriptor": "^0.1.0"
1444 | }
1445 | },
1446 | "extend-shallow": {
1447 | "version": "2.0.1",
1448 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1449 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1450 | "dev": true,
1451 | "requires": {
1452 | "is-extendable": "^0.1.0"
1453 | }
1454 | }
1455 | }
1456 | },
1457 | "expect": {
1458 | "version": "24.9.0",
1459 | "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz",
1460 | "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==",
1461 | "dev": true,
1462 | "requires": {
1463 | "@jest/types": "^24.9.0",
1464 | "ansi-styles": "^3.2.0",
1465 | "jest-get-type": "^24.9.0",
1466 | "jest-matcher-utils": "^24.9.0",
1467 | "jest-message-util": "^24.9.0",
1468 | "jest-regex-util": "^24.9.0"
1469 | }
1470 | },
1471 | "extend": {
1472 | "version": "3.0.2",
1473 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1474 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
1475 | "dev": true
1476 | },
1477 | "extend-shallow": {
1478 | "version": "3.0.2",
1479 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1480 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1481 | "dev": true,
1482 | "requires": {
1483 | "assign-symbols": "^1.0.0",
1484 | "is-extendable": "^1.0.1"
1485 | },
1486 | "dependencies": {
1487 | "is-extendable": {
1488 | "version": "1.0.1",
1489 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1490 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1491 | "dev": true,
1492 | "requires": {
1493 | "is-plain-object": "^2.0.4"
1494 | }
1495 | }
1496 | }
1497 | },
1498 | "extglob": {
1499 | "version": "2.0.4",
1500 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1501 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1502 | "dev": true,
1503 | "requires": {
1504 | "array-unique": "^0.3.2",
1505 | "define-property": "^1.0.0",
1506 | "expand-brackets": "^2.1.4",
1507 | "extend-shallow": "^2.0.1",
1508 | "fragment-cache": "^0.2.1",
1509 | "regex-not": "^1.0.0",
1510 | "snapdragon": "^0.8.1",
1511 | "to-regex": "^3.0.1"
1512 | },
1513 | "dependencies": {
1514 | "define-property": {
1515 | "version": "1.0.0",
1516 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1517 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1518 | "dev": true,
1519 | "requires": {
1520 | "is-descriptor": "^1.0.0"
1521 | }
1522 | },
1523 | "extend-shallow": {
1524 | "version": "2.0.1",
1525 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1526 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1527 | "dev": true,
1528 | "requires": {
1529 | "is-extendable": "^0.1.0"
1530 | }
1531 | },
1532 | "is-accessor-descriptor": {
1533 | "version": "1.0.0",
1534 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1535 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1536 | "dev": true,
1537 | "requires": {
1538 | "kind-of": "^6.0.0"
1539 | }
1540 | },
1541 | "is-data-descriptor": {
1542 | "version": "1.0.0",
1543 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1544 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1545 | "dev": true,
1546 | "requires": {
1547 | "kind-of": "^6.0.0"
1548 | }
1549 | },
1550 | "is-descriptor": {
1551 | "version": "1.0.2",
1552 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1553 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1554 | "dev": true,
1555 | "requires": {
1556 | "is-accessor-descriptor": "^1.0.0",
1557 | "is-data-descriptor": "^1.0.0",
1558 | "kind-of": "^6.0.2"
1559 | }
1560 | }
1561 | }
1562 | },
1563 | "extsprintf": {
1564 | "version": "1.3.0",
1565 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1566 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
1567 | "dev": true
1568 | },
1569 | "fast-deep-equal": {
1570 | "version": "3.1.3",
1571 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1572 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1573 | "dev": true
1574 | },
1575 | "fast-json-stable-stringify": {
1576 | "version": "2.1.0",
1577 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1578 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1579 | "dev": true
1580 | },
1581 | "fast-levenshtein": {
1582 | "version": "2.0.6",
1583 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1584 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
1585 | "dev": true
1586 | },
1587 | "fb-watchman": {
1588 | "version": "2.0.1",
1589 | "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
1590 | "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
1591 | "dev": true,
1592 | "requires": {
1593 | "bser": "2.1.1"
1594 | }
1595 | },
1596 | "file-uri-to-path": {
1597 | "version": "1.0.0",
1598 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
1599 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
1600 | "dev": true,
1601 | "optional": true
1602 | },
1603 | "fill-range": {
1604 | "version": "4.0.0",
1605 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1606 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1607 | "dev": true,
1608 | "requires": {
1609 | "extend-shallow": "^2.0.1",
1610 | "is-number": "^3.0.0",
1611 | "repeat-string": "^1.6.1",
1612 | "to-regex-range": "^2.1.0"
1613 | },
1614 | "dependencies": {
1615 | "extend-shallow": {
1616 | "version": "2.0.1",
1617 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1618 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1619 | "dev": true,
1620 | "requires": {
1621 | "is-extendable": "^0.1.0"
1622 | }
1623 | }
1624 | }
1625 | },
1626 | "find-up": {
1627 | "version": "3.0.0",
1628 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1629 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1630 | "dev": true,
1631 | "requires": {
1632 | "locate-path": "^3.0.0"
1633 | }
1634 | },
1635 | "for-each": {
1636 | "version": "0.3.3",
1637 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
1638 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
1639 | "dev": true,
1640 | "requires": {
1641 | "is-callable": "^1.1.3"
1642 | }
1643 | },
1644 | "for-in": {
1645 | "version": "1.0.2",
1646 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1647 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1648 | "dev": true
1649 | },
1650 | "forever-agent": {
1651 | "version": "0.6.1",
1652 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1653 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
1654 | "dev": true
1655 | },
1656 | "form-data": {
1657 | "version": "2.3.3",
1658 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1659 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1660 | "dev": true,
1661 | "requires": {
1662 | "asynckit": "^0.4.0",
1663 | "combined-stream": "^1.0.6",
1664 | "mime-types": "^2.1.12"
1665 | }
1666 | },
1667 | "fragment-cache": {
1668 | "version": "0.2.1",
1669 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1670 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1671 | "dev": true,
1672 | "requires": {
1673 | "map-cache": "^0.2.2"
1674 | }
1675 | },
1676 | "fs.realpath": {
1677 | "version": "1.0.0",
1678 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1679 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1680 | "dev": true
1681 | },
1682 | "fsevents": {
1683 | "version": "1.2.13",
1684 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
1685 | "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
1686 | "dev": true,
1687 | "optional": true,
1688 | "requires": {
1689 | "bindings": "^1.5.0",
1690 | "nan": "^2.12.1"
1691 | }
1692 | },
1693 | "function-bind": {
1694 | "version": "1.1.1",
1695 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1696 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1697 | "dev": true
1698 | },
1699 | "gensync": {
1700 | "version": "1.0.0-beta.2",
1701 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1702 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1703 | "dev": true
1704 | },
1705 | "get-caller-file": {
1706 | "version": "2.0.5",
1707 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1708 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1709 | "dev": true
1710 | },
1711 | "get-intrinsic": {
1712 | "version": "1.0.2",
1713 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
1714 | "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
1715 | "dev": true,
1716 | "requires": {
1717 | "function-bind": "^1.1.1",
1718 | "has": "^1.0.3",
1719 | "has-symbols": "^1.0.1"
1720 | }
1721 | },
1722 | "get-stream": {
1723 | "version": "4.1.0",
1724 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
1725 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
1726 | "dev": true,
1727 | "requires": {
1728 | "pump": "^3.0.0"
1729 | }
1730 | },
1731 | "get-value": {
1732 | "version": "2.0.6",
1733 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1734 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
1735 | "dev": true
1736 | },
1737 | "getpass": {
1738 | "version": "0.1.7",
1739 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1740 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1741 | "dev": true,
1742 | "requires": {
1743 | "assert-plus": "^1.0.0"
1744 | }
1745 | },
1746 | "glob": {
1747 | "version": "7.1.6",
1748 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1749 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1750 | "dev": true,
1751 | "requires": {
1752 | "fs.realpath": "^1.0.0",
1753 | "inflight": "^1.0.4",
1754 | "inherits": "2",
1755 | "minimatch": "^3.0.4",
1756 | "once": "^1.3.0",
1757 | "path-is-absolute": "^1.0.0"
1758 | }
1759 | },
1760 | "globals": {
1761 | "version": "11.12.0",
1762 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1763 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1764 | "dev": true
1765 | },
1766 | "graceful-fs": {
1767 | "version": "4.2.4",
1768 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
1769 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
1770 | "dev": true
1771 | },
1772 | "growly": {
1773 | "version": "1.3.0",
1774 | "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
1775 | "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
1776 | "dev": true
1777 | },
1778 | "har-schema": {
1779 | "version": "2.0.0",
1780 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1781 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
1782 | "dev": true
1783 | },
1784 | "har-validator": {
1785 | "version": "5.1.5",
1786 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1787 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1788 | "dev": true,
1789 | "requires": {
1790 | "ajv": "^6.12.3",
1791 | "har-schema": "^2.0.0"
1792 | }
1793 | },
1794 | "has": {
1795 | "version": "1.0.3",
1796 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1797 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1798 | "dev": true,
1799 | "requires": {
1800 | "function-bind": "^1.1.1"
1801 | }
1802 | },
1803 | "has-flag": {
1804 | "version": "3.0.0",
1805 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1806 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1807 | "dev": true
1808 | },
1809 | "has-symbols": {
1810 | "version": "1.0.1",
1811 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
1812 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
1813 | "dev": true
1814 | },
1815 | "has-value": {
1816 | "version": "1.0.0",
1817 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
1818 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
1819 | "dev": true,
1820 | "requires": {
1821 | "get-value": "^2.0.6",
1822 | "has-values": "^1.0.0",
1823 | "isobject": "^3.0.0"
1824 | }
1825 | },
1826 | "has-values": {
1827 | "version": "1.0.0",
1828 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
1829 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
1830 | "dev": true,
1831 | "requires": {
1832 | "is-number": "^3.0.0",
1833 | "kind-of": "^4.0.0"
1834 | },
1835 | "dependencies": {
1836 | "kind-of": {
1837 | "version": "4.0.0",
1838 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1839 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1840 | "dev": true,
1841 | "requires": {
1842 | "is-buffer": "^1.1.5"
1843 | }
1844 | }
1845 | }
1846 | },
1847 | "hosted-git-info": {
1848 | "version": "2.8.8",
1849 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
1850 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
1851 | "dev": true
1852 | },
1853 | "html-encoding-sniffer": {
1854 | "version": "1.0.2",
1855 | "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
1856 | "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
1857 | "dev": true,
1858 | "requires": {
1859 | "whatwg-encoding": "^1.0.1"
1860 | }
1861 | },
1862 | "html-escaper": {
1863 | "version": "2.0.2",
1864 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
1865 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
1866 | "dev": true
1867 | },
1868 | "http-signature": {
1869 | "version": "1.2.0",
1870 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1871 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1872 | "dev": true,
1873 | "requires": {
1874 | "assert-plus": "^1.0.0",
1875 | "jsprim": "^1.2.2",
1876 | "sshpk": "^1.7.0"
1877 | }
1878 | },
1879 | "iconv-lite": {
1880 | "version": "0.4.24",
1881 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1882 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1883 | "dev": true,
1884 | "requires": {
1885 | "safer-buffer": ">= 2.1.2 < 3"
1886 | }
1887 | },
1888 | "import-local": {
1889 | "version": "2.0.0",
1890 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
1891 | "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
1892 | "dev": true,
1893 | "requires": {
1894 | "pkg-dir": "^3.0.0",
1895 | "resolve-cwd": "^2.0.0"
1896 | }
1897 | },
1898 | "imurmurhash": {
1899 | "version": "0.1.4",
1900 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1901 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
1902 | "dev": true
1903 | },
1904 | "inflight": {
1905 | "version": "1.0.6",
1906 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1907 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1908 | "dev": true,
1909 | "requires": {
1910 | "once": "^1.3.0",
1911 | "wrappy": "1"
1912 | }
1913 | },
1914 | "inherits": {
1915 | "version": "2.0.4",
1916 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1917 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1918 | "dev": true
1919 | },
1920 | "invariant": {
1921 | "version": "2.2.4",
1922 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
1923 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
1924 | "dev": true,
1925 | "requires": {
1926 | "loose-envify": "^1.0.0"
1927 | }
1928 | },
1929 | "is-accessor-descriptor": {
1930 | "version": "0.1.6",
1931 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
1932 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
1933 | "dev": true,
1934 | "requires": {
1935 | "kind-of": "^3.0.2"
1936 | },
1937 | "dependencies": {
1938 | "kind-of": {
1939 | "version": "3.2.2",
1940 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1941 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1942 | "dev": true,
1943 | "requires": {
1944 | "is-buffer": "^1.1.5"
1945 | }
1946 | }
1947 | }
1948 | },
1949 | "is-arrayish": {
1950 | "version": "0.2.1",
1951 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
1952 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
1953 | "dev": true
1954 | },
1955 | "is-buffer": {
1956 | "version": "1.1.6",
1957 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1958 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1959 | "dev": true
1960 | },
1961 | "is-callable": {
1962 | "version": "1.2.2",
1963 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
1964 | "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
1965 | "dev": true
1966 | },
1967 | "is-ci": {
1968 | "version": "2.0.0",
1969 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
1970 | "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
1971 | "dev": true,
1972 | "requires": {
1973 | "ci-info": "^2.0.0"
1974 | }
1975 | },
1976 | "is-core-module": {
1977 | "version": "2.2.0",
1978 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
1979 | "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
1980 | "dev": true,
1981 | "requires": {
1982 | "has": "^1.0.3"
1983 | }
1984 | },
1985 | "is-data-descriptor": {
1986 | "version": "0.1.4",
1987 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
1988 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
1989 | "dev": true,
1990 | "requires": {
1991 | "kind-of": "^3.0.2"
1992 | },
1993 | "dependencies": {
1994 | "kind-of": {
1995 | "version": "3.2.2",
1996 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1997 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1998 | "dev": true,
1999 | "requires": {
2000 | "is-buffer": "^1.1.5"
2001 | }
2002 | }
2003 | }
2004 | },
2005 | "is-date-object": {
2006 | "version": "1.0.2",
2007 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
2008 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
2009 | "dev": true
2010 | },
2011 | "is-descriptor": {
2012 | "version": "0.1.6",
2013 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2014 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2015 | "dev": true,
2016 | "requires": {
2017 | "is-accessor-descriptor": "^0.1.6",
2018 | "is-data-descriptor": "^0.1.4",
2019 | "kind-of": "^5.0.0"
2020 | },
2021 | "dependencies": {
2022 | "kind-of": {
2023 | "version": "5.1.0",
2024 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2025 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2026 | "dev": true
2027 | }
2028 | }
2029 | },
2030 | "is-extendable": {
2031 | "version": "0.1.1",
2032 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2033 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
2034 | "dev": true
2035 | },
2036 | "is-fullwidth-code-point": {
2037 | "version": "2.0.0",
2038 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2039 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2040 | "dev": true
2041 | },
2042 | "is-generator-fn": {
2043 | "version": "2.1.0",
2044 | "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
2045 | "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
2046 | "dev": true
2047 | },
2048 | "is-negative-zero": {
2049 | "version": "2.0.1",
2050 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
2051 | "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
2052 | "dev": true
2053 | },
2054 | "is-number": {
2055 | "version": "3.0.0",
2056 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2057 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2058 | "dev": true,
2059 | "requires": {
2060 | "kind-of": "^3.0.2"
2061 | },
2062 | "dependencies": {
2063 | "kind-of": {
2064 | "version": "3.2.2",
2065 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2066 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2067 | "dev": true,
2068 | "requires": {
2069 | "is-buffer": "^1.1.5"
2070 | }
2071 | }
2072 | }
2073 | },
2074 | "is-plain-object": {
2075 | "version": "2.0.4",
2076 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
2077 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2078 | "dev": true,
2079 | "requires": {
2080 | "isobject": "^3.0.1"
2081 | }
2082 | },
2083 | "is-regex": {
2084 | "version": "1.1.1",
2085 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
2086 | "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
2087 | "dev": true,
2088 | "requires": {
2089 | "has-symbols": "^1.0.1"
2090 | }
2091 | },
2092 | "is-stream": {
2093 | "version": "1.1.0",
2094 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
2095 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
2096 | "dev": true
2097 | },
2098 | "is-symbol": {
2099 | "version": "1.0.3",
2100 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
2101 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
2102 | "dev": true,
2103 | "requires": {
2104 | "has-symbols": "^1.0.1"
2105 | }
2106 | },
2107 | "is-typedarray": {
2108 | "version": "1.0.0",
2109 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
2110 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
2111 | "dev": true
2112 | },
2113 | "is-windows": {
2114 | "version": "1.0.2",
2115 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
2116 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
2117 | "dev": true
2118 | },
2119 | "is-wsl": {
2120 | "version": "1.1.0",
2121 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
2122 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
2123 | "dev": true
2124 | },
2125 | "isarray": {
2126 | "version": "1.0.0",
2127 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2128 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
2129 | "dev": true
2130 | },
2131 | "isexe": {
2132 | "version": "2.0.0",
2133 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2134 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2135 | "dev": true
2136 | },
2137 | "isobject": {
2138 | "version": "3.0.1",
2139 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2140 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2141 | "dev": true
2142 | },
2143 | "isstream": {
2144 | "version": "0.1.2",
2145 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
2146 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
2147 | "dev": true
2148 | },
2149 | "istanbul-lib-coverage": {
2150 | "version": "2.0.5",
2151 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
2152 | "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
2153 | "dev": true
2154 | },
2155 | "istanbul-lib-instrument": {
2156 | "version": "3.3.0",
2157 | "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
2158 | "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
2159 | "dev": true,
2160 | "requires": {
2161 | "@babel/generator": "^7.4.0",
2162 | "@babel/parser": "^7.4.3",
2163 | "@babel/template": "^7.4.0",
2164 | "@babel/traverse": "^7.4.3",
2165 | "@babel/types": "^7.4.0",
2166 | "istanbul-lib-coverage": "^2.0.5",
2167 | "semver": "^6.0.0"
2168 | },
2169 | "dependencies": {
2170 | "semver": {
2171 | "version": "6.3.0",
2172 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2173 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2174 | "dev": true
2175 | }
2176 | }
2177 | },
2178 | "istanbul-lib-report": {
2179 | "version": "2.0.8",
2180 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
2181 | "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
2182 | "dev": true,
2183 | "requires": {
2184 | "istanbul-lib-coverage": "^2.0.5",
2185 | "make-dir": "^2.1.0",
2186 | "supports-color": "^6.1.0"
2187 | },
2188 | "dependencies": {
2189 | "supports-color": {
2190 | "version": "6.1.0",
2191 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
2192 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
2193 | "dev": true,
2194 | "requires": {
2195 | "has-flag": "^3.0.0"
2196 | }
2197 | }
2198 | }
2199 | },
2200 | "istanbul-lib-source-maps": {
2201 | "version": "3.0.6",
2202 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
2203 | "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
2204 | "dev": true,
2205 | "requires": {
2206 | "debug": "^4.1.1",
2207 | "istanbul-lib-coverage": "^2.0.5",
2208 | "make-dir": "^2.1.0",
2209 | "rimraf": "^2.6.3",
2210 | "source-map": "^0.6.1"
2211 | },
2212 | "dependencies": {
2213 | "debug": {
2214 | "version": "4.3.1",
2215 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
2216 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
2217 | "dev": true,
2218 | "requires": {
2219 | "ms": "2.1.2"
2220 | }
2221 | },
2222 | "ms": {
2223 | "version": "2.1.2",
2224 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2225 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2226 | "dev": true
2227 | }
2228 | }
2229 | },
2230 | "istanbul-reports": {
2231 | "version": "2.2.7",
2232 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz",
2233 | "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==",
2234 | "dev": true,
2235 | "requires": {
2236 | "html-escaper": "^2.0.0"
2237 | }
2238 | },
2239 | "jest": {
2240 | "version": "24.9.0",
2241 | "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz",
2242 | "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==",
2243 | "dev": true,
2244 | "requires": {
2245 | "import-local": "^2.0.0",
2246 | "jest-cli": "^24.9.0"
2247 | },
2248 | "dependencies": {
2249 | "jest-cli": {
2250 | "version": "24.9.0",
2251 | "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz",
2252 | "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==",
2253 | "dev": true,
2254 | "requires": {
2255 | "@jest/core": "^24.9.0",
2256 | "@jest/test-result": "^24.9.0",
2257 | "@jest/types": "^24.9.0",
2258 | "chalk": "^2.0.1",
2259 | "exit": "^0.1.2",
2260 | "import-local": "^2.0.0",
2261 | "is-ci": "^2.0.0",
2262 | "jest-config": "^24.9.0",
2263 | "jest-util": "^24.9.0",
2264 | "jest-validate": "^24.9.0",
2265 | "prompts": "^2.0.1",
2266 | "realpath-native": "^1.1.0",
2267 | "yargs": "^13.3.0"
2268 | }
2269 | }
2270 | }
2271 | },
2272 | "jest-changed-files": {
2273 | "version": "24.9.0",
2274 | "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz",
2275 | "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==",
2276 | "dev": true,
2277 | "requires": {
2278 | "@jest/types": "^24.9.0",
2279 | "execa": "^1.0.0",
2280 | "throat": "^4.0.0"
2281 | }
2282 | },
2283 | "jest-config": {
2284 | "version": "24.9.0",
2285 | "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz",
2286 | "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==",
2287 | "dev": true,
2288 | "requires": {
2289 | "@babel/core": "^7.1.0",
2290 | "@jest/test-sequencer": "^24.9.0",
2291 | "@jest/types": "^24.9.0",
2292 | "babel-jest": "^24.9.0",
2293 | "chalk": "^2.0.1",
2294 | "glob": "^7.1.1",
2295 | "jest-environment-jsdom": "^24.9.0",
2296 | "jest-environment-node": "^24.9.0",
2297 | "jest-get-type": "^24.9.0",
2298 | "jest-jasmine2": "^24.9.0",
2299 | "jest-regex-util": "^24.3.0",
2300 | "jest-resolve": "^24.9.0",
2301 | "jest-util": "^24.9.0",
2302 | "jest-validate": "^24.9.0",
2303 | "micromatch": "^3.1.10",
2304 | "pretty-format": "^24.9.0",
2305 | "realpath-native": "^1.1.0"
2306 | }
2307 | },
2308 | "jest-diff": {
2309 | "version": "24.9.0",
2310 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
2311 | "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
2312 | "dev": true,
2313 | "requires": {
2314 | "chalk": "^2.0.1",
2315 | "diff-sequences": "^24.9.0",
2316 | "jest-get-type": "^24.9.0",
2317 | "pretty-format": "^24.9.0"
2318 | }
2319 | },
2320 | "jest-docblock": {
2321 | "version": "24.9.0",
2322 | "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz",
2323 | "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==",
2324 | "dev": true,
2325 | "requires": {
2326 | "detect-newline": "^2.1.0"
2327 | }
2328 | },
2329 | "jest-each": {
2330 | "version": "24.9.0",
2331 | "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz",
2332 | "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==",
2333 | "dev": true,
2334 | "requires": {
2335 | "@jest/types": "^24.9.0",
2336 | "chalk": "^2.0.1",
2337 | "jest-get-type": "^24.9.0",
2338 | "jest-util": "^24.9.0",
2339 | "pretty-format": "^24.9.0"
2340 | }
2341 | },
2342 | "jest-environment-jsdom": {
2343 | "version": "24.9.0",
2344 | "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz",
2345 | "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==",
2346 | "dev": true,
2347 | "requires": {
2348 | "@jest/environment": "^24.9.0",
2349 | "@jest/fake-timers": "^24.9.0",
2350 | "@jest/types": "^24.9.0",
2351 | "jest-mock": "^24.9.0",
2352 | "jest-util": "^24.9.0",
2353 | "jsdom": "^11.5.1"
2354 | }
2355 | },
2356 | "jest-environment-node": {
2357 | "version": "24.9.0",
2358 | "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
2359 | "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==",
2360 | "dev": true,
2361 | "requires": {
2362 | "@jest/environment": "^24.9.0",
2363 | "@jest/fake-timers": "^24.9.0",
2364 | "@jest/types": "^24.9.0",
2365 | "jest-mock": "^24.9.0",
2366 | "jest-util": "^24.9.0"
2367 | }
2368 | },
2369 | "jest-get-type": {
2370 | "version": "24.9.0",
2371 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
2372 | "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
2373 | "dev": true
2374 | },
2375 | "jest-haste-map": {
2376 | "version": "24.9.0",
2377 | "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
2378 | "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
2379 | "dev": true,
2380 | "requires": {
2381 | "@jest/types": "^24.9.0",
2382 | "anymatch": "^2.0.0",
2383 | "fb-watchman": "^2.0.0",
2384 | "fsevents": "^1.2.7",
2385 | "graceful-fs": "^4.1.15",
2386 | "invariant": "^2.2.4",
2387 | "jest-serializer": "^24.9.0",
2388 | "jest-util": "^24.9.0",
2389 | "jest-worker": "^24.9.0",
2390 | "micromatch": "^3.1.10",
2391 | "sane": "^4.0.3",
2392 | "walker": "^1.0.7"
2393 | }
2394 | },
2395 | "jest-jasmine2": {
2396 | "version": "24.9.0",
2397 | "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz",
2398 | "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==",
2399 | "dev": true,
2400 | "requires": {
2401 | "@babel/traverse": "^7.1.0",
2402 | "@jest/environment": "^24.9.0",
2403 | "@jest/test-result": "^24.9.0",
2404 | "@jest/types": "^24.9.0",
2405 | "chalk": "^2.0.1",
2406 | "co": "^4.6.0",
2407 | "expect": "^24.9.0",
2408 | "is-generator-fn": "^2.0.0",
2409 | "jest-each": "^24.9.0",
2410 | "jest-matcher-utils": "^24.9.0",
2411 | "jest-message-util": "^24.9.0",
2412 | "jest-runtime": "^24.9.0",
2413 | "jest-snapshot": "^24.9.0",
2414 | "jest-util": "^24.9.0",
2415 | "pretty-format": "^24.9.0",
2416 | "throat": "^4.0.0"
2417 | }
2418 | },
2419 | "jest-leak-detector": {
2420 | "version": "24.9.0",
2421 | "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz",
2422 | "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==",
2423 | "dev": true,
2424 | "requires": {
2425 | "jest-get-type": "^24.9.0",
2426 | "pretty-format": "^24.9.0"
2427 | }
2428 | },
2429 | "jest-matcher-utils": {
2430 | "version": "24.9.0",
2431 | "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
2432 | "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
2433 | "dev": true,
2434 | "requires": {
2435 | "chalk": "^2.0.1",
2436 | "jest-diff": "^24.9.0",
2437 | "jest-get-type": "^24.9.0",
2438 | "pretty-format": "^24.9.0"
2439 | }
2440 | },
2441 | "jest-message-util": {
2442 | "version": "24.9.0",
2443 | "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
2444 | "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
2445 | "dev": true,
2446 | "requires": {
2447 | "@babel/code-frame": "^7.0.0",
2448 | "@jest/test-result": "^24.9.0",
2449 | "@jest/types": "^24.9.0",
2450 | "@types/stack-utils": "^1.0.1",
2451 | "chalk": "^2.0.1",
2452 | "micromatch": "^3.1.10",
2453 | "slash": "^2.0.0",
2454 | "stack-utils": "^1.0.1"
2455 | }
2456 | },
2457 | "jest-mock": {
2458 | "version": "24.9.0",
2459 | "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
2460 | "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
2461 | "dev": true,
2462 | "requires": {
2463 | "@jest/types": "^24.9.0"
2464 | }
2465 | },
2466 | "jest-pnp-resolver": {
2467 | "version": "1.2.2",
2468 | "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
2469 | "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
2470 | "dev": true
2471 | },
2472 | "jest-regex-util": {
2473 | "version": "24.9.0",
2474 | "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
2475 | "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==",
2476 | "dev": true
2477 | },
2478 | "jest-resolve": {
2479 | "version": "24.9.0",
2480 | "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
2481 | "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
2482 | "dev": true,
2483 | "requires": {
2484 | "@jest/types": "^24.9.0",
2485 | "browser-resolve": "^1.11.3",
2486 | "chalk": "^2.0.1",
2487 | "jest-pnp-resolver": "^1.2.1",
2488 | "realpath-native": "^1.1.0"
2489 | }
2490 | },
2491 | "jest-resolve-dependencies": {
2492 | "version": "24.9.0",
2493 | "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz",
2494 | "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==",
2495 | "dev": true,
2496 | "requires": {
2497 | "@jest/types": "^24.9.0",
2498 | "jest-regex-util": "^24.3.0",
2499 | "jest-snapshot": "^24.9.0"
2500 | }
2501 | },
2502 | "jest-runner": {
2503 | "version": "24.9.0",
2504 | "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz",
2505 | "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==",
2506 | "dev": true,
2507 | "requires": {
2508 | "@jest/console": "^24.7.1",
2509 | "@jest/environment": "^24.9.0",
2510 | "@jest/test-result": "^24.9.0",
2511 | "@jest/types": "^24.9.0",
2512 | "chalk": "^2.4.2",
2513 | "exit": "^0.1.2",
2514 | "graceful-fs": "^4.1.15",
2515 | "jest-config": "^24.9.0",
2516 | "jest-docblock": "^24.3.0",
2517 | "jest-haste-map": "^24.9.0",
2518 | "jest-jasmine2": "^24.9.0",
2519 | "jest-leak-detector": "^24.9.0",
2520 | "jest-message-util": "^24.9.0",
2521 | "jest-resolve": "^24.9.0",
2522 | "jest-runtime": "^24.9.0",
2523 | "jest-util": "^24.9.0",
2524 | "jest-worker": "^24.6.0",
2525 | "source-map-support": "^0.5.6",
2526 | "throat": "^4.0.0"
2527 | }
2528 | },
2529 | "jest-runtime": {
2530 | "version": "24.9.0",
2531 | "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz",
2532 | "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==",
2533 | "dev": true,
2534 | "requires": {
2535 | "@jest/console": "^24.7.1",
2536 | "@jest/environment": "^24.9.0",
2537 | "@jest/source-map": "^24.3.0",
2538 | "@jest/transform": "^24.9.0",
2539 | "@jest/types": "^24.9.0",
2540 | "@types/yargs": "^13.0.0",
2541 | "chalk": "^2.0.1",
2542 | "exit": "^0.1.2",
2543 | "glob": "^7.1.3",
2544 | "graceful-fs": "^4.1.15",
2545 | "jest-config": "^24.9.0",
2546 | "jest-haste-map": "^24.9.0",
2547 | "jest-message-util": "^24.9.0",
2548 | "jest-mock": "^24.9.0",
2549 | "jest-regex-util": "^24.3.0",
2550 | "jest-resolve": "^24.9.0",
2551 | "jest-snapshot": "^24.9.0",
2552 | "jest-util": "^24.9.0",
2553 | "jest-validate": "^24.9.0",
2554 | "realpath-native": "^1.1.0",
2555 | "slash": "^2.0.0",
2556 | "strip-bom": "^3.0.0",
2557 | "yargs": "^13.3.0"
2558 | }
2559 | },
2560 | "jest-serializer": {
2561 | "version": "24.9.0",
2562 | "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
2563 | "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==",
2564 | "dev": true
2565 | },
2566 | "jest-snapshot": {
2567 | "version": "24.9.0",
2568 | "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz",
2569 | "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==",
2570 | "dev": true,
2571 | "requires": {
2572 | "@babel/types": "^7.0.0",
2573 | "@jest/types": "^24.9.0",
2574 | "chalk": "^2.0.1",
2575 | "expect": "^24.9.0",
2576 | "jest-diff": "^24.9.0",
2577 | "jest-get-type": "^24.9.0",
2578 | "jest-matcher-utils": "^24.9.0",
2579 | "jest-message-util": "^24.9.0",
2580 | "jest-resolve": "^24.9.0",
2581 | "mkdirp": "^0.5.1",
2582 | "natural-compare": "^1.4.0",
2583 | "pretty-format": "^24.9.0",
2584 | "semver": "^6.2.0"
2585 | },
2586 | "dependencies": {
2587 | "semver": {
2588 | "version": "6.3.0",
2589 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2590 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2591 | "dev": true
2592 | }
2593 | }
2594 | },
2595 | "jest-util": {
2596 | "version": "24.9.0",
2597 | "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
2598 | "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
2599 | "dev": true,
2600 | "requires": {
2601 | "@jest/console": "^24.9.0",
2602 | "@jest/fake-timers": "^24.9.0",
2603 | "@jest/source-map": "^24.9.0",
2604 | "@jest/test-result": "^24.9.0",
2605 | "@jest/types": "^24.9.0",
2606 | "callsites": "^3.0.0",
2607 | "chalk": "^2.0.1",
2608 | "graceful-fs": "^4.1.15",
2609 | "is-ci": "^2.0.0",
2610 | "mkdirp": "^0.5.1",
2611 | "slash": "^2.0.0",
2612 | "source-map": "^0.6.0"
2613 | }
2614 | },
2615 | "jest-validate": {
2616 | "version": "24.9.0",
2617 | "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
2618 | "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
2619 | "dev": true,
2620 | "requires": {
2621 | "@jest/types": "^24.9.0",
2622 | "camelcase": "^5.3.1",
2623 | "chalk": "^2.0.1",
2624 | "jest-get-type": "^24.9.0",
2625 | "leven": "^3.1.0",
2626 | "pretty-format": "^24.9.0"
2627 | }
2628 | },
2629 | "jest-watcher": {
2630 | "version": "24.9.0",
2631 | "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz",
2632 | "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==",
2633 | "dev": true,
2634 | "requires": {
2635 | "@jest/test-result": "^24.9.0",
2636 | "@jest/types": "^24.9.0",
2637 | "@types/yargs": "^13.0.0",
2638 | "ansi-escapes": "^3.0.0",
2639 | "chalk": "^2.0.1",
2640 | "jest-util": "^24.9.0",
2641 | "string-length": "^2.0.0"
2642 | }
2643 | },
2644 | "jest-worker": {
2645 | "version": "24.9.0",
2646 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
2647 | "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
2648 | "dev": true,
2649 | "requires": {
2650 | "merge-stream": "^2.0.0",
2651 | "supports-color": "^6.1.0"
2652 | },
2653 | "dependencies": {
2654 | "supports-color": {
2655 | "version": "6.1.0",
2656 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
2657 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
2658 | "dev": true,
2659 | "requires": {
2660 | "has-flag": "^3.0.0"
2661 | }
2662 | }
2663 | }
2664 | },
2665 | "js-tokens": {
2666 | "version": "4.0.0",
2667 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2668 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2669 | "dev": true
2670 | },
2671 | "jsbn": {
2672 | "version": "0.1.1",
2673 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
2674 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
2675 | "dev": true
2676 | },
2677 | "jsdom": {
2678 | "version": "11.12.0",
2679 | "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
2680 | "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
2681 | "dev": true,
2682 | "requires": {
2683 | "abab": "^2.0.0",
2684 | "acorn": "^5.5.3",
2685 | "acorn-globals": "^4.1.0",
2686 | "array-equal": "^1.0.0",
2687 | "cssom": ">= 0.3.2 < 0.4.0",
2688 | "cssstyle": "^1.0.0",
2689 | "data-urls": "^1.0.0",
2690 | "domexception": "^1.0.1",
2691 | "escodegen": "^1.9.1",
2692 | "html-encoding-sniffer": "^1.0.2",
2693 | "left-pad": "^1.3.0",
2694 | "nwsapi": "^2.0.7",
2695 | "parse5": "4.0.0",
2696 | "pn": "^1.1.0",
2697 | "request": "^2.87.0",
2698 | "request-promise-native": "^1.0.5",
2699 | "sax": "^1.2.4",
2700 | "symbol-tree": "^3.2.2",
2701 | "tough-cookie": "^2.3.4",
2702 | "w3c-hr-time": "^1.0.1",
2703 | "webidl-conversions": "^4.0.2",
2704 | "whatwg-encoding": "^1.0.3",
2705 | "whatwg-mimetype": "^2.1.0",
2706 | "whatwg-url": "^6.4.1",
2707 | "ws": "^5.2.0",
2708 | "xml-name-validator": "^3.0.0"
2709 | }
2710 | },
2711 | "jsesc": {
2712 | "version": "2.5.2",
2713 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
2714 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
2715 | "dev": true
2716 | },
2717 | "json-parse-better-errors": {
2718 | "version": "1.0.2",
2719 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
2720 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
2721 | "dev": true
2722 | },
2723 | "json-schema": {
2724 | "version": "0.2.3",
2725 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
2726 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
2727 | "dev": true
2728 | },
2729 | "json-schema-traverse": {
2730 | "version": "0.4.1",
2731 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2732 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2733 | "dev": true
2734 | },
2735 | "json-stringify-safe": {
2736 | "version": "5.0.1",
2737 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
2738 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
2739 | "dev": true
2740 | },
2741 | "json5": {
2742 | "version": "2.1.3",
2743 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
2744 | "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
2745 | "dev": true,
2746 | "requires": {
2747 | "minimist": "^1.2.5"
2748 | }
2749 | },
2750 | "jsprim": {
2751 | "version": "1.4.1",
2752 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
2753 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
2754 | "dev": true,
2755 | "requires": {
2756 | "assert-plus": "1.0.0",
2757 | "extsprintf": "1.3.0",
2758 | "json-schema": "0.2.3",
2759 | "verror": "1.10.0"
2760 | }
2761 | },
2762 | "kind-of": {
2763 | "version": "6.0.3",
2764 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2765 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2766 | "dev": true
2767 | },
2768 | "kleur": {
2769 | "version": "3.0.3",
2770 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
2771 | "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
2772 | "dev": true
2773 | },
2774 | "left-pad": {
2775 | "version": "1.3.0",
2776 | "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
2777 | "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
2778 | "dev": true
2779 | },
2780 | "leven": {
2781 | "version": "3.1.0",
2782 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
2783 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
2784 | "dev": true
2785 | },
2786 | "levn": {
2787 | "version": "0.3.0",
2788 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
2789 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
2790 | "dev": true,
2791 | "requires": {
2792 | "prelude-ls": "~1.1.2",
2793 | "type-check": "~0.3.2"
2794 | }
2795 | },
2796 | "load-json-file": {
2797 | "version": "4.0.0",
2798 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
2799 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
2800 | "dev": true,
2801 | "requires": {
2802 | "graceful-fs": "^4.1.2",
2803 | "parse-json": "^4.0.0",
2804 | "pify": "^3.0.0",
2805 | "strip-bom": "^3.0.0"
2806 | }
2807 | },
2808 | "locate-path": {
2809 | "version": "3.0.0",
2810 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2811 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2812 | "dev": true,
2813 | "requires": {
2814 | "p-locate": "^3.0.0",
2815 | "path-exists": "^3.0.0"
2816 | }
2817 | },
2818 | "lodash": {
2819 | "version": "4.17.20",
2820 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
2821 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
2822 | "dev": true
2823 | },
2824 | "lodash.memoize": {
2825 | "version": "4.1.2",
2826 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
2827 | "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
2828 | "dev": true
2829 | },
2830 | "lodash.sortby": {
2831 | "version": "4.7.0",
2832 | "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
2833 | "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
2834 | "dev": true
2835 | },
2836 | "loose-envify": {
2837 | "version": "1.4.0",
2838 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2839 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2840 | "dev": true,
2841 | "requires": {
2842 | "js-tokens": "^3.0.0 || ^4.0.0"
2843 | }
2844 | },
2845 | "make-dir": {
2846 | "version": "2.1.0",
2847 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
2848 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
2849 | "dev": true,
2850 | "requires": {
2851 | "pify": "^4.0.1",
2852 | "semver": "^5.6.0"
2853 | },
2854 | "dependencies": {
2855 | "pify": {
2856 | "version": "4.0.1",
2857 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2858 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2859 | "dev": true
2860 | }
2861 | }
2862 | },
2863 | "make-error": {
2864 | "version": "1.3.6",
2865 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
2866 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
2867 | "dev": true
2868 | },
2869 | "makeerror": {
2870 | "version": "1.0.11",
2871 | "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
2872 | "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
2873 | "dev": true,
2874 | "requires": {
2875 | "tmpl": "1.0.x"
2876 | }
2877 | },
2878 | "map-cache": {
2879 | "version": "0.2.2",
2880 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
2881 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
2882 | "dev": true
2883 | },
2884 | "map-visit": {
2885 | "version": "1.0.0",
2886 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
2887 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
2888 | "dev": true,
2889 | "requires": {
2890 | "object-visit": "^1.0.0"
2891 | }
2892 | },
2893 | "merge-stream": {
2894 | "version": "2.0.0",
2895 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
2896 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
2897 | "dev": true
2898 | },
2899 | "micromatch": {
2900 | "version": "3.1.10",
2901 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2902 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2903 | "dev": true,
2904 | "requires": {
2905 | "arr-diff": "^4.0.0",
2906 | "array-unique": "^0.3.2",
2907 | "braces": "^2.3.1",
2908 | "define-property": "^2.0.2",
2909 | "extend-shallow": "^3.0.2",
2910 | "extglob": "^2.0.4",
2911 | "fragment-cache": "^0.2.1",
2912 | "kind-of": "^6.0.2",
2913 | "nanomatch": "^1.2.9",
2914 | "object.pick": "^1.3.0",
2915 | "regex-not": "^1.0.0",
2916 | "snapdragon": "^0.8.1",
2917 | "to-regex": "^3.0.2"
2918 | }
2919 | },
2920 | "mime-db": {
2921 | "version": "1.45.0",
2922 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
2923 | "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==",
2924 | "dev": true
2925 | },
2926 | "mime-types": {
2927 | "version": "2.1.28",
2928 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
2929 | "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
2930 | "dev": true,
2931 | "requires": {
2932 | "mime-db": "1.45.0"
2933 | }
2934 | },
2935 | "minimatch": {
2936 | "version": "3.0.4",
2937 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2938 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2939 | "dev": true,
2940 | "requires": {
2941 | "brace-expansion": "^1.1.7"
2942 | }
2943 | },
2944 | "minimist": {
2945 | "version": "1.2.5",
2946 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2947 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2948 | "dev": true
2949 | },
2950 | "mixin-deep": {
2951 | "version": "1.3.2",
2952 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
2953 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
2954 | "dev": true,
2955 | "requires": {
2956 | "for-in": "^1.0.2",
2957 | "is-extendable": "^1.0.1"
2958 | },
2959 | "dependencies": {
2960 | "is-extendable": {
2961 | "version": "1.0.1",
2962 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2963 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2964 | "dev": true,
2965 | "requires": {
2966 | "is-plain-object": "^2.0.4"
2967 | }
2968 | }
2969 | }
2970 | },
2971 | "mkdirp": {
2972 | "version": "0.5.5",
2973 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2974 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2975 | "dev": true,
2976 | "requires": {
2977 | "minimist": "^1.2.5"
2978 | }
2979 | },
2980 | "ms": {
2981 | "version": "2.0.0",
2982 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2983 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2984 | "dev": true
2985 | },
2986 | "nan": {
2987 | "version": "2.14.2",
2988 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
2989 | "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
2990 | "dev": true,
2991 | "optional": true
2992 | },
2993 | "nanomatch": {
2994 | "version": "1.2.13",
2995 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
2996 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
2997 | "dev": true,
2998 | "requires": {
2999 | "arr-diff": "^4.0.0",
3000 | "array-unique": "^0.3.2",
3001 | "define-property": "^2.0.2",
3002 | "extend-shallow": "^3.0.2",
3003 | "fragment-cache": "^0.2.1",
3004 | "is-windows": "^1.0.2",
3005 | "kind-of": "^6.0.2",
3006 | "object.pick": "^1.3.0",
3007 | "regex-not": "^1.0.0",
3008 | "snapdragon": "^0.8.1",
3009 | "to-regex": "^3.0.1"
3010 | }
3011 | },
3012 | "natural-compare": {
3013 | "version": "1.4.0",
3014 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3015 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
3016 | "dev": true
3017 | },
3018 | "nice-try": {
3019 | "version": "1.0.5",
3020 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
3021 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
3022 | "dev": true
3023 | },
3024 | "node-int64": {
3025 | "version": "0.4.0",
3026 | "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
3027 | "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
3028 | "dev": true
3029 | },
3030 | "node-modules-regexp": {
3031 | "version": "1.0.0",
3032 | "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
3033 | "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
3034 | "dev": true
3035 | },
3036 | "node-notifier": {
3037 | "version": "5.4.3",
3038 | "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
3039 | "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
3040 | "dev": true,
3041 | "requires": {
3042 | "growly": "^1.3.0",
3043 | "is-wsl": "^1.1.0",
3044 | "semver": "^5.5.0",
3045 | "shellwords": "^0.1.1",
3046 | "which": "^1.3.0"
3047 | }
3048 | },
3049 | "normalize-package-data": {
3050 | "version": "2.5.0",
3051 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
3052 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
3053 | "dev": true,
3054 | "requires": {
3055 | "hosted-git-info": "^2.1.4",
3056 | "resolve": "^1.10.0",
3057 | "semver": "2 || 3 || 4 || 5",
3058 | "validate-npm-package-license": "^3.0.1"
3059 | }
3060 | },
3061 | "normalize-path": {
3062 | "version": "2.1.1",
3063 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
3064 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
3065 | "dev": true,
3066 | "requires": {
3067 | "remove-trailing-separator": "^1.0.1"
3068 | }
3069 | },
3070 | "npm-run-path": {
3071 | "version": "2.0.2",
3072 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
3073 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
3074 | "dev": true,
3075 | "requires": {
3076 | "path-key": "^2.0.0"
3077 | }
3078 | },
3079 | "nwsapi": {
3080 | "version": "2.2.0",
3081 | "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
3082 | "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
3083 | "dev": true
3084 | },
3085 | "oauth-sign": {
3086 | "version": "0.9.0",
3087 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
3088 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
3089 | "dev": true
3090 | },
3091 | "object-copy": {
3092 | "version": "0.1.0",
3093 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
3094 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
3095 | "dev": true,
3096 | "requires": {
3097 | "copy-descriptor": "^0.1.0",
3098 | "define-property": "^0.2.5",
3099 | "kind-of": "^3.0.3"
3100 | },
3101 | "dependencies": {
3102 | "define-property": {
3103 | "version": "0.2.5",
3104 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3105 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3106 | "dev": true,
3107 | "requires": {
3108 | "is-descriptor": "^0.1.0"
3109 | }
3110 | },
3111 | "kind-of": {
3112 | "version": "3.2.2",
3113 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3114 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3115 | "dev": true,
3116 | "requires": {
3117 | "is-buffer": "^1.1.5"
3118 | }
3119 | }
3120 | }
3121 | },
3122 | "object-inspect": {
3123 | "version": "1.9.0",
3124 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
3125 | "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
3126 | "dev": true
3127 | },
3128 | "object-keys": {
3129 | "version": "1.1.1",
3130 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
3131 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
3132 | "dev": true
3133 | },
3134 | "object-visit": {
3135 | "version": "1.0.1",
3136 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
3137 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
3138 | "dev": true,
3139 | "requires": {
3140 | "isobject": "^3.0.0"
3141 | }
3142 | },
3143 | "object.assign": {
3144 | "version": "4.1.2",
3145 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
3146 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
3147 | "dev": true,
3148 | "requires": {
3149 | "call-bind": "^1.0.0",
3150 | "define-properties": "^1.1.3",
3151 | "has-symbols": "^1.0.1",
3152 | "object-keys": "^1.1.1"
3153 | }
3154 | },
3155 | "object.getownpropertydescriptors": {
3156 | "version": "2.1.1",
3157 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
3158 | "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
3159 | "dev": true,
3160 | "requires": {
3161 | "call-bind": "^1.0.0",
3162 | "define-properties": "^1.1.3",
3163 | "es-abstract": "^1.18.0-next.1"
3164 | }
3165 | },
3166 | "object.pick": {
3167 | "version": "1.3.0",
3168 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
3169 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3170 | "dev": true,
3171 | "requires": {
3172 | "isobject": "^3.0.1"
3173 | }
3174 | },
3175 | "once": {
3176 | "version": "1.4.0",
3177 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3178 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3179 | "dev": true,
3180 | "requires": {
3181 | "wrappy": "1"
3182 | }
3183 | },
3184 | "optionator": {
3185 | "version": "0.8.3",
3186 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
3187 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
3188 | "dev": true,
3189 | "requires": {
3190 | "deep-is": "~0.1.3",
3191 | "fast-levenshtein": "~2.0.6",
3192 | "levn": "~0.3.0",
3193 | "prelude-ls": "~1.1.2",
3194 | "type-check": "~0.3.2",
3195 | "word-wrap": "~1.2.3"
3196 | }
3197 | },
3198 | "p-each-series": {
3199 | "version": "1.0.0",
3200 | "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
3201 | "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=",
3202 | "dev": true,
3203 | "requires": {
3204 | "p-reduce": "^1.0.0"
3205 | }
3206 | },
3207 | "p-finally": {
3208 | "version": "1.0.0",
3209 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
3210 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
3211 | "dev": true
3212 | },
3213 | "p-limit": {
3214 | "version": "2.3.0",
3215 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
3216 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
3217 | "dev": true,
3218 | "requires": {
3219 | "p-try": "^2.0.0"
3220 | }
3221 | },
3222 | "p-locate": {
3223 | "version": "3.0.0",
3224 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
3225 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
3226 | "dev": true,
3227 | "requires": {
3228 | "p-limit": "^2.0.0"
3229 | }
3230 | },
3231 | "p-reduce": {
3232 | "version": "1.0.0",
3233 | "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
3234 | "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
3235 | "dev": true
3236 | },
3237 | "p-try": {
3238 | "version": "2.2.0",
3239 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
3240 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
3241 | "dev": true
3242 | },
3243 | "parse-json": {
3244 | "version": "4.0.0",
3245 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
3246 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
3247 | "dev": true,
3248 | "requires": {
3249 | "error-ex": "^1.3.1",
3250 | "json-parse-better-errors": "^1.0.1"
3251 | }
3252 | },
3253 | "parse5": {
3254 | "version": "4.0.0",
3255 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
3256 | "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
3257 | "dev": true
3258 | },
3259 | "pascalcase": {
3260 | "version": "0.1.1",
3261 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
3262 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
3263 | "dev": true
3264 | },
3265 | "path-exists": {
3266 | "version": "3.0.0",
3267 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
3268 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
3269 | "dev": true
3270 | },
3271 | "path-is-absolute": {
3272 | "version": "1.0.1",
3273 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3274 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3275 | "dev": true
3276 | },
3277 | "path-key": {
3278 | "version": "2.0.1",
3279 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
3280 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
3281 | "dev": true
3282 | },
3283 | "path-parse": {
3284 | "version": "1.0.6",
3285 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
3286 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
3287 | "dev": true
3288 | },
3289 | "path-type": {
3290 | "version": "3.0.0",
3291 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
3292 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
3293 | "dev": true,
3294 | "requires": {
3295 | "pify": "^3.0.0"
3296 | }
3297 | },
3298 | "pegjs": {
3299 | "version": "0.10.0",
3300 | "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
3301 | "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
3302 | },
3303 | "performance-now": {
3304 | "version": "2.1.0",
3305 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
3306 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
3307 | "dev": true
3308 | },
3309 | "pify": {
3310 | "version": "3.0.0",
3311 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
3312 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
3313 | "dev": true
3314 | },
3315 | "pirates": {
3316 | "version": "4.0.1",
3317 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
3318 | "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
3319 | "dev": true,
3320 | "requires": {
3321 | "node-modules-regexp": "^1.0.0"
3322 | }
3323 | },
3324 | "pkg-dir": {
3325 | "version": "3.0.0",
3326 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
3327 | "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
3328 | "dev": true,
3329 | "requires": {
3330 | "find-up": "^3.0.0"
3331 | }
3332 | },
3333 | "pn": {
3334 | "version": "1.1.0",
3335 | "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
3336 | "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
3337 | "dev": true
3338 | },
3339 | "posix-character-classes": {
3340 | "version": "0.1.1",
3341 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
3342 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
3343 | "dev": true
3344 | },
3345 | "prelude-ls": {
3346 | "version": "1.1.2",
3347 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
3348 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
3349 | "dev": true
3350 | },
3351 | "pretty-format": {
3352 | "version": "24.9.0",
3353 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
3354 | "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
3355 | "dev": true,
3356 | "requires": {
3357 | "@jest/types": "^24.9.0",
3358 | "ansi-regex": "^4.0.0",
3359 | "ansi-styles": "^3.2.0",
3360 | "react-is": "^16.8.4"
3361 | }
3362 | },
3363 | "prompts": {
3364 | "version": "2.4.0",
3365 | "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz",
3366 | "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==",
3367 | "dev": true,
3368 | "requires": {
3369 | "kleur": "^3.0.3",
3370 | "sisteransi": "^1.0.5"
3371 | }
3372 | },
3373 | "psl": {
3374 | "version": "1.8.0",
3375 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
3376 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
3377 | "dev": true
3378 | },
3379 | "pump": {
3380 | "version": "3.0.0",
3381 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
3382 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
3383 | "dev": true,
3384 | "requires": {
3385 | "end-of-stream": "^1.1.0",
3386 | "once": "^1.3.1"
3387 | }
3388 | },
3389 | "punycode": {
3390 | "version": "2.1.1",
3391 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
3392 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
3393 | "dev": true
3394 | },
3395 | "qs": {
3396 | "version": "6.5.2",
3397 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
3398 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
3399 | "dev": true
3400 | },
3401 | "react-is": {
3402 | "version": "16.13.1",
3403 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
3404 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
3405 | "dev": true
3406 | },
3407 | "read-pkg": {
3408 | "version": "3.0.0",
3409 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
3410 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
3411 | "dev": true,
3412 | "requires": {
3413 | "load-json-file": "^4.0.0",
3414 | "normalize-package-data": "^2.3.2",
3415 | "path-type": "^3.0.0"
3416 | }
3417 | },
3418 | "read-pkg-up": {
3419 | "version": "4.0.0",
3420 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
3421 | "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
3422 | "dev": true,
3423 | "requires": {
3424 | "find-up": "^3.0.0",
3425 | "read-pkg": "^3.0.0"
3426 | }
3427 | },
3428 | "realpath-native": {
3429 | "version": "1.1.0",
3430 | "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
3431 | "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
3432 | "dev": true,
3433 | "requires": {
3434 | "util.promisify": "^1.0.0"
3435 | }
3436 | },
3437 | "regex-not": {
3438 | "version": "1.0.2",
3439 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
3440 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
3441 | "dev": true,
3442 | "requires": {
3443 | "extend-shallow": "^3.0.2",
3444 | "safe-regex": "^1.1.0"
3445 | }
3446 | },
3447 | "remove-trailing-separator": {
3448 | "version": "1.1.0",
3449 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
3450 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
3451 | "dev": true
3452 | },
3453 | "repeat-element": {
3454 | "version": "1.1.3",
3455 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
3456 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
3457 | "dev": true
3458 | },
3459 | "repeat-string": {
3460 | "version": "1.6.1",
3461 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3462 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
3463 | "dev": true
3464 | },
3465 | "request": {
3466 | "version": "2.88.2",
3467 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
3468 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
3469 | "dev": true,
3470 | "requires": {
3471 | "aws-sign2": "~0.7.0",
3472 | "aws4": "^1.8.0",
3473 | "caseless": "~0.12.0",
3474 | "combined-stream": "~1.0.6",
3475 | "extend": "~3.0.2",
3476 | "forever-agent": "~0.6.1",
3477 | "form-data": "~2.3.2",
3478 | "har-validator": "~5.1.3",
3479 | "http-signature": "~1.2.0",
3480 | "is-typedarray": "~1.0.0",
3481 | "isstream": "~0.1.2",
3482 | "json-stringify-safe": "~5.0.1",
3483 | "mime-types": "~2.1.19",
3484 | "oauth-sign": "~0.9.0",
3485 | "performance-now": "^2.1.0",
3486 | "qs": "~6.5.2",
3487 | "safe-buffer": "^5.1.2",
3488 | "tough-cookie": "~2.5.0",
3489 | "tunnel-agent": "^0.6.0",
3490 | "uuid": "^3.3.2"
3491 | }
3492 | },
3493 | "request-promise-core": {
3494 | "version": "1.1.4",
3495 | "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
3496 | "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
3497 | "dev": true,
3498 | "requires": {
3499 | "lodash": "^4.17.19"
3500 | }
3501 | },
3502 | "request-promise-native": {
3503 | "version": "1.0.9",
3504 | "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
3505 | "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
3506 | "dev": true,
3507 | "requires": {
3508 | "request-promise-core": "1.1.4",
3509 | "stealthy-require": "^1.1.1",
3510 | "tough-cookie": "^2.3.3"
3511 | }
3512 | },
3513 | "require-directory": {
3514 | "version": "2.1.1",
3515 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
3516 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
3517 | "dev": true
3518 | },
3519 | "require-main-filename": {
3520 | "version": "2.0.0",
3521 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
3522 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
3523 | "dev": true
3524 | },
3525 | "resolve": {
3526 | "version": "1.19.0",
3527 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
3528 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
3529 | "dev": true,
3530 | "requires": {
3531 | "is-core-module": "^2.1.0",
3532 | "path-parse": "^1.0.6"
3533 | }
3534 | },
3535 | "resolve-cwd": {
3536 | "version": "2.0.0",
3537 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
3538 | "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
3539 | "dev": true,
3540 | "requires": {
3541 | "resolve-from": "^3.0.0"
3542 | }
3543 | },
3544 | "resolve-from": {
3545 | "version": "3.0.0",
3546 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
3547 | "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
3548 | "dev": true
3549 | },
3550 | "resolve-url": {
3551 | "version": "0.2.1",
3552 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
3553 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
3554 | "dev": true
3555 | },
3556 | "ret": {
3557 | "version": "0.1.15",
3558 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
3559 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
3560 | "dev": true
3561 | },
3562 | "rimraf": {
3563 | "version": "2.7.1",
3564 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
3565 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
3566 | "dev": true,
3567 | "requires": {
3568 | "glob": "^7.1.3"
3569 | }
3570 | },
3571 | "rsvp": {
3572 | "version": "4.8.5",
3573 | "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
3574 | "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
3575 | "dev": true
3576 | },
3577 | "safe-buffer": {
3578 | "version": "5.1.2",
3579 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3580 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
3581 | "dev": true
3582 | },
3583 | "safe-regex": {
3584 | "version": "1.1.0",
3585 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3586 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3587 | "dev": true,
3588 | "requires": {
3589 | "ret": "~0.1.10"
3590 | }
3591 | },
3592 | "safer-buffer": {
3593 | "version": "2.1.2",
3594 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3595 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
3596 | "dev": true
3597 | },
3598 | "sane": {
3599 | "version": "4.1.0",
3600 | "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
3601 | "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
3602 | "dev": true,
3603 | "requires": {
3604 | "@cnakazawa/watch": "^1.0.3",
3605 | "anymatch": "^2.0.0",
3606 | "capture-exit": "^2.0.0",
3607 | "exec-sh": "^0.3.2",
3608 | "execa": "^1.0.0",
3609 | "fb-watchman": "^2.0.0",
3610 | "micromatch": "^3.1.4",
3611 | "minimist": "^1.1.1",
3612 | "walker": "~1.0.5"
3613 | }
3614 | },
3615 | "sax": {
3616 | "version": "1.2.4",
3617 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
3618 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
3619 | "dev": true
3620 | },
3621 | "semver": {
3622 | "version": "5.7.1",
3623 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
3624 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
3625 | "dev": true
3626 | },
3627 | "set-blocking": {
3628 | "version": "2.0.0",
3629 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
3630 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
3631 | "dev": true
3632 | },
3633 | "set-value": {
3634 | "version": "2.0.1",
3635 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
3636 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
3637 | "dev": true,
3638 | "requires": {
3639 | "extend-shallow": "^2.0.1",
3640 | "is-extendable": "^0.1.1",
3641 | "is-plain-object": "^2.0.3",
3642 | "split-string": "^3.0.1"
3643 | },
3644 | "dependencies": {
3645 | "extend-shallow": {
3646 | "version": "2.0.1",
3647 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3648 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3649 | "dev": true,
3650 | "requires": {
3651 | "is-extendable": "^0.1.0"
3652 | }
3653 | }
3654 | }
3655 | },
3656 | "shebang-command": {
3657 | "version": "1.2.0",
3658 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
3659 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
3660 | "dev": true,
3661 | "requires": {
3662 | "shebang-regex": "^1.0.0"
3663 | }
3664 | },
3665 | "shebang-regex": {
3666 | "version": "1.0.0",
3667 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
3668 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
3669 | "dev": true
3670 | },
3671 | "shellwords": {
3672 | "version": "0.1.1",
3673 | "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
3674 | "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
3675 | "dev": true
3676 | },
3677 | "signal-exit": {
3678 | "version": "3.0.3",
3679 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
3680 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
3681 | "dev": true
3682 | },
3683 | "sisteransi": {
3684 | "version": "1.0.5",
3685 | "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
3686 | "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
3687 | "dev": true
3688 | },
3689 | "slash": {
3690 | "version": "2.0.0",
3691 | "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
3692 | "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
3693 | "dev": true
3694 | },
3695 | "snapdragon": {
3696 | "version": "0.8.2",
3697 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
3698 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
3699 | "dev": true,
3700 | "requires": {
3701 | "base": "^0.11.1",
3702 | "debug": "^2.2.0",
3703 | "define-property": "^0.2.5",
3704 | "extend-shallow": "^2.0.1",
3705 | "map-cache": "^0.2.2",
3706 | "source-map": "^0.5.6",
3707 | "source-map-resolve": "^0.5.0",
3708 | "use": "^3.1.0"
3709 | },
3710 | "dependencies": {
3711 | "define-property": {
3712 | "version": "0.2.5",
3713 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3714 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3715 | "dev": true,
3716 | "requires": {
3717 | "is-descriptor": "^0.1.0"
3718 | }
3719 | },
3720 | "extend-shallow": {
3721 | "version": "2.0.1",
3722 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3723 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3724 | "dev": true,
3725 | "requires": {
3726 | "is-extendable": "^0.1.0"
3727 | }
3728 | },
3729 | "source-map": {
3730 | "version": "0.5.7",
3731 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
3732 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
3733 | "dev": true
3734 | }
3735 | }
3736 | },
3737 | "snapdragon-node": {
3738 | "version": "2.1.1",
3739 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
3740 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
3741 | "dev": true,
3742 | "requires": {
3743 | "define-property": "^1.0.0",
3744 | "isobject": "^3.0.0",
3745 | "snapdragon-util": "^3.0.1"
3746 | },
3747 | "dependencies": {
3748 | "define-property": {
3749 | "version": "1.0.0",
3750 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3751 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3752 | "dev": true,
3753 | "requires": {
3754 | "is-descriptor": "^1.0.0"
3755 | }
3756 | },
3757 | "is-accessor-descriptor": {
3758 | "version": "1.0.0",
3759 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3760 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3761 | "dev": true,
3762 | "requires": {
3763 | "kind-of": "^6.0.0"
3764 | }
3765 | },
3766 | "is-data-descriptor": {
3767 | "version": "1.0.0",
3768 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3769 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3770 | "dev": true,
3771 | "requires": {
3772 | "kind-of": "^6.0.0"
3773 | }
3774 | },
3775 | "is-descriptor": {
3776 | "version": "1.0.2",
3777 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3778 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3779 | "dev": true,
3780 | "requires": {
3781 | "is-accessor-descriptor": "^1.0.0",
3782 | "is-data-descriptor": "^1.0.0",
3783 | "kind-of": "^6.0.2"
3784 | }
3785 | }
3786 | }
3787 | },
3788 | "snapdragon-util": {
3789 | "version": "3.0.1",
3790 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
3791 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
3792 | "dev": true,
3793 | "requires": {
3794 | "kind-of": "^3.2.0"
3795 | },
3796 | "dependencies": {
3797 | "kind-of": {
3798 | "version": "3.2.2",
3799 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3800 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3801 | "dev": true,
3802 | "requires": {
3803 | "is-buffer": "^1.1.5"
3804 | }
3805 | }
3806 | }
3807 | },
3808 | "source-map": {
3809 | "version": "0.6.1",
3810 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3811 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3812 | "dev": true
3813 | },
3814 | "source-map-resolve": {
3815 | "version": "0.5.3",
3816 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
3817 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
3818 | "dev": true,
3819 | "requires": {
3820 | "atob": "^2.1.2",
3821 | "decode-uri-component": "^0.2.0",
3822 | "resolve-url": "^0.2.1",
3823 | "source-map-url": "^0.4.0",
3824 | "urix": "^0.1.0"
3825 | }
3826 | },
3827 | "source-map-support": {
3828 | "version": "0.5.19",
3829 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
3830 | "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
3831 | "dev": true,
3832 | "requires": {
3833 | "buffer-from": "^1.0.0",
3834 | "source-map": "^0.6.0"
3835 | }
3836 | },
3837 | "source-map-url": {
3838 | "version": "0.4.0",
3839 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
3840 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
3841 | "dev": true
3842 | },
3843 | "spdx-correct": {
3844 | "version": "3.1.1",
3845 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
3846 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
3847 | "dev": true,
3848 | "requires": {
3849 | "spdx-expression-parse": "^3.0.0",
3850 | "spdx-license-ids": "^3.0.0"
3851 | }
3852 | },
3853 | "spdx-exceptions": {
3854 | "version": "2.3.0",
3855 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
3856 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
3857 | "dev": true
3858 | },
3859 | "spdx-expression-parse": {
3860 | "version": "3.0.1",
3861 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
3862 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
3863 | "dev": true,
3864 | "requires": {
3865 | "spdx-exceptions": "^2.1.0",
3866 | "spdx-license-ids": "^3.0.0"
3867 | }
3868 | },
3869 | "spdx-license-ids": {
3870 | "version": "3.0.7",
3871 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
3872 | "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
3873 | "dev": true
3874 | },
3875 | "split-string": {
3876 | "version": "3.1.0",
3877 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3878 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3879 | "dev": true,
3880 | "requires": {
3881 | "extend-shallow": "^3.0.0"
3882 | }
3883 | },
3884 | "sshpk": {
3885 | "version": "1.16.1",
3886 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
3887 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
3888 | "dev": true,
3889 | "requires": {
3890 | "asn1": "~0.2.3",
3891 | "assert-plus": "^1.0.0",
3892 | "bcrypt-pbkdf": "^1.0.0",
3893 | "dashdash": "^1.12.0",
3894 | "ecc-jsbn": "~0.1.1",
3895 | "getpass": "^0.1.1",
3896 | "jsbn": "~0.1.0",
3897 | "safer-buffer": "^2.0.2",
3898 | "tweetnacl": "~0.14.0"
3899 | }
3900 | },
3901 | "stack-utils": {
3902 | "version": "1.0.4",
3903 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz",
3904 | "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==",
3905 | "dev": true,
3906 | "requires": {
3907 | "escape-string-regexp": "^2.0.0"
3908 | },
3909 | "dependencies": {
3910 | "escape-string-regexp": {
3911 | "version": "2.0.0",
3912 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
3913 | "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
3914 | "dev": true
3915 | }
3916 | }
3917 | },
3918 | "static-extend": {
3919 | "version": "0.1.2",
3920 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
3921 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
3922 | "dev": true,
3923 | "requires": {
3924 | "define-property": "^0.2.5",
3925 | "object-copy": "^0.1.0"
3926 | },
3927 | "dependencies": {
3928 | "define-property": {
3929 | "version": "0.2.5",
3930 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3931 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3932 | "dev": true,
3933 | "requires": {
3934 | "is-descriptor": "^0.1.0"
3935 | }
3936 | }
3937 | }
3938 | },
3939 | "stealthy-require": {
3940 | "version": "1.1.1",
3941 | "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
3942 | "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
3943 | "dev": true
3944 | },
3945 | "string-length": {
3946 | "version": "2.0.0",
3947 | "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
3948 | "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
3949 | "dev": true,
3950 | "requires": {
3951 | "astral-regex": "^1.0.0",
3952 | "strip-ansi": "^4.0.0"
3953 | },
3954 | "dependencies": {
3955 | "ansi-regex": {
3956 | "version": "3.0.0",
3957 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
3958 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
3959 | "dev": true
3960 | },
3961 | "strip-ansi": {
3962 | "version": "4.0.0",
3963 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
3964 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
3965 | "dev": true,
3966 | "requires": {
3967 | "ansi-regex": "^3.0.0"
3968 | }
3969 | }
3970 | }
3971 | },
3972 | "string-width": {
3973 | "version": "3.1.0",
3974 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
3975 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
3976 | "dev": true,
3977 | "requires": {
3978 | "emoji-regex": "^7.0.1",
3979 | "is-fullwidth-code-point": "^2.0.0",
3980 | "strip-ansi": "^5.1.0"
3981 | }
3982 | },
3983 | "string.prototype.trimend": {
3984 | "version": "1.0.3",
3985 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
3986 | "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
3987 | "dev": true,
3988 | "requires": {
3989 | "call-bind": "^1.0.0",
3990 | "define-properties": "^1.1.3"
3991 | }
3992 | },
3993 | "string.prototype.trimstart": {
3994 | "version": "1.0.3",
3995 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
3996 | "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
3997 | "dev": true,
3998 | "requires": {
3999 | "call-bind": "^1.0.0",
4000 | "define-properties": "^1.1.3"
4001 | }
4002 | },
4003 | "strip-ansi": {
4004 | "version": "5.2.0",
4005 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
4006 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
4007 | "dev": true,
4008 | "requires": {
4009 | "ansi-regex": "^4.1.0"
4010 | }
4011 | },
4012 | "strip-bom": {
4013 | "version": "3.0.0",
4014 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
4015 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
4016 | "dev": true
4017 | },
4018 | "strip-eof": {
4019 | "version": "1.0.0",
4020 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
4021 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
4022 | "dev": true
4023 | },
4024 | "supports-color": {
4025 | "version": "5.5.0",
4026 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4027 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4028 | "dev": true,
4029 | "requires": {
4030 | "has-flag": "^3.0.0"
4031 | }
4032 | },
4033 | "symbol-tree": {
4034 | "version": "3.2.4",
4035 | "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
4036 | "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
4037 | "dev": true
4038 | },
4039 | "test-exclude": {
4040 | "version": "5.2.3",
4041 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
4042 | "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
4043 | "dev": true,
4044 | "requires": {
4045 | "glob": "^7.1.3",
4046 | "minimatch": "^3.0.4",
4047 | "read-pkg-up": "^4.0.0",
4048 | "require-main-filename": "^2.0.0"
4049 | }
4050 | },
4051 | "throat": {
4052 | "version": "4.1.0",
4053 | "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
4054 | "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
4055 | "dev": true
4056 | },
4057 | "tmpl": {
4058 | "version": "1.0.4",
4059 | "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
4060 | "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
4061 | "dev": true
4062 | },
4063 | "to-fast-properties": {
4064 | "version": "2.0.0",
4065 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
4066 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
4067 | "dev": true
4068 | },
4069 | "to-object-path": {
4070 | "version": "0.3.0",
4071 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
4072 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
4073 | "dev": true,
4074 | "requires": {
4075 | "kind-of": "^3.0.2"
4076 | },
4077 | "dependencies": {
4078 | "kind-of": {
4079 | "version": "3.2.2",
4080 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4081 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4082 | "dev": true,
4083 | "requires": {
4084 | "is-buffer": "^1.1.5"
4085 | }
4086 | }
4087 | }
4088 | },
4089 | "to-regex": {
4090 | "version": "3.0.2",
4091 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
4092 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
4093 | "dev": true,
4094 | "requires": {
4095 | "define-property": "^2.0.2",
4096 | "extend-shallow": "^3.0.2",
4097 | "regex-not": "^1.0.2",
4098 | "safe-regex": "^1.1.0"
4099 | }
4100 | },
4101 | "to-regex-range": {
4102 | "version": "2.1.1",
4103 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
4104 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
4105 | "dev": true,
4106 | "requires": {
4107 | "is-number": "^3.0.0",
4108 | "repeat-string": "^1.6.1"
4109 | }
4110 | },
4111 | "tough-cookie": {
4112 | "version": "2.5.0",
4113 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
4114 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
4115 | "dev": true,
4116 | "requires": {
4117 | "psl": "^1.1.28",
4118 | "punycode": "^2.1.1"
4119 | }
4120 | },
4121 | "tr46": {
4122 | "version": "1.0.1",
4123 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
4124 | "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
4125 | "dev": true,
4126 | "requires": {
4127 | "punycode": "^2.1.0"
4128 | }
4129 | },
4130 | "ts-jest": {
4131 | "version": "24.3.0",
4132 | "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz",
4133 | "integrity": "sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==",
4134 | "dev": true,
4135 | "requires": {
4136 | "bs-logger": "0.x",
4137 | "buffer-from": "1.x",
4138 | "fast-json-stable-stringify": "2.x",
4139 | "json5": "2.x",
4140 | "lodash.memoize": "4.x",
4141 | "make-error": "1.x",
4142 | "mkdirp": "0.x",
4143 | "resolve": "1.x",
4144 | "semver": "^5.5",
4145 | "yargs-parser": "10.x"
4146 | },
4147 | "dependencies": {
4148 | "camelcase": {
4149 | "version": "4.1.0",
4150 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
4151 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
4152 | "dev": true
4153 | },
4154 | "yargs-parser": {
4155 | "version": "10.1.0",
4156 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
4157 | "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
4158 | "dev": true,
4159 | "requires": {
4160 | "camelcase": "^4.1.0"
4161 | }
4162 | }
4163 | }
4164 | },
4165 | "ts-node": {
4166 | "version": "8.10.2",
4167 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz",
4168 | "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==",
4169 | "dev": true,
4170 | "requires": {
4171 | "arg": "^4.1.0",
4172 | "diff": "^4.0.1",
4173 | "make-error": "^1.1.1",
4174 | "source-map-support": "^0.5.17",
4175 | "yn": "3.1.1"
4176 | }
4177 | },
4178 | "tunnel-agent": {
4179 | "version": "0.6.0",
4180 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
4181 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
4182 | "dev": true,
4183 | "requires": {
4184 | "safe-buffer": "^5.0.1"
4185 | }
4186 | },
4187 | "tweetnacl": {
4188 | "version": "0.14.5",
4189 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
4190 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
4191 | "dev": true
4192 | },
4193 | "type-check": {
4194 | "version": "0.3.2",
4195 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
4196 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
4197 | "dev": true,
4198 | "requires": {
4199 | "prelude-ls": "~1.1.2"
4200 | }
4201 | },
4202 | "typescript": {
4203 | "version": "4.1.3",
4204 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
4205 | "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
4206 | "dev": true
4207 | },
4208 | "union-value": {
4209 | "version": "1.0.1",
4210 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
4211 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
4212 | "dev": true,
4213 | "requires": {
4214 | "arr-union": "^3.1.0",
4215 | "get-value": "^2.0.6",
4216 | "is-extendable": "^0.1.1",
4217 | "set-value": "^2.0.1"
4218 | }
4219 | },
4220 | "unset-value": {
4221 | "version": "1.0.0",
4222 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
4223 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
4224 | "dev": true,
4225 | "requires": {
4226 | "has-value": "^0.3.1",
4227 | "isobject": "^3.0.0"
4228 | },
4229 | "dependencies": {
4230 | "has-value": {
4231 | "version": "0.3.1",
4232 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
4233 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
4234 | "dev": true,
4235 | "requires": {
4236 | "get-value": "^2.0.3",
4237 | "has-values": "^0.1.4",
4238 | "isobject": "^2.0.0"
4239 | },
4240 | "dependencies": {
4241 | "isobject": {
4242 | "version": "2.1.0",
4243 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
4244 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
4245 | "dev": true,
4246 | "requires": {
4247 | "isarray": "1.0.0"
4248 | }
4249 | }
4250 | }
4251 | },
4252 | "has-values": {
4253 | "version": "0.1.4",
4254 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
4255 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
4256 | "dev": true
4257 | }
4258 | }
4259 | },
4260 | "uri-js": {
4261 | "version": "4.4.0",
4262 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
4263 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
4264 | "dev": true,
4265 | "requires": {
4266 | "punycode": "^2.1.0"
4267 | }
4268 | },
4269 | "urix": {
4270 | "version": "0.1.0",
4271 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
4272 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
4273 | "dev": true
4274 | },
4275 | "use": {
4276 | "version": "3.1.1",
4277 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
4278 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
4279 | "dev": true
4280 | },
4281 | "util.promisify": {
4282 | "version": "1.1.1",
4283 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz",
4284 | "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==",
4285 | "dev": true,
4286 | "requires": {
4287 | "call-bind": "^1.0.0",
4288 | "define-properties": "^1.1.3",
4289 | "for-each": "^0.3.3",
4290 | "has-symbols": "^1.0.1",
4291 | "object.getownpropertydescriptors": "^2.1.1"
4292 | }
4293 | },
4294 | "uuid": {
4295 | "version": "3.4.0",
4296 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
4297 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
4298 | "dev": true
4299 | },
4300 | "validate-npm-package-license": {
4301 | "version": "3.0.4",
4302 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
4303 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
4304 | "dev": true,
4305 | "requires": {
4306 | "spdx-correct": "^3.0.0",
4307 | "spdx-expression-parse": "^3.0.0"
4308 | }
4309 | },
4310 | "verror": {
4311 | "version": "1.10.0",
4312 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
4313 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
4314 | "dev": true,
4315 | "requires": {
4316 | "assert-plus": "^1.0.0",
4317 | "core-util-is": "1.0.2",
4318 | "extsprintf": "^1.2.0"
4319 | }
4320 | },
4321 | "w3c-hr-time": {
4322 | "version": "1.0.2",
4323 | "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
4324 | "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
4325 | "dev": true,
4326 | "requires": {
4327 | "browser-process-hrtime": "^1.0.0"
4328 | }
4329 | },
4330 | "walker": {
4331 | "version": "1.0.7",
4332 | "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
4333 | "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
4334 | "dev": true,
4335 | "requires": {
4336 | "makeerror": "1.0.x"
4337 | }
4338 | },
4339 | "webidl-conversions": {
4340 | "version": "4.0.2",
4341 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
4342 | "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
4343 | "dev": true
4344 | },
4345 | "whatwg-encoding": {
4346 | "version": "1.0.5",
4347 | "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
4348 | "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
4349 | "dev": true,
4350 | "requires": {
4351 | "iconv-lite": "0.4.24"
4352 | }
4353 | },
4354 | "whatwg-mimetype": {
4355 | "version": "2.3.0",
4356 | "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
4357 | "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
4358 | "dev": true
4359 | },
4360 | "whatwg-url": {
4361 | "version": "6.5.0",
4362 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
4363 | "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
4364 | "dev": true,
4365 | "requires": {
4366 | "lodash.sortby": "^4.7.0",
4367 | "tr46": "^1.0.1",
4368 | "webidl-conversions": "^4.0.2"
4369 | }
4370 | },
4371 | "which": {
4372 | "version": "1.3.1",
4373 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4374 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4375 | "dev": true,
4376 | "requires": {
4377 | "isexe": "^2.0.0"
4378 | }
4379 | },
4380 | "which-module": {
4381 | "version": "2.0.0",
4382 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
4383 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
4384 | "dev": true
4385 | },
4386 | "word-wrap": {
4387 | "version": "1.2.3",
4388 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
4389 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
4390 | "dev": true
4391 | },
4392 | "wrap-ansi": {
4393 | "version": "5.1.0",
4394 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
4395 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
4396 | "dev": true,
4397 | "requires": {
4398 | "ansi-styles": "^3.2.0",
4399 | "string-width": "^3.0.0",
4400 | "strip-ansi": "^5.0.0"
4401 | }
4402 | },
4403 | "wrappy": {
4404 | "version": "1.0.2",
4405 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4406 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
4407 | "dev": true
4408 | },
4409 | "write-file-atomic": {
4410 | "version": "2.4.1",
4411 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
4412 | "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
4413 | "dev": true,
4414 | "requires": {
4415 | "graceful-fs": "^4.1.11",
4416 | "imurmurhash": "^0.1.4",
4417 | "signal-exit": "^3.0.2"
4418 | }
4419 | },
4420 | "ws": {
4421 | "version": "5.2.2",
4422 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
4423 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
4424 | "dev": true,
4425 | "requires": {
4426 | "async-limiter": "~1.0.0"
4427 | }
4428 | },
4429 | "xml-name-validator": {
4430 | "version": "3.0.0",
4431 | "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
4432 | "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
4433 | "dev": true
4434 | },
4435 | "y18n": {
4436 | "version": "4.0.1",
4437 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
4438 | "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
4439 | "dev": true
4440 | },
4441 | "yargs": {
4442 | "version": "13.3.2",
4443 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
4444 | "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
4445 | "dev": true,
4446 | "requires": {
4447 | "cliui": "^5.0.0",
4448 | "find-up": "^3.0.0",
4449 | "get-caller-file": "^2.0.1",
4450 | "require-directory": "^2.1.1",
4451 | "require-main-filename": "^2.0.0",
4452 | "set-blocking": "^2.0.0",
4453 | "string-width": "^3.0.0",
4454 | "which-module": "^2.0.0",
4455 | "y18n": "^4.0.0",
4456 | "yargs-parser": "^13.1.2"
4457 | }
4458 | },
4459 | "yargs-parser": {
4460 | "version": "13.1.2",
4461 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
4462 | "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
4463 | "dev": true,
4464 | "requires": {
4465 | "camelcase": "^5.0.0",
4466 | "decamelize": "^1.2.0"
4467 | }
4468 | },
4469 | "yn": {
4470 | "version": "3.1.1",
4471 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
4472 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
4473 | "dev": true
4474 | }
4475 | }
4476 | }
4477 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-peg",
3 | "version": "0.1.8",
4 | "description": "A react style parser generator, based on PEG.js",
5 | "keywords": [
6 | "react",
7 | "peg",
8 | "parser",
9 | "parser generator"
10 | ],
11 | "repository": {
12 | "type": "git",
13 | "url": "https://github.com/mistlog/react-peg"
14 | },
15 | "homepage": "https://mistlog.github.io/react-peg",
16 | "main": "build/index.js",
17 | "types": "build/index.d.ts",
18 | "files": [
19 | "build"
20 | ],
21 | "scripts": {
22 | "test": "jest --coverage",
23 | "build": "tsc"
24 | },
25 | "author": "mistlog",
26 | "license": "MIT",
27 | "devDependencies": {
28 | "@types/jest": "^24.0.17",
29 | "@types/pegjs": "^0.10.1",
30 | "jest": "^24.8.0",
31 | "ts-jest": "^24.0.2",
32 | "ts-node": "^8.3.0",
33 | "typescript": "^4.1.3"
34 | },
35 | "dependencies": {
36 | "pegjs": "^0.10.0"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/chunk/chunk.test.tsx:
--------------------------------------------------------------------------------
1 |
2 | import { ReactPeg } from "../index";
3 |
4 | test("chunk.tag", () => {
5 | const chunk = abc;
6 | expect(chunk).toEqual({ props: {}, children: ['abc'], tagName: 'text' });
7 | })
8 |
9 | test("chunk.rule", () => {
10 | function Test() {
11 | return (
12 | { props: {}, children: [] }
13 | )
14 | }
15 |
16 | const chunk = ;
17 | expect(chunk).toEqual({ props: { foo: 'hi' }, children: [], rule: Test });
18 | })
--------------------------------------------------------------------------------
/src/chunk/chunk.ts:
--------------------------------------------------------------------------------
1 | export type RepeatType = "*" | "+";
2 | export type AssertType = "with" | "without";
3 |
4 | export interface Chunk {
5 | //
6 | tagName?: string;
7 | rule?: Function;
8 |
9 | //
10 | props: { label?: string, type?: RepeatType | AssertType };
11 | children: object[];
12 | }
13 |
14 | export function createChunk(from: string | Function, props: object, ...children: object[]): Chunk {
15 | const chunk: Chunk = { props: props || {}, children };
16 |
17 | if (typeof from === "string") {
18 | chunk.tagName = from;
19 | }
20 | else {
21 | chunk.rule = from;
22 | }
23 |
24 | return chunk;
25 | }
26 |
27 | export function isChunk(obj: object) {
28 | return typeof obj !== "string" && "props" in obj && "children" in obj;
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { createChunk, Chunk } from "./chunk/chunk";
2 | import { render } from "./renderer/renderer";
3 | import { TextRule, OrRule, ListRule, RepeatRule, SetRule, OptionalRule, AssertRule, PatternRule, AnyCharacterRule } from "./translator/common/type";
4 |
5 | export { ActionParam } from "./rule/rule";
6 | export { Chunk } from "./chunk/chunk";
7 |
8 | export { PegjsError as SyntaxError } from "pegjs";
9 |
10 | export const ReactPeg = {
11 | createChunk,
12 | render,
13 | };
14 |
15 | declare global {
16 | namespace JSX {
17 | interface ElementAttributesProperty {
18 | props: any;
19 | }
20 | interface ElementChildrenAttribute {
21 | children: null;
22 | }
23 |
24 | interface Element extends Chunk {
25 |
26 | }
27 |
28 | interface ElementClass {
29 | render: Function;
30 | }
31 |
32 | interface IntrinsicElements {
33 | text: TextRule;
34 | or: OrRule;
35 | list: ListRule;
36 | repeat: RepeatRule;
37 | set: SetRule;
38 | opt: OptionalRule;
39 | assert: AssertRule;
40 | pattern: PatternRule;
41 | any: AnyCharacterRule;
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/src/renderer/__snapshots__/renderer.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`renderer.parse 1`] = `"Expected Digit but \\"a\\" found."`;
4 |
5 | exports[`renderer: tracer 1`] = `
6 | Object {
7 | "location": Object {
8 | "end": Object {
9 | "column": 1,
10 | "line": 1,
11 | "offset": 0,
12 | },
13 | "start": Object {
14 | "column": 1,
15 | "line": 1,
16 | "offset": 0,
17 | },
18 | },
19 | "rule": "TracerTest",
20 | "type": "rule.enter",
21 | }
22 | `;
23 |
24 | exports[`renderer: tracer 2`] = `
25 | Object {
26 | "location": Object {
27 | "end": Object {
28 | "column": 1,
29 | "line": 1,
30 | "offset": 0,
31 | },
32 | "start": Object {
33 | "column": 1,
34 | "line": 1,
35 | "offset": 0,
36 | },
37 | },
38 | "rule": "Digit",
39 | "type": "rule.enter",
40 | }
41 | `;
42 |
43 | exports[`renderer: tracer 3`] = `
44 | Object {
45 | "location": Object {
46 | "end": Object {
47 | "column": 2,
48 | "line": 1,
49 | "offset": 1,
50 | },
51 | "start": Object {
52 | "column": 1,
53 | "line": 1,
54 | "offset": 0,
55 | },
56 | },
57 | "result": "1",
58 | "rule": "Digit",
59 | "type": "rule.match",
60 | }
61 | `;
62 |
63 | exports[`renderer: tracer 4`] = `
64 | Object {
65 | "location": Object {
66 | "end": Object {
67 | "column": 2,
68 | "line": 1,
69 | "offset": 1,
70 | },
71 | "start": Object {
72 | "column": 2,
73 | "line": 1,
74 | "offset": 1,
75 | },
76 | },
77 | "rule": "Digit",
78 | "type": "rule.enter",
79 | }
80 | `;
81 |
82 | exports[`renderer: tracer 5`] = `
83 | Object {
84 | "location": Object {
85 | "end": Object {
86 | "column": 3,
87 | "line": 1,
88 | "offset": 2,
89 | },
90 | "start": Object {
91 | "column": 2,
92 | "line": 1,
93 | "offset": 1,
94 | },
95 | },
96 | "result": "2",
97 | "rule": "Digit",
98 | "type": "rule.match",
99 | }
100 | `;
101 |
102 | exports[`renderer: tracer 6`] = `
103 | Object {
104 | "location": Object {
105 | "end": Object {
106 | "column": 3,
107 | "line": 1,
108 | "offset": 2,
109 | },
110 | "start": Object {
111 | "column": 3,
112 | "line": 1,
113 | "offset": 2,
114 | },
115 | },
116 | "rule": "Digit",
117 | "type": "rule.enter",
118 | }
119 | `;
120 |
121 | exports[`renderer: tracer 7`] = `
122 | Object {
123 | "location": Object {
124 | "end": Object {
125 | "column": 4,
126 | "line": 1,
127 | "offset": 3,
128 | },
129 | "start": Object {
130 | "column": 3,
131 | "line": 1,
132 | "offset": 2,
133 | },
134 | },
135 | "result": "3",
136 | "rule": "Digit",
137 | "type": "rule.match",
138 | }
139 | `;
140 |
141 | exports[`renderer: tracer 8`] = `
142 | Object {
143 | "location": Object {
144 | "end": Object {
145 | "column": 4,
146 | "line": 1,
147 | "offset": 3,
148 | },
149 | "start": Object {
150 | "column": 1,
151 | "line": 1,
152 | "offset": 0,
153 | },
154 | },
155 | "result": "123",
156 | "rule": "TracerTest",
157 | "type": "rule.match",
158 | }
159 | `;
160 |
--------------------------------------------------------------------------------
/src/renderer/renderer.test.tsx:
--------------------------------------------------------------------------------
1 | import { ReactPeg } from "../index";
2 | import { ITracer } from "./renderer";
3 |
4 | export type DigitNode = string;
5 |
6 | export function Digit() {
7 | return (
8 | globalFunction.text()}>
9 | 0-9
10 |
11 | );
12 | }
13 |
14 |
15 | test("renderer", () => {
16 | const parser = ReactPeg.render();
17 | const ast = parser.parse("1");
18 | expect(ast).toEqual("1");
19 | })
20 |
21 |
22 | test("renderer.parse", () => {
23 | const parser = ReactPeg.render();
24 | expect(() => {
25 | parser.parse("a")
26 | }).toThrowErrorMatchingSnapshot();
27 | })
28 |
29 |
30 | test("renderer.cache-rule", () => {
31 |
32 | function CacheTest() {
33 | return (
34 | {
35 | return values.join("");
36 | }}>
37 |
38 |
39 |
40 |
41 |
42 | );
43 | }
44 |
45 | const parser = ReactPeg.render();
46 | const ast = parser.parse("12");
47 | expect(ast).toEqual("12");
48 | })
49 |
50 | test("renderer: tracer", () => {
51 | function TracerTest() {
52 | return (
53 | {
54 | return values.join("");
55 | }}>
56 |
57 |
58 |
59 |
60 |
61 |
62 | );
63 | }
64 |
65 | const tracer: ITracer = {
66 | trace: event => {
67 | expect(event).toMatchSnapshot();
68 | }
69 | };
70 | const parser = ReactPeg.render(, { tracer });
71 | const ast = parser.parse("123");
72 | expect(ast).toEqual("123");
73 | })
74 |
75 | test("renderer.context", () => {
76 |
77 | function ContextTest() {
78 | return (
79 | {
80 | return globalContext.transform(digit);
81 | }}>
82 |
83 |
84 | );
85 | }
86 |
87 | const parser = ReactPeg.render();
88 | const ast = parser.parse("1", {
89 | transform: (digit: string) => `digit value is ${digit}`
90 | });
91 | expect(ast).toEqual("digit value is 1");
92 | })
--------------------------------------------------------------------------------
/src/renderer/renderer.ts:
--------------------------------------------------------------------------------
1 | import { Chunk, isChunk } from "../chunk/chunk";
2 | import { RuleTranslator } from "../translator/rule/rule";
3 | import * as peg from "pegjs";
4 |
5 | export interface ITraceEvent {
6 | type: "rule.enter" | "rule.fail" | "rule.match"
7 | rule: string
8 | location: peg.LocationRange
9 | }
10 | export interface ITracer {
11 | trace: (event: ITraceEvent) => void
12 | }
13 |
14 | class Renderer {
15 | initializer: string;
16 |
17 | start: Chunk;
18 | grammar: Map;
19 | rules: Map;
20 | actions: Map;
21 | tracer: ITracer = null;
22 |
23 | constructor(chunk: Chunk) {
24 | this.initializer = `
25 | {
26 | const { actions, context } = options;
27 | const globalFunction = {
28 | location,
29 | text
30 | };
31 | const globalContext = context || {};
32 | }
33 | `;
34 |
35 | this.start = chunk;
36 | this.grammar = new Map();
37 | this.grammar.set("initializer", this.initializer);
38 | this.rules = new Map();
39 | this.actions = new Map();
40 | }
41 |
42 | render() {
43 | this.collectRule(this.start);
44 | const grammar = [...this.grammar.values()].join("\n\n");
45 | return grammar;
46 | }
47 |
48 | collectRule(chunk: Chunk) {
49 | if (!isChunk(chunk)) {
50 | return;
51 | }
52 |
53 | if (chunk.rule) {
54 | const translator = new RuleTranslator();
55 | const ruleStr = translator.translate(chunk, this.actions);
56 | const { name, chunkOutput, rule } = translator.cache;
57 |
58 | if (this.rules.has(name)) {
59 | return;
60 | }
61 |
62 | this.rules.set(name, rule);
63 | this.grammar.set(name, ruleStr);
64 | this.collectRule(chunkOutput);
65 | }
66 |
67 | chunk.children.forEach(child => {
68 | this.collectRule(child as Chunk);
69 | })
70 | }
71 | }
72 |
73 | class Parser {
74 | parser: peg.Parser;
75 | renderer: Renderer;
76 | grammar: string;
77 |
78 | constructor(renderer: Renderer) {
79 | this.renderer = renderer;
80 | this.grammar = this.renderer.render();
81 | this.parser = peg.generate(this.grammar, { trace: Boolean(renderer.tracer) });
82 | }
83 |
84 | parse(code: string, context = {}) {
85 | try {
86 | const options: peg.ParserOptions = { actions: this.renderer.actions, context };
87 | if (this.renderer.tracer) {
88 | /**
89 | * Tracing with peg.js: https://gist.github.com/mistlog/3ac6fdf7de3e7af2da15b339b4bb5187
90 | */
91 | options.tracer = this.renderer.tracer;
92 | }
93 | const ast = this.parser.parse(code, options);
94 | return ast;
95 | } catch (error) {
96 | throw { message: error.message, location: error.location, stack: error.stack };
97 | }
98 | }
99 | }
100 |
101 | export interface IRenderConfig {
102 | tracer?: ITracer
103 | }
104 |
105 | export function render(chunk: Chunk, config: IRenderConfig = {}) {
106 | const renderer = new Renderer(chunk);
107 | if (config.tracer) {
108 | renderer.tracer = config.tracer;
109 | }
110 | const parser = new Parser(renderer);
111 | return parser;
112 | }
113 |
114 |
--------------------------------------------------------------------------------
/src/rule/rule.ts:
--------------------------------------------------------------------------------
1 | export interface ActionParam {
2 | globalFunction: { text: Function, location: Function };
3 | [label: string]: any;
4 | }
--------------------------------------------------------------------------------
/src/translator/built-in/__snapshots__/built-in.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`translator.pattern 1`] = `
4 | "((a: 'a' {
5 | return actions.get(\\"action0\\")({a, globalFunction,globalContext});
6 | }) / (b: 'b' {
7 | return actions.get(\\"action1\\")({b, globalFunction,globalContext});
8 | }))"
9 | `;
10 |
--------------------------------------------------------------------------------
/src/translator/built-in/any.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 |
4 | export class AnyCharacterTranslator extends Translator {
5 | translate(chunk: Chunk) {
6 | return `.`;
7 | }
8 | }
--------------------------------------------------------------------------------
/src/translator/built-in/assert.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk, AssertType } from "../../chunk/chunk";
3 | import { translateChildren } from "../common/pattern";
4 |
5 | export class AssertTranslator extends Translator {
6 | translate(chunk: Chunk, actions: Map) {
7 | const assertType = chunk.props.type as AssertType === "with" ? "&" : "!";
8 | const expression = translateChildren(chunk, actions).join(" ");
9 | const pattern = `${assertType}(${expression})`;
10 | return pattern;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/translator/built-in/built-in.test.tsx:
--------------------------------------------------------------------------------
1 | import { ReactPeg } from "../../index";
2 | import { translate } from "../common/pattern";
3 |
4 | test("translator.text", () => {
5 | const chunk = abc;
6 | const pattern = translate(chunk);
7 | expect(pattern).toEqual(`'abc'`);
8 | })
9 |
10 | test("translator.any", () => {
11 | const chunk = ;
12 | const pattern = translate(chunk);
13 | expect(pattern).toEqual(`.`);
14 | })
15 |
16 | test("translator.or", () => {
17 | const chunk = (
18 |
19 | a
20 | b
21 |
22 | );
23 | const pattern = translate(chunk);
24 | expect(pattern).toEqual(`('a' / 'b')`);
25 | })
26 |
27 | test("translator.or.array", () => {
28 | const chunk = (
29 |
30 | {["a", "b"].map(each => (
31 | {each}
32 | ))}
33 |
34 | );
35 | const pattern = translate(chunk);
36 | expect(pattern).toEqual(`('a' / 'b')`);
37 | })
38 |
39 | test("translator.list", () => {
40 | const chunk = (
41 |
42 | a
43 | b
44 |
45 | );
46 | const pattern = translate(chunk);
47 | expect(pattern).toEqual(`'a' 'b'`);
48 | })
49 |
50 | test("translator.repeat.zero-or-more", () => {
51 | const chunk = (
52 |
53 | a
54 |
55 | );
56 |
57 | const pattern = translate(chunk);
58 | expect(pattern).toEqual("('a')*");
59 | })
60 |
61 | test("translator.repeat.one-or-more", () => {
62 | const chunk = (
63 |
64 | a
65 |
66 | );
67 |
68 | const pattern = translate(chunk);
69 | expect(pattern).toEqual("('a')+");
70 | });
71 |
72 | test("translator.set", () => {
73 | const chunk = (
74 | a-z0-9A-Z
75 | );
76 |
77 | const pattern = translate(chunk);
78 | expect(pattern).toEqual("[a-z0-9A-Z]");
79 | })
80 |
81 | test("translator.optional", () => {
82 | const chunk = (
83 |
84 |
85 | a
86 |
87 | a
88 |
89 | );
90 | const pattern = translate(chunk);
91 | expect(pattern).toEqual(`('a')? 'a'`);
92 | })
93 |
94 | test("translator.assert.with", () => {
95 | const chunk = (
96 |
97 | a
98 |
99 | cd
100 |
101 | cdab
102 |
103 | );
104 | const pattern = translate(chunk);
105 | expect(pattern).toEqual(`'a' &('cd') 'cdab'`);
106 | })
107 |
108 | test("translator.assert.without", () => {
109 | const chunk = (
110 |
111 | a
112 |
113 | cd
114 |
115 | cdab
116 |
117 | );
118 | const pattern = translate(chunk);
119 | expect(pattern).toEqual(`'a' !('cd') 'cdab'`);
120 | })
121 |
122 | test("translator.text.label", () => {
123 | const chunk = abc;
124 | const pattern = translate(chunk);
125 | expect(pattern).toEqual(`t: 'abc'`);
126 | })
127 |
128 |
129 | test("translator.pattern", () => {
130 | const chunk = (
131 |
132 | a + "a"}>
133 | a
134 |
135 | b + "b"}>
136 | b
137 |
138 |
139 | );
140 | const actions = new Map();
141 | const pattern = translate(chunk, actions);
142 | expect(pattern).toMatchSnapshot();
143 | })
--------------------------------------------------------------------------------
/src/translator/built-in/list.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 | import { translateChildren } from "../common/pattern";
4 |
5 | export class ListTranslator extends Translator {
6 | translate(chunk: Chunk, actions: Map) {
7 | const expression = translateChildren(chunk, actions).join(" ");
8 | if (chunk.props.label) {
9 | return `(${expression})`;
10 | }
11 | return expression;
12 | }
13 | }
--------------------------------------------------------------------------------
/src/translator/built-in/opt.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 | import { translateChildren } from "../common/pattern";
4 |
5 | export class OptionalTranslator extends Translator {
6 | translate(chunk: Chunk, actions: Map) {
7 | const expression = translateChildren(chunk, actions).join(" ");
8 | const pattern = `(${expression})?`;
9 | return pattern;
10 | }
11 | }
--------------------------------------------------------------------------------
/src/translator/built-in/or.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 | import { translateChildren } from "../common/pattern";
4 |
5 | export class OrTranslator extends Translator {
6 | translate(chunk: Chunk, actions: Map) {
7 | // TODO: use Array.flat
8 | chunk.children = [].concat(...chunk.children);
9 | const expression = translateChildren(chunk, actions).join(" / ");
10 | const pattern = `(${expression})`;
11 | return pattern;
12 | }
13 | }
--------------------------------------------------------------------------------
/src/translator/built-in/pattern.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk, isChunk } from "../../chunk/chunk";
3 | import { translateChildren } from "../common/pattern";
4 |
5 | export class PatternTranslator extends Translator {
6 | translate(chunk: Chunk, actions: Map) {
7 | const expression = translateChildren(chunk, actions).join(" ");
8 | const labels = collectLabels(chunk);
9 | const actionStr = translateAction(chunk.props["action"], labels, actions);
10 | return `(${expression} ${actionStr})`;
11 | }
12 | }
13 |
14 | function translateAction(action: Function, labels: Array, actions: Map) {
15 | const labels_param = labels.length === 0 ? "" : `${labels.join(", ")}, `;
16 |
17 | const key = `action${actions.size}`;
18 | actions.set(key, action);
19 |
20 | const actionStr = `{
21 | return actions.get("${key}")({${labels_param}${["globalFunction", "globalContext"].join(",")}});
22 | }`;
23 | return actionStr;
24 | }
25 |
26 | function collectLabels(chunk: Chunk): Array {
27 | if (!isChunk(chunk)) {
28 | return [];
29 | }
30 |
31 | const labels = [];
32 |
33 | if (chunk.props.label) {
34 | labels.push(chunk.props.label);
35 | }
36 | else {
37 | chunk.children.forEach(child => {
38 | labels.push(...collectLabels(child as Chunk));
39 | });
40 | }
41 |
42 | return labels;
43 | }
44 |
45 |
--------------------------------------------------------------------------------
/src/translator/built-in/repeat.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 | import { translateChildren } from "../common/pattern";
4 |
5 | export class RepeatTranslator extends Translator {
6 | translate(chunk: Chunk, actions: Map) {
7 | const expression = translateChildren(chunk, actions).join(" ");
8 | const repeatType = chunk.props.type;
9 | const pattern = `(${expression})${repeatType}`;
10 | return pattern;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/translator/built-in/set.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 |
4 | export class SetTranslator extends Translator {
5 | translate(chunk: Chunk) {
6 | const pattern = `[${chunk.children.join("")}]`;
7 | return pattern;
8 | }
9 | }
--------------------------------------------------------------------------------
/src/translator/built-in/text.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 |
4 | export class TextTranslator extends Translator {
5 | translate(chunk: Chunk) {
6 | const text = chunk.children.join("");
7 | const pattern = `'${text}'`;
8 | return pattern;
9 | }
10 | }
--------------------------------------------------------------------------------
/src/translator/common/base.ts:
--------------------------------------------------------------------------------
1 | import { Chunk } from "../../chunk/chunk";
2 |
3 | export abstract class Translator {
4 | abstract translate(chunk: Chunk, actions: Map): string;
5 | }
--------------------------------------------------------------------------------
/src/translator/common/pattern.ts:
--------------------------------------------------------------------------------
1 | import { Chunk } from "../../chunk/chunk";
2 | import { TranslatorTable } from "./translator-table";
3 |
4 | export function translate(chunk: Chunk, actions: Map = new Map()) {
5 | const label = chunk.props.label ? `${chunk.props.label}: ` : "";
6 | let pattern = "__undefined__";
7 |
8 | if (chunk.tagName) {
9 | const key = chunk.tagName;
10 | const Translator = TranslatorTable[key];
11 | pattern = new Translator().translate(chunk, actions);
12 | }
13 | else {
14 | pattern = chunk.rule.name;
15 | }
16 |
17 | return `${label}${pattern}`;
18 | }
19 |
20 | export function translateChildren(chunk: Chunk, actions: Map) {
21 | return (chunk.children as Array).map(child => translate(child, actions));
22 | }
--------------------------------------------------------------------------------
/src/translator/common/translator-table.ts:
--------------------------------------------------------------------------------
1 | import { TextTranslator } from "../built-in/text";
2 | import { RuleTranslator } from "../rule/rule";
3 | import { OrTranslator } from "../built-in/or";
4 | import { ListTranslator } from "../built-in/list";
5 | import { RepeatTranslator } from "../built-in/repeat";
6 | import { OptionalTranslator } from "../built-in/opt";
7 | import { AssertTranslator } from "../built-in/assert";
8 | import { SetTranslator } from "../built-in/set";
9 | import { PatternTranslator } from "../built-in/pattern";
10 | import { AnyCharacterTranslator } from "../built-in/any";
11 |
12 | export const TranslatorTable =
13 | {
14 | "rule": RuleTranslator,
15 | "list": ListTranslator,
16 | "repeat": RepeatTranslator,
17 | "set": SetTranslator,
18 | "opt": OptionalTranslator,
19 | "assert": AssertTranslator,
20 | "text": TextTranslator,
21 | "or": OrTranslator,
22 | "pattern": PatternTranslator,
23 | "any": AnyCharacterTranslator
24 | }
--------------------------------------------------------------------------------
/src/translator/common/type.ts:
--------------------------------------------------------------------------------
1 | import { RepeatType, AssertType } from "../../chunk/chunk";
2 |
3 | export interface BuiltInRule {
4 | label?: string;
5 | }
6 |
7 | export interface TextRule extends BuiltInRule {
8 | children?: string;
9 | }
10 |
11 | export interface AnyCharacterRule extends BuiltInRule {
12 |
13 | }
14 |
15 | export interface OrRule extends BuiltInRule {
16 | children: Array;
17 | }
18 |
19 | export interface ListRule extends BuiltInRule {
20 | children: JSX.Element | Array;
21 | }
22 |
23 | export interface RepeatRule extends BuiltInRule {
24 | children: JSX.Element | Array;
25 | type: RepeatType;
26 | }
27 |
28 | export interface SetRule extends BuiltInRule {
29 | children: string;
30 | }
31 |
32 | export interface OptionalRule extends BuiltInRule {
33 | children: JSX.Element | Array;
34 | }
35 |
36 | export interface AssertRule extends BuiltInRule {
37 | children: JSX.Element;
38 | type: AssertType;
39 | }
40 |
41 | export interface PatternRule extends BuiltInRule {
42 | children: JSX.Element | Array;
43 | action: Function;
44 | }
--------------------------------------------------------------------------------
/src/translator/rule/__snapshots__/rule.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`translator.rule 1`] = `"Test \\"Test\\" = 'abc'"`;
4 |
5 | exports[`translator.rule.label 1`] = `"Test \\"Test\\" = l: (a: (c: 'a' / t: 'b'))+"`;
6 |
7 | exports[`translator.rule.pattern 1`] = `"Test \\"Test\\" = Foo"`;
8 |
9 | exports[`translator.rule.props 1`] = `
10 | "Char \\"Char\\" = ([A-Z] {
11 | return actions.get(\\"action0\\")({globalFunction,globalContext});
12 | })"
13 | `;
14 |
15 | exports[`translator.rule.props 2`] = `
16 | "Char \\"Char\\" = ([a-z] {
17 | return actions.get(\\"action0\\")({globalFunction,globalContext});
18 | })"
19 | `;
20 |
--------------------------------------------------------------------------------
/src/translator/rule/rule.test.tsx:
--------------------------------------------------------------------------------
1 | import { ReactPeg } from "../../index";
2 | import { RuleTranslator } from "./rule";
3 |
4 | test("translator.rule", () => {
5 | function Test() {
6 | return (
7 | abc
8 | )
9 | }
10 | const chunk = ;
11 | const rule = new RuleTranslator().translate(chunk);
12 | expect(rule).toMatchSnapshot();
13 | })
14 |
15 |
16 | test("translator.rule.label", () => {
17 | function Test() {
18 | return (
19 |
20 |
21 | a
22 | b
23 |
24 |
25 | );
26 | }
27 |
28 | const chunk = ;
29 | const rule = new RuleTranslator().translate(chunk);
30 | expect(rule).toMatchSnapshot();
31 | })
32 |
33 | test("translator.rule.pattern", () => {
34 |
35 | function Foo() {
36 | return (
37 | hi
38 | );
39 | }
40 |
41 | function Test() {
42 | return (
43 |
44 |
45 |
46 | );
47 | }
48 |
49 | const chunk = ;
50 | const rule = new RuleTranslator().translate(chunk);
51 | expect(rule).toMatchSnapshot();
52 |
53 | })
54 |
55 | interface ICharProps {
56 | uppercase?: boolean
57 | }
58 | export function Char(props: ICharProps) {
59 | const { uppercase = false } = props;
60 |
61 | return (
62 | globalFunction.text()}>
63 | {`${uppercase ? "a-z" : "A-Z"}`}
64 |
65 | )
66 | }
67 |
68 | test("translator.rule.props", () => {
69 | {
70 | const chunk = ;
71 | const rule = new RuleTranslator().translate(chunk);
72 | expect(rule).toMatchSnapshot();
73 | }
74 | {
75 | const chunk = ;
76 | const rule = new RuleTranslator().translate(chunk);
77 | expect(rule).toMatchSnapshot();
78 | }
79 | })
--------------------------------------------------------------------------------
/src/translator/rule/rule.ts:
--------------------------------------------------------------------------------
1 | import { Translator } from "../common/base";
2 | import { Chunk } from "../../chunk/chunk";
3 | import { translate } from "../common/pattern";
4 |
5 | export class RuleTranslator extends Translator {
6 | cache: { name: string, chunkOutput: Chunk, rule: Function };
7 |
8 | constructor() {
9 | super();
10 | this.cache = { name: "__undefined__", chunkOutput: null, rule: null };
11 | }
12 |
13 | translate(chunkInput: Chunk, actions: Map = new Map()) {
14 | //
15 | const name = chunkInput.rule.name;
16 | const chunkOutput = Reflect.apply(chunkInput.rule, null, [chunkInput.props]);
17 | const pattern = translate(chunkOutput, actions);
18 |
19 | //
20 | this.cache.name = name;
21 | this.cache.chunkOutput = chunkOutput;
22 | this.cache.rule = chunkInput.rule;
23 |
24 | //
25 | const rule = `${name} "${name}" = ${pattern}`;
26 | return rule;
27 | }
28 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "jsx": "react",
4 | "jsxFactory": "ReactPeg.createChunk",
5 | "target": "es6",
6 | "lib": [
7 | "es2019"
8 | ],
9 | "sourceMap": false,
10 | "outDir": "./build",
11 | "types": ["jest"],
12 | "declaration": true,
13 | "module": "commonjs"
14 | },
15 | "include": [
16 | "src/**/*"
17 | ],
18 | "exclude": [
19 | "src/**/*.test.tsx",
20 | "node_modules"
21 | ]
22 | }
--------------------------------------------------------------------------------