├── .gitignore
├── README.md
├── db.json
├── index.html
├── package.json
├── postcss.config.cjs
├── public
└── vite.svg
├── src
├── App.css
├── App.tsx
├── assets
│ ├── react.svg
│ └── typescript-mistakes.png
├── components
│ └── user.tsx
├── essentials
│ ├── enums.ts
│ ├── is.ts
│ ├── satisfies.ts
│ ├── unknown.ts
│ └── utilityTypes.ts
├── examples
│ └── unknown
│ │ └── index.tsx
├── index.css
├── main.tsx
└── vite-env.d.ts
├── tailwind.config.cjs
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Typescript Junior Mistakes
2 |
3 | 
4 |
5 | All the principles are explained on CoderOne's youtube channel: https://youtu.be/MSq_DCRxOxw
6 |
7 | ## Code
8 |
9 | This Repo has examples for all best Typescript practices and junior mistakes
10 | All practices are inside othe `src/essentials` folder.
11 |
12 | You can run the dev server using:
13 |
14 | ```bash
15 | yarn install
16 | yarn dev
17 | ```
18 |
--------------------------------------------------------------------------------
/db.json:
--------------------------------------------------------------------------------
1 | {
2 | "users": [
3 | {
4 | "id": 1,
5 | "firstName": "Terry",
6 | "lastName": "Medhurst",
7 | "maidenName": "Smitham",
8 | "token": "44-33-5553f",
9 | "age": 50,
10 | "gender": "male",
11 | "email": "atuny0@sohu.com",
12 | "phone": "+63 791 675 8914",
13 | "username": "atuny0",
14 | "password": "9uQFF1Lh",
15 | "birthDate": "2000-12-25",
16 | "image": "https://robohash.org/hicveldicta.png",
17 | "bloodGroup": "A−",
18 | "height": 189,
19 | "weight": 75.4,
20 | "eyeColor": "Green",
21 | "hair": {
22 | "color": "Black",
23 | "type": "Strands"
24 | },
25 | "domain": "slashdot.org",
26 | "ip": "117.29.86.254",
27 | "address": {
28 | "address": "1745 T Street Southeast",
29 | "city": "Washington",
30 | "coordinates": {
31 | "lat": 38.867033,
32 | "lng": -76.979235
33 | },
34 | "postalCode": "20020",
35 | "state": "DC"
36 | },
37 | "macAddress": "13:69:BA:56:A3:74",
38 | "university": "Capitol University",
39 | "bank": {
40 | "cardExpire": "06/22",
41 | "cardNumber": "50380955204220685",
42 | "cardType": "maestro",
43 | "currency": "Peso",
44 | "iban": "NO17 0695 2754 967"
45 | },
46 | "company": {
47 | "address": {
48 | "address": "629 Debbie Drive",
49 | "city": "Nashville",
50 | "coordinates": {
51 | "lat": 36.208114,
52 | "lng": -86.58621199999999
53 | },
54 | "postalCode": "37076",
55 | "state": "TN"
56 | },
57 | "department": "Marketing",
58 | "name": "Blanda-O'Keefe",
59 | "title": "Help Desk Operator"
60 | },
61 | "ein": "20-9487066",
62 | "ssn": "661-64-2976",
63 | "userAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/12.0.702.0 Safari/534.24"
64 | },
65 | {
66 | "id": 2,
67 | "firstName": "Sheldon",
68 | "lastName": "Quigley",
69 | "maidenName": "Cole",
70 | "age": 28,
71 | "gender": "male",
72 | "email": "hbingley1@plala.or.jp",
73 | "phone": "+7 813 117 7139",
74 | "username": "hbingley1",
75 | "password": "CQutx25i8r",
76 | "birthDate": "2003-08-02",
77 | "image": "https://robohash.org/doloremquesintcorrupti.png",
78 | "bloodGroup": "O+",
79 | "height": 187,
80 | "weight": 74,
81 | "eyeColor": "Brown",
82 | "hair": {
83 | "color": "Blond",
84 | "type": "Curly"
85 | },
86 | "domain": "51.la",
87 | "ip": "253.240.20.181",
88 | "address": {
89 | "address": "6007 Applegate Lane",
90 | "city": "Louisville",
91 | "coordinates": {
92 | "lat": 38.1343013,
93 | "lng": -85.6498512
94 | },
95 | "postalCode": "40219",
96 | "state": "KY"
97 | },
98 | "macAddress": "13:F1:00:DA:A4:12",
99 | "university": "Stavropol State Technical University",
100 | "bank": {
101 | "cardExpire": "10/23",
102 | "cardNumber": "5355920631952404",
103 | "cardType": "mastercard",
104 | "currency": "Ruble",
105 | "iban": "MD63 L6YC 8YH4 QVQB XHIK MTML"
106 | },
107 | "company": {
108 | "address": {
109 | "address": "8821 West Myrtle Avenue",
110 | "city": "Glendale",
111 | "coordinates": {
112 | "lat": 33.5404296,
113 | "lng": -112.2488391
114 | },
115 | "postalCode": "85305",
116 | "state": "AZ"
117 | },
118 | "department": "Services",
119 | "name": "Aufderhar-Cronin",
120 | "title": "Senior Cost Accountant"
121 | },
122 | "ein": "52-5262907",
123 | "ssn": "447-08-9217",
124 | "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/11.04 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30"
125 | },
126 | {
127 | "id": 3,
128 | "firstName": "Terrill",
129 | "lastName": "Hills",
130 | "maidenName": "Hoeger",
131 | "age": 38,
132 | "gender": "male",
133 | "email": "rshawe2@51.la",
134 | "phone": "+63 739 292 7942",
135 | "username": "rshawe2",
136 | "password": "OWsTbMUgFc",
137 | "birthDate": "1992-12-30",
138 | "image": "https://robohash.org/consequunturautconsequatur.png",
139 | "bloodGroup": "A−",
140 | "height": 200,
141 | "weight": 105.3,
142 | "eyeColor": "Gray",
143 | "hair": {
144 | "color": "Blond",
145 | "type": "Very curly"
146 | },
147 | "domain": "earthlink.net",
148 | "ip": "205.226.160.3",
149 | "address": {
150 | "address": "560 Penstock Drive",
151 | "city": "Grass Valley",
152 | "coordinates": {
153 | "lat": 39.213076,
154 | "lng": -121.077583
155 | },
156 | "postalCode": "95945",
157 | "state": "CA"
158 | },
159 | "macAddress": "F2:88:58:64:F7:76",
160 | "university": "University of Cagayan Valley",
161 | "bank": {
162 | "cardExpire": "10/23",
163 | "cardNumber": "3586082982526703",
164 | "cardType": "jcb",
165 | "currency": "Peso",
166 | "iban": "AT24 1095 9625 1434 9703"
167 | },
168 | "company": {
169 | "address": {
170 | "address": "18 Densmore Drive",
171 | "city": "Essex",
172 | "coordinates": {
173 | "lat": 44.492953,
174 | "lng": -73.101883
175 | },
176 | "postalCode": "05452",
177 | "state": "VT"
178 | },
179 | "department": "Marketing",
180 | "name": "Lindgren LLC",
181 | "title": "Mechanical Systems Engineer"
182 | },
183 | "ein": "48-3951994",
184 | "ssn": "633-89-1926",
185 | "userAgent": "Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:21.0.0) Gecko/20121011 Firefox/21.0.0"
186 | },
187 | {
188 | "id": 4,
189 | "firstName": "Miles",
190 | "lastName": "Cummerata",
191 | "maidenName": "Maggio",
192 | "age": 49,
193 | "gender": "male",
194 | "email": "yraigatt3@nature.com",
195 | "phone": "+86 461 145 4186",
196 | "username": "yraigatt3",
197 | "password": "sRQxjPfdS",
198 | "birthDate": "1969-01-16",
199 | "image": "https://robohash.org/facilisdignissimosdolore.png",
200 | "bloodGroup": "B+",
201 | "height": 157,
202 | "weight": 95.9,
203 | "eyeColor": "Gray",
204 | "hair": {
205 | "color": "Blond",
206 | "type": "Very curly"
207 | },
208 | "domain": "homestead.com",
209 | "ip": "243.20.78.113",
210 | "address": {
211 | "address": "150 Carter Street",
212 | "city": "Manchester",
213 | "coordinates": {
214 | "lat": 41.76556000000001,
215 | "lng": -72.473091
216 | },
217 | "postalCode": "06040",
218 | "state": "CT"
219 | },
220 | "macAddress": "03:45:58:59:5A:7B",
221 | "university": "Shenyang Pharmaceutical University",
222 | "bank": {
223 | "cardExpire": "07/24",
224 | "cardNumber": "3580047879369323",
225 | "cardType": "jcb",
226 | "currency": "Yuan Renminbi",
227 | "iban": "KZ43 658B M6VS TZOU OXSO"
228 | },
229 | "company": {
230 | "address": {
231 | "address": "210 Green Road",
232 | "city": "Manchester",
233 | "coordinates": {
234 | "lat": 41.7909099,
235 | "lng": -72.51195129999999
236 | },
237 | "postalCode": "06042",
238 | "state": "CT"
239 | },
240 | "department": "Business Development",
241 | "name": "Wolff and Sons",
242 | "title": "Paralegal"
243 | },
244 | "ein": "71-3644334",
245 | "ssn": "487-28-6642",
246 | "userAgent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.17 Safari/537.11"
247 | },
248 | {
249 | "id": 5,
250 | "firstName": "Mavis",
251 | "lastName": "Schultz",
252 | "maidenName": "Yundt",
253 | "age": 38,
254 | "gender": "male",
255 | "email": "kmeus4@upenn.edu",
256 | "phone": "+372 285 771 1911",
257 | "username": "kmeus4",
258 | "password": "aUTdmmmbH",
259 | "birthDate": "1968-11-03",
260 | "image": "https://robohash.org/adverovelit.png",
261 | "bloodGroup": "O+",
262 | "height": 188,
263 | "weight": 106.3,
264 | "eyeColor": "Brown",
265 | "hair": {
266 | "color": "Brown",
267 | "type": "Curly"
268 | },
269 | "domain": "columbia.edu",
270 | "ip": "103.72.86.183",
271 | "address": {
272 | "address": "2721 Lindsay Avenue",
273 | "city": "Louisville",
274 | "coordinates": {
275 | "lat": 38.263793,
276 | "lng": -85.700243
277 | },
278 | "postalCode": "40206",
279 | "state": "KY"
280 | },
281 | "macAddress": "F8:04:9E:ED:C0:68",
282 | "university": "Estonian University of Life Sciences",
283 | "bank": {
284 | "cardExpire": "01/24",
285 | "cardNumber": "4917245076693618",
286 | "cardType": "visa-electron",
287 | "currency": "Euro",
288 | "iban": "IT41 T114 5127 716J RGYB ZRUX DSJ"
289 | },
290 | "company": {
291 | "address": {
292 | "address": "8398 West Denton Lane",
293 | "city": "Glendale",
294 | "coordinates": {
295 | "lat": 33.515353,
296 | "lng": -112.240812
297 | },
298 | "postalCode": "85305",
299 | "state": "AZ"
300 | },
301 | "department": "Support",
302 | "name": "Adams Inc",
303 | "title": "Web Developer I"
304 | },
305 | "ein": "18-7178563",
306 | "ssn": "667-98-5357",
307 | "userAgent": "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.1 Safari/535.1"
308 | },
309 | {
310 | "id": 6,
311 | "firstName": "Alison",
312 | "lastName": "Reichert",
313 | "maidenName": "Franecki",
314 | "age": 21,
315 | "gender": "female",
316 | "email": "jtreleven5@nhs.uk",
317 | "phone": "+351 527 735 3642",
318 | "username": "jtreleven5",
319 | "password": "zY1nE46Zm",
320 | "birthDate": "1969-07-21",
321 | "image": "https://robohash.org/laboriosamfacilisrem.png",
322 | "bloodGroup": "A+",
323 | "height": 149,
324 | "weight": 105.7,
325 | "eyeColor": "Amber",
326 | "hair": {
327 | "color": "Blond",
328 | "type": "Straight"
329 | },
330 | "domain": "bandcamp.com",
331 | "ip": "49.201.206.36",
332 | "address": {
333 | "address": "18 Densmore Drive",
334 | "city": "Essex",
335 | "coordinates": {
336 | "lat": 44.492953,
337 | "lng": -73.101883
338 | },
339 | "postalCode": "05452",
340 | "state": "VT"
341 | },
342 | "macAddress": "6C:34:D0:4B:4E:81",
343 | "university": "Universidade da Beira Interior",
344 | "bank": {
345 | "cardExpire": "03/22",
346 | "cardNumber": "345675888286047",
347 | "cardType": "americanexpress",
348 | "currency": "Euro",
349 | "iban": "LB69 1062 QCY5 XS5T VOKU KJFG XP4S"
350 | },
351 | "company": {
352 | "address": {
353 | "address": "6231 North 67th Avenue",
354 | "city": "Glendale",
355 | "coordinates": {
356 | "lat": 33.5279666,
357 | "lng": -112.2022551
358 | },
359 | "postalCode": "85301",
360 | "state": "AZ"
361 | },
362 | "department": "Accounting",
363 | "name": "D'Amore and Sons",
364 | "title": "Civil Engineer"
365 | },
366 | "ein": "78-3192791",
367 | "ssn": "158-68-0184",
368 | "userAgent": "Mozilla/5.0 (Windows; U; Windows NT 6.0; nb-NO) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5"
369 | },
370 | {
371 | "id": 7,
372 | "firstName": "Oleta",
373 | "lastName": "Abbott",
374 | "maidenName": "Wyman",
375 | "age": 31,
376 | "gender": "female",
377 | "email": "dpettegre6@columbia.edu",
378 | "phone": "+62 640 802 7111",
379 | "username": "dpettegre6",
380 | "password": "YVmhktgYVS",
381 | "birthDate": "1982-02-21",
382 | "image": "https://robohash.org/cupiditatererumquos.png",
383 | "bloodGroup": "B−",
384 | "height": 172,
385 | "weight": 78.1,
386 | "eyeColor": "Blue",
387 | "hair": {
388 | "color": "Chestnut",
389 | "type": "Wavy"
390 | },
391 | "domain": "ovh.net",
392 | "ip": "25.207.107.146",
393 | "address": {
394 | "address": "637 Britannia Drive",
395 | "city": "Vallejo",
396 | "coordinates": {
397 | "lat": 38.10476999999999,
398 | "lng": -122.193849
399 | },
400 | "postalCode": "94591",
401 | "state": "CA"
402 | },
403 | "macAddress": "48:2D:A0:67:19:E0",
404 | "university": "Institut Sains dan Teknologi Al Kamal",
405 | "bank": {
406 | "cardExpire": "10/23",
407 | "cardNumber": "3589640949470047",
408 | "cardType": "jcb",
409 | "currency": "Rupiah",
410 | "iban": "GI97 IKPF 9DUO X25M FG8D UXY"
411 | },
412 | "company": {
413 | "address": {
414 | "address": "1407 Walden Court",
415 | "city": "Crofton",
416 | "coordinates": {
417 | "lat": 39.019306,
418 | "lng": -76.660653
419 | },
420 | "postalCode": "21114",
421 | "state": "MD"
422 | },
423 | "department": "Product Management",
424 | "name": "Schimmel, Wilderman and Orn",
425 | "title": "Sales Associate"
426 | },
427 | "ein": "29-1568401",
428 | "ssn": "478-11-2206",
429 | "userAgent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5"
430 | },
431 | {
432 | "id": 8,
433 | "firstName": "Ewell",
434 | "lastName": "Mueller",
435 | "maidenName": "Durgan",
436 | "age": 29,
437 | "gender": "male",
438 | "email": "ggude7@chron.com",
439 | "phone": "+86 946 297 2275",
440 | "username": "ggude7",
441 | "password": "MWwlaeWcOoF6",
442 | "birthDate": "1964-08-24",
443 | "image": "https://robohash.org/quiaharumsapiente.png",
444 | "bloodGroup": "A−",
445 | "height": 146,
446 | "weight": 52.1,
447 | "eyeColor": "Blue",
448 | "hair": {
449 | "color": "Chestnut",
450 | "type": "Wavy"
451 | },
452 | "domain": "homestead.com",
453 | "ip": "91.200.56.127",
454 | "address": {
455 | "address": "5601 West Crocus Drive",
456 | "city": "Glendale",
457 | "coordinates": {
458 | "lat": 33.6152469,
459 | "lng": -112.179737
460 | },
461 | "postalCode": "85306",
462 | "state": "AZ"
463 | },
464 | "macAddress": "72:DA:1B:D7:30:E9",
465 | "university": "Wenzhou Medical College",
466 | "bank": {
467 | "cardExpire": "09/23",
468 | "cardNumber": "30549925358905",
469 | "cardType": "diners-club-carte-blanche",
470 | "currency": "Yuan Renminbi",
471 | "iban": "CY02 9914 5346 0PMT G6XW TP0R AWRZ"
472 | },
473 | "company": {
474 | "address": {
475 | "address": "81 Seaton Place Northwest",
476 | "city": "Washington",
477 | "coordinates": {
478 | "lat": 38.9149499,
479 | "lng": -77.01170259999999
480 | },
481 | "postalCode": "20001",
482 | "state": "DC"
483 | },
484 | "department": "Services",
485 | "name": "Corkery, Reichert and Hodkiewicz",
486 | "title": "Clinical Specialist"
487 | },
488 | "ein": "88-4396827",
489 | "ssn": "238-41-5528",
490 | "userAgent": "Mozilla/5.0 (X11; Linux amd64) AppleWebKit/534.36 (KHTML, like Gecko) Chrome/13.0.766.0 Safari/534.36"
491 | },
492 | {
493 | "id": 9,
494 | "firstName": "Demetrius",
495 | "lastName": "Corkery",
496 | "maidenName": "Gleason",
497 | "age": 22,
498 | "gender": "male",
499 | "email": "nloiterton8@aol.com",
500 | "phone": "+86 356 590 9727",
501 | "username": "nloiterton8",
502 | "password": "HTQxxXV9Bq4",
503 | "birthDate": "1971-03-11",
504 | "image": "https://robohash.org/excepturiiuremolestiae.png",
505 | "bloodGroup": "A+",
506 | "height": 170,
507 | "weight": 97.1,
508 | "eyeColor": "Green",
509 | "hair": {
510 | "color": "Brown",
511 | "type": "Strands"
512 | },
513 | "domain": "goodreads.com",
514 | "ip": "78.170.185.120",
515 | "address": {
516 | "address": "5403 Illinois Avenue",
517 | "city": "Nashville",
518 | "coordinates": {
519 | "lat": 36.157077,
520 | "lng": -86.853827
521 | },
522 | "postalCode": "37209",
523 | "state": "TN"
524 | },
525 | "macAddress": "98:EE:94:A2:91:C4",
526 | "university": "Nanjing University of Economics",
527 | "bank": {
528 | "cardExpire": "02/24",
529 | "cardNumber": "5372664789004621",
530 | "cardType": "mastercard",
531 | "currency": "Yuan Renminbi",
532 | "iban": "BR68 9829 0581 3669 5088 5533 025N V"
533 | },
534 | "company": {
535 | "address": {
536 | "address": "12245 West 71st Place",
537 | "city": "Arvada",
538 | "coordinates": {
539 | "lat": 39.8267078,
540 | "lng": -105.1366798
541 | },
542 | "postalCode": "80004",
543 | "state": "CO"
544 | },
545 | "department": "Human Resources",
546 | "name": "Gorczany Group",
547 | "title": "Community Outreach Specialist"
548 | },
549 | "ein": "14-1066382",
550 | "ssn": "717-26-3759",
551 | "userAgent": "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; de) AppleWebKit/528.4+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2"
552 | },
553 | {
554 | "id": 10,
555 | "firstName": "Eleanora",
556 | "lastName": "Price",
557 | "maidenName": "Cummings",
558 | "age": 37,
559 | "gender": "female",
560 | "email": "umcgourty9@jalbum.net",
561 | "phone": "+60 184 408 0824",
562 | "username": "umcgourty9",
563 | "password": "i0xzpX",
564 | "birthDate": "1958-08-11",
565 | "image": "https://robohash.org/aliquamcumqueiure.png",
566 | "bloodGroup": "O+",
567 | "height": 198,
568 | "weight": 48,
569 | "eyeColor": "Blue",
570 | "hair": {
571 | "color": "Chestnut",
572 | "type": "Wavy"
573 | },
574 | "domain": "alibaba.com",
575 | "ip": "73.15.179.178",
576 | "address": {
577 | "address": "8821 West Myrtle Avenue",
578 | "city": "Glendale",
579 | "coordinates": {
580 | "lat": 33.5404296,
581 | "lng": -112.2488391
582 | },
583 | "postalCode": "85305",
584 | "state": "AZ"
585 | },
586 | "macAddress": "BC:A9:D8:98:CB:0B",
587 | "university": "Melaka City Polytechnic",
588 | "bank": {
589 | "cardExpire": "01/24",
590 | "cardNumber": "3557806620295254",
591 | "cardType": "jcb",
592 | "currency": "Ringgit",
593 | "iban": "GT40 DWAD 9UHA VEOZ ZF4J 2Y0F OOFD"
594 | },
595 | "company": {
596 | "address": {
597 | "address": "1649 Timberridge Court",
598 | "city": "Fayetteville",
599 | "coordinates": {
600 | "lat": 36.084563,
601 | "lng": -94.206082
602 | },
603 | "postalCode": "72704",
604 | "state": "AR"
605 | },
606 | "department": "Marketing",
607 | "name": "Bins Group",
608 | "title": "Senior Sales Associate"
609 | },
610 | "ein": "21-5278484",
611 | "ssn": "544-66-0745",
612 | "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.6 Safari/537.11"
613 | },
614 | {
615 | "id": 11,
616 | "firstName": "Marcel",
617 | "lastName": "Jones",
618 | "maidenName": "Smith",
619 | "age": 39,
620 | "gender": "male",
621 | "email": "acharlota@liveinternet.ru",
622 | "phone": "+967 253 210 0344",
623 | "username": "acharlota",
624 | "password": "M9lbMdydMN",
625 | "birthDate": "1961-09-12",
626 | "image": "https://robohash.org/impeditautest.png",
627 | "bloodGroup": "B−",
628 | "height": 203,
629 | "weight": 63.7,
630 | "eyeColor": "Amber",
631 | "hair": {
632 | "color": "Black",
633 | "type": "Straight"
634 | },
635 | "domain": "feedburner.com",
636 | "ip": "137.235.164.173",
637 | "address": {
638 | "address": "2203 7th Street Road",
639 | "city": "Louisville",
640 | "coordinates": {
641 | "lat": 38.218107,
642 | "lng": -85.779006
643 | },
644 | "postalCode": "40208",
645 | "state": "KY"
646 | },
647 | "macAddress": "59:E8:70:5A:E5:D6",
648 | "university": "Hodeidah University",
649 | "bank": {
650 | "cardExpire": "05/24",
651 | "cardNumber": "5893925889459720",
652 | "cardType": "maestro",
653 | "currency": "Rial",
654 | "iban": "NL97 UWMY 2503 2999 43"
655 | },
656 | "company": {
657 | "address": {
658 | "address": "308 Woodleaf Court",
659 | "city": "Glen Burnie",
660 | "coordinates": {
661 | "lat": 39.1425931,
662 | "lng": -76.6238441
663 | },
664 | "postalCode": "21061",
665 | "state": "MD"
666 | },
667 | "department": "Business Development",
668 | "name": "Kuhn-Harber",
669 | "title": "Account Executive"
670 | },
671 | "ein": "09-3791007",
672 | "ssn": "342-54-8422",
673 | "userAgent": "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.792.0 Safari/535.1"
674 | },
675 | {
676 | "id": 12,
677 | "firstName": "Assunta",
678 | "lastName": "Rath",
679 | "maidenName": "Heller",
680 | "age": 42,
681 | "gender": "female",
682 | "email": "rhallawellb@dropbox.com",
683 | "phone": "+380 962 542 6549",
684 | "username": "rhallawellb",
685 | "password": "esTkitT1r",
686 | "birthDate": "1990-12-14",
687 | "image": "https://robohash.org/namquaerataut.png",
688 | "bloodGroup": "O−",
689 | "height": 168,
690 | "weight": 96.8,
691 | "eyeColor": "Gray",
692 | "hair": {
693 | "color": "Black",
694 | "type": "Very curly"
695 | },
696 | "domain": "123-reg.co.uk",
697 | "ip": "74.80.53.208",
698 | "address": {
699 | "address": "6463 Vrain Street",
700 | "city": "Arvada",
701 | "coordinates": {
702 | "lat": 39.814056,
703 | "lng": -105.046913
704 | },
705 | "postalCode": "80003",
706 | "state": "CO"
707 | },
708 | "macAddress": "9B:DC:21:C2:30:A3",
709 | "university": "Kiev Slavonic University",
710 | "bank": {
711 | "cardExpire": "09/22",
712 | "cardNumber": "5602230671060360",
713 | "cardType": "bankcard",
714 | "currency": "Hryvnia",
715 | "iban": "KW76 VNLA LX0Y DMDE PFS8 FVKP VMDF AV"
716 | },
717 | "company": {
718 | "address": {
719 | "address": "388 East Main Street",
720 | "coordinates": {
721 | "lat": 43.9727945,
722 | "lng": -73.1023187
723 | },
724 | "postalCode": "05753",
725 | "state": "VT"
726 | },
727 | "department": "Product Management",
728 | "name": "Goodwin-Skiles",
729 | "title": "Developer II"
730 | },
731 | "ein": "14-1242349",
732 | "ssn": "116-51-6131",
733 | "userAgent": "Mozilla/5.0 (X11; CrOS i686 4319.74.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36"
734 | },
735 | {
736 | "id": 13,
737 | "firstName": "Trace",
738 | "lastName": "Douglas",
739 | "maidenName": "Lemke",
740 | "age": 26,
741 | "gender": "male",
742 | "email": "lgribbinc@posterous.com",
743 | "phone": "+1 609 937 3468",
744 | "username": "lgribbinc",
745 | "password": "ftGj8LZTtv9g",
746 | "birthDate": "1967-07-23",
747 | "image": "https://robohash.org/voluptatemsintnulla.png",
748 | "bloodGroup": "O+",
749 | "height": 181,
750 | "weight": 56.5,
751 | "eyeColor": "Amber",
752 | "hair": {
753 | "color": "Auburn",
754 | "type": "Straight"
755 | },
756 | "domain": "histats.com",
757 | "ip": "163.245.232.27",
758 | "address": {
759 | "address": "87 Horseshoe Drive",
760 | "city": "West Windsor",
761 | "coordinates": {
762 | "lat": 43.4731793,
763 | "lng": -72.4967532
764 | },
765 | "postalCode": "05037",
766 | "state": "VT"
767 | },
768 | "macAddress": "B9:21:ED:9F:B8:9E",
769 | "university": "Dallas Christian College",
770 | "bank": {
771 | "cardExpire": "01/23",
772 | "cardNumber": "3556299106119514",
773 | "cardType": "jcb",
774 | "currency": "Dollar",
775 | "iban": "AE47 4194 4544 3401 3419 286"
776 | },
777 | "company": {
778 | "address": {
779 | "address": "310 Timrod Road",
780 | "city": "Manchester",
781 | "coordinates": {
782 | "lat": 41.756758,
783 | "lng": -72.493501
784 | },
785 | "postalCode": "06040",
786 | "state": "CT"
787 | },
788 | "department": "Research and Development",
789 | "name": "Casper Inc",
790 | "title": "Sales Associate"
791 | },
792 | "ein": "94-0648182",
793 | "ssn": "217-05-3082",
794 | "userAgent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"
795 | },
796 | {
797 | "id": 14,
798 | "firstName": "Enoch",
799 | "lastName": "Lynch",
800 | "maidenName": "Heidenreich",
801 | "age": 21,
802 | "gender": "male",
803 | "email": "mturleyd@tumblr.com",
804 | "phone": "+94 912 100 5118",
805 | "username": "mturleyd",
806 | "password": "GyLnCB8gNIp",
807 | "birthDate": "1979-08-25",
808 | "image": "https://robohash.org/quisequienim.png",
809 | "bloodGroup": "O+",
810 | "height": 150,
811 | "weight": 100.3,
812 | "eyeColor": "Green",
813 | "hair": {
814 | "color": "Auburn",
815 | "type": "Strands"
816 | },
817 | "domain": "icio.us",
818 | "ip": "174.238.43.126",
819 | "address": {
820 | "address": "60 Desousa Drive",
821 | "city": "Manchester",
822 | "coordinates": {
823 | "lat": 41.7409259,
824 | "lng": -72.5619104
825 | },
826 | "postalCode": "06040",
827 | "state": "CT"
828 | },
829 | "macAddress": "52:11:E1:31:35:C1",
830 | "university": "University of Sri Jayawardenapura",
831 | "bank": {
832 | "cardExpire": "11/23",
833 | "cardNumber": "5339467937996728",
834 | "cardType": "mastercard",
835 | "currency": "Rupee",
836 | "iban": "SI28 0812 7967 0952 944"
837 | },
838 | "company": {
839 | "address": {
840 | "address": "21950 Arnold Center Road",
841 | "city": "Carson",
842 | "coordinates": {
843 | "lat": 33.8272706,
844 | "lng": -118.2302826
845 | },
846 | "postalCode": "90810",
847 | "state": "CA"
848 | },
849 | "department": "Sales",
850 | "name": "Schoen Inc",
851 | "title": "Professor"
852 | },
853 | "ein": "61-8316825",
854 | "ssn": "742-81-1714",
855 | "userAgent": "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-en) AppleWebKit/533.16 (KHTML, like Gecko) Version/4.1 Safari/533.16"
856 | },
857 | {
858 | "id": 15,
859 | "firstName": "Jeanne",
860 | "lastName": "Halvorson",
861 | "maidenName": "Cummerata",
862 | "age": 26,
863 | "gender": "female",
864 | "email": "kminchelle@qq.com",
865 | "phone": "+86 581 108 7855",
866 | "username": "kminchelle",
867 | "password": "0lelplR",
868 | "birthDate": "1996-02-02",
869 | "image": "https://robohash.org/autquiaut.png",
870 | "bloodGroup": "A+",
871 | "height": 176,
872 | "weight": 45.7,
873 | "eyeColor": "Amber",
874 | "hair": {
875 | "color": "Blond",
876 | "type": "Straight"
877 | },
878 | "domain": "google.co.uk",
879 | "ip": "78.43.74.226",
880 | "address": {
881 | "address": "4 Old Colony Way",
882 | "city": "Yarmouth",
883 | "coordinates": {
884 | "lat": 41.697168,
885 | "lng": -70.189992
886 | },
887 | "postalCode": "02664",
888 | "state": "MA"
889 | },
890 | "macAddress": "D9:DB:D9:5A:01:09",
891 | "university": "Donghua University, Shanghai",
892 | "bank": {
893 | "cardExpire": "10/23",
894 | "cardNumber": "3588859507772914",
895 | "cardType": "jcb",
896 | "currency": "Yuan Renminbi",
897 | "iban": "FO12 1440 0396 8902 56"
898 | },
899 | "company": {
900 | "address": {
901 | "address": "22572 Toreador Drive",
902 | "city": "Salinas",
903 | "coordinates": {
904 | "lat": 36.602449,
905 | "lng": -121.699071
906 | },
907 | "postalCode": "93908",
908 | "state": "CA"
909 | },
910 | "department": "Marketing",
911 | "name": "Hahn-MacGyver",
912 | "title": "Software Test Engineer IV"
913 | },
914 | "ein": "62-0561095",
915 | "ssn": "855-43-8639",
916 | "userAgent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.14 Safari/534.24"
917 | },
918 | {
919 | "id": 16,
920 | "firstName": "Trycia",
921 | "lastName": "Fadel",
922 | "maidenName": "Rosenbaum",
923 | "age": 41,
924 | "gender": "female",
925 | "email": "dpierrof@vimeo.com",
926 | "phone": "+420 833 708 0340",
927 | "username": "dpierrof",
928 | "password": "Vru55Y4tufI4",
929 | "birthDate": "1963-07-03",
930 | "image": "https://robohash.org/porronumquamid.png",
931 | "bloodGroup": "B+",
932 | "height": 166,
933 | "weight": 87.2,
934 | "eyeColor": "Gray",
935 | "hair": {
936 | "color": "Black",
937 | "type": "Very curly"
938 | },
939 | "domain": "tamu.edu",
940 | "ip": "82.170.69.15",
941 | "address": {
942 | "address": "314 South 17th Street",
943 | "city": "Nashville",
944 | "coordinates": {
945 | "lat": 36.1719075,
946 | "lng": -86.740228
947 | },
948 | "postalCode": "37206",
949 | "state": "TN"
950 | },
951 | "macAddress": "3D:21:5B:9F:76:FF",
952 | "university": "Technical University of Mining and Metallurgy Ostrava",
953 | "bank": {
954 | "cardExpire": "07/23",
955 | "cardNumber": "6378941710246212",
956 | "cardType": "instapayment",
957 | "currency": "Koruna",
958 | "iban": "CH94 4961 5QY1 VPV1 NGIP P"
959 | },
960 | "company": {
961 | "address": {
962 | "address": "1407 Walden Court",
963 | "city": "Crofton",
964 | "coordinates": {
965 | "lat": 39.019306,
966 | "lng": -76.660653
967 | },
968 | "postalCode": "21114",
969 | "state": "MD"
970 | },
971 | "department": "Research and Development",
972 | "name": "Steuber, Considine and Padberg",
973 | "title": "Geological Engineer"
974 | },
975 | "ein": "75-1816504",
976 | "ssn": "677-73-1525",
977 | "userAgent": "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.872.0 Safari/535.2"
978 | },
979 | {
980 | "id": 17,
981 | "firstName": "Bradford",
982 | "lastName": "Prohaska",
983 | "maidenName": "Bins",
984 | "age": 43,
985 | "gender": "male",
986 | "email": "vcholdcroftg@ucoz.com",
987 | "phone": "+420 874 628 3710",
988 | "username": "vcholdcroftg",
989 | "password": "mSPzYZfR",
990 | "birthDate": "1975-10-20",
991 | "image": "https://robohash.org/accusantiumvoluptateseos.png",
992 | "bloodGroup": "O−",
993 | "height": 199,
994 | "weight": 94.3,
995 | "eyeColor": "Brown",
996 | "hair": {
997 | "color": "Black",
998 | "type": "Curly"
999 | },
1000 | "domain": "wix.com",
1001 | "ip": "75.75.234.243",
1002 | "address": {
1003 | "address": "1649 Timberridge Court",
1004 | "city": "Fayetteville",
1005 | "coordinates": {
1006 | "lat": 36.084563,
1007 | "lng": -94.206082
1008 | },
1009 | "postalCode": "72704",
1010 | "state": "AR"
1011 | },
1012 | "macAddress": "47:FA:F7:94:7B:5D",
1013 | "university": "Technical University of Mining and Metallurgy Ostrava",
1014 | "bank": {
1015 | "cardExpire": "05/24",
1016 | "cardNumber": "3574627048005672",
1017 | "cardType": "jcb",
1018 | "currency": "Koruna",
1019 | "iban": "SI81 7221 0344 9088 864"
1020 | },
1021 | "company": {
1022 | "address": {
1023 | "address": "20930 Todd Valley Road",
1024 | "city": "Foresthill",
1025 | "coordinates": {
1026 | "lat": 38.989466,
1027 | "lng": -120.883108
1028 | },
1029 | "postalCode": "95631",
1030 | "state": "CA"
1031 | },
1032 | "department": "Sales",
1033 | "name": "Bogisich and Sons",
1034 | "title": "Operator"
1035 | },
1036 | "ein": "92-8837697",
1037 | "ssn": "795-36-7752",
1038 | "userAgent": "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.813.0 Safari/535.1"
1039 | },
1040 | {
1041 | "id": 18,
1042 | "firstName": "Arely",
1043 | "lastName": "Skiles",
1044 | "maidenName": "Monahan",
1045 | "age": 42,
1046 | "gender": "male",
1047 | "email": "sberminghamh@chron.com",
1048 | "phone": "+55 886 766 8617",
1049 | "username": "sberminghamh",
1050 | "password": "cAjfb8vg",
1051 | "birthDate": "1958-02-05",
1052 | "image": "https://robohash.org/nihilharumqui.png",
1053 | "bloodGroup": "AB−",
1054 | "height": 192,
1055 | "weight": 97,
1056 | "eyeColor": "Amber",
1057 | "hair": {
1058 | "color": "Brown",
1059 | "type": "Straight"
1060 | },
1061 | "domain": "seesaa.net",
1062 | "ip": "29.82.54.30",
1063 | "address": {
1064 | "address": "5461 West Shades Valley Drive",
1065 | "city": "Montgomery",
1066 | "coordinates": {
1067 | "lat": 32.296422,
1068 | "lng": -86.34280299999999
1069 | },
1070 | "postalCode": "36108",
1071 | "state": "AL"
1072 | },
1073 | "macAddress": "61:0C:8F:92:48:D5",
1074 | "university": "Universidade Estadual do Ceará",
1075 | "bank": {
1076 | "cardExpire": "09/24",
1077 | "cardNumber": "3578078357052002",
1078 | "cardType": "jcb",
1079 | "currency": "Real",
1080 | "iban": "FR79 7925 2903 77HF 2ZY6 TU4M T84"
1081 | },
1082 | "company": {
1083 | "address": {
1084 | "address": "3162 Martin Luther King Junior Boulevard",
1085 | "city": "Fayetteville",
1086 | "coordinates": {
1087 | "lat": 36.05233310000001,
1088 | "lng": -94.2056987
1089 | },
1090 | "postalCode": "72704",
1091 | "state": "AR"
1092 | },
1093 | "department": "Support",
1094 | "name": "Metz Group",
1095 | "title": "VP Accounting"
1096 | },
1097 | "ein": "55-4062919",
1098 | "ssn": "551-74-1349",
1099 | "userAgent": "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"
1100 | },
1101 | {
1102 | "id": 19,
1103 | "firstName": "Gust",
1104 | "lastName": "Purdy",
1105 | "maidenName": "Abshire",
1106 | "age": 46,
1107 | "gender": "male",
1108 | "email": "bleveragei@so-net.ne.jp",
1109 | "phone": "+86 886 889 0258",
1110 | "username": "bleveragei",
1111 | "password": "UZGAiqPqWQHQ",
1112 | "birthDate": "1989-10-15",
1113 | "image": "https://robohash.org/delenitipraesentiumvoluptatum.png",
1114 | "bloodGroup": "A−",
1115 | "height": 167,
1116 | "weight": 65.3,
1117 | "eyeColor": "Amber",
1118 | "hair": {
1119 | "color": "Black",
1120 | "type": "Straight"
1121 | },
1122 | "domain": "homestead.com",
1123 | "ip": "90.202.216.39",
1124 | "address": {
1125 | "address": "629 Debbie Drive",
1126 | "city": "Nashville",
1127 | "coordinates": {
1128 | "lat": 36.208114,
1129 | "lng": -86.58621199999999
1130 | },
1131 | "postalCode": "37076",
1132 | "state": "TN"
1133 | },
1134 | "macAddress": "22:98:8D:97:2D:AE",
1135 | "university": "Xinjiang University",
1136 | "bank": {
1137 | "cardExpire": "05/22",
1138 | "cardNumber": "5602214306858976",
1139 | "cardType": "bankcard",
1140 | "currency": "Yuan Renminbi",
1141 | "iban": "GB94 MOIU 1274 8449 9733 05"
1142 | },
1143 | "company": {
1144 | "address": {
1145 | "address": "6463 Vrain Street",
1146 | "city": "Arvada",
1147 | "coordinates": {
1148 | "lat": 39.814056,
1149 | "lng": -105.046913
1150 | },
1151 | "postalCode": "80003",
1152 | "state": "CO"
1153 | },
1154 | "department": "Sales",
1155 | "name": "Bahringer, Auer and Wehner",
1156 | "title": "Financial Analyst"
1157 | },
1158 | "ein": "53-7190545",
1159 | "ssn": "809-93-2422",
1160 | "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.3 Safari/534.24"
1161 | },
1162 | {
1163 | "id": 20,
1164 | "firstName": "Lenna",
1165 | "lastName": "Renner",
1166 | "maidenName": "Schumm",
1167 | "age": 41,
1168 | "gender": "female",
1169 | "email": "aeatockj@psu.edu",
1170 | "phone": "+1 904 601 7177",
1171 | "username": "aeatockj",
1172 | "password": "szWAG6hc",
1173 | "birthDate": "1980-01-19",
1174 | "image": "https://robohash.org/ipsumutofficiis.png",
1175 | "bloodGroup": "O−",
1176 | "height": 175,
1177 | "weight": 68,
1178 | "eyeColor": "Green",
1179 | "hair": {
1180 | "color": "Black",
1181 | "type": "Strands"
1182 | },
1183 | "domain": "sourceforge.net",
1184 | "ip": "59.43.194.22",
1185 | "address": {
1186 | "address": "22572 Toreador Drive",
1187 | "city": "Salinas",
1188 | "coordinates": {
1189 | "lat": 36.602449,
1190 | "lng": -121.699071
1191 | },
1192 | "postalCode": "93908",
1193 | "state": "CA"
1194 | },
1195 | "macAddress": "ED:64:AE:91:49:C9",
1196 | "university": "Moraine Valley Community College",
1197 | "bank": {
1198 | "cardExpire": "07/22",
1199 | "cardNumber": "3565173055875732",
1200 | "cardType": "jcb",
1201 | "currency": "Dollar",
1202 | "iban": "GT39 KL9Z CZYV XF26 UPYW SFPT H74U"
1203 | },
1204 | "company": {
1205 | "address": {
1206 | "address": "491 Arabian Way",
1207 | "city": "Grand Junction",
1208 | "coordinates": {
1209 | "lat": 39.07548999999999,
1210 | "lng": -108.474785
1211 | },
1212 | "postalCode": "81504",
1213 | "state": "CO"
1214 | },
1215 | "department": "Support",
1216 | "name": "Hoppe Group",
1217 | "title": "Geologist III"
1218 | },
1219 | "ein": "88-6715551",
1220 | "ssn": "389-03-0381",
1221 | "userAgent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.702.0 Chrome/12.0.702.0 Safari/534.24"
1222 | },
1223 | {
1224 | "id": 21,
1225 | "firstName": "Doyle",
1226 | "lastName": "Ernser",
1227 | "maidenName": "Feeney",
1228 | "age": 23,
1229 | "gender": "male",
1230 | "email": "ckensleyk@pen.io",
1231 | "phone": "+86 634 419 6839",
1232 | "username": "ckensleyk",
1233 | "password": "tq7kPXyf",
1234 | "birthDate": "1983-01-22",
1235 | "image": "https://robohash.org/providenttemporadelectus.png",
1236 | "bloodGroup": "A−",
1237 | "height": 173,
1238 | "weight": 69.9,
1239 | "eyeColor": "Brown",
1240 | "hair": {
1241 | "color": "Black",
1242 | "type": "Curly"
1243 | },
1244 | "domain": "free.fr",
1245 | "ip": "87.213.156.73",
1246 | "address": {
1247 | "address": "3034 Mica Street",
1248 | "city": "Fayetteville",
1249 | "coordinates": {
1250 | "lat": 36.0807929,
1251 | "lng": -94.2066449
1252 | },
1253 | "postalCode": "72704",
1254 | "state": "AR"
1255 | },
1256 | "macAddress": "E2:5A:A5:85:9B:6D",
1257 | "university": "Nanjing University of Traditional Chinese Medicine",
1258 | "bank": {
1259 | "cardExpire": "06/24",
1260 | "cardNumber": "30464640811198",
1261 | "cardType": "diners-club-carte-blanche",
1262 | "currency": "Yuan Renminbi",
1263 | "iban": "BE41 7150 0766 2980"
1264 | },
1265 | "company": {
1266 | "address": {
1267 | "address": "5906 Milton Avenue",
1268 | "city": "Deale",
1269 | "coordinates": {
1270 | "lat": 38.784451,
1271 | "lng": -76.54125499999999
1272 | },
1273 | "postalCode": "20751",
1274 | "state": "MD"
1275 | },
1276 | "department": "Product Management",
1277 | "name": "Brekke Group",
1278 | "title": "Programmer Analyst I"
1279 | },
1280 | "ein": "23-4116115",
1281 | "ssn": "562-46-9709",
1282 | "userAgent": "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3"
1283 | },
1284 | {
1285 | "id": 22,
1286 | "firstName": "Tressa",
1287 | "lastName": "Weber",
1288 | "maidenName": "Williamson",
1289 | "age": 41,
1290 | "gender": "female",
1291 | "email": "froachel@howstuffworks.com",
1292 | "phone": "+34 517 104 6248",
1293 | "username": "froachel",
1294 | "password": "rfVSKImC",
1295 | "birthDate": "1987-11-11",
1296 | "image": "https://robohash.org/temporarecusandaeest.png",
1297 | "bloodGroup": "B−",
1298 | "height": 164,
1299 | "weight": 87.1,
1300 | "eyeColor": "Green",
1301 | "hair": {
1302 | "color": "Black",
1303 | "type": "Strands"
1304 | },
1305 | "domain": "indiatimes.com",
1306 | "ip": "71.57.235.192",
1307 | "address": {
1308 | "address": "3729 East Mission Boulevard",
1309 | "city": "Fayetteville",
1310 | "coordinates": {
1311 | "lat": 36.0919353,
1312 | "lng": -94.10654219999999
1313 | },
1314 | "postalCode": "72703",
1315 | "state": "AR"
1316 | },
1317 | "macAddress": "A4:8B:56:BC:ED:98",
1318 | "university": "Universitat Rámon Llull",
1319 | "bank": {
1320 | "cardExpire": "12/21",
1321 | "cardNumber": "342220243660686",
1322 | "cardType": "americanexpress",
1323 | "currency": "Euro",
1324 | "iban": "CY09 2675 2653 QNEJ JNSA 0E2V ONMM"
1325 | },
1326 | "company": {
1327 | "address": {
1328 | "address": "8800 Cordell Circle",
1329 | "city": "Anchorage",
1330 | "coordinates": {
1331 | "lat": 61.1409305,
1332 | "lng": -149.9437822
1333 | },
1334 | "postalCode": "99502",
1335 | "state": "AK"
1336 | },
1337 | "department": "Research and Development",
1338 | "name": "Durgan Group",
1339 | "title": "VP Quality Control"
1340 | },
1341 | "ein": "78-2846180",
1342 | "ssn": "155-87-0243",
1343 | "userAgent": "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; de-de) AppleWebKit/533.16 (KHTML, like Gecko) Version/4.1 Safari/533.16"
1344 | },
1345 | {
1346 | "id": 23,
1347 | "firstName": "Felicity",
1348 | "lastName": "O'Reilly",
1349 | "maidenName": "Rosenbaum",
1350 | "age": 46,
1351 | "gender": "female",
1352 | "email": "beykelhofm@wikispaces.com",
1353 | "phone": "+63 919 564 1690",
1354 | "username": "beykelhofm",
1355 | "password": "zQwaHTHbuZyr",
1356 | "birthDate": "1967-10-05",
1357 | "image": "https://robohash.org/odioquivero.png",
1358 | "bloodGroup": "O−",
1359 | "height": 151,
1360 | "weight": 96.7,
1361 | "eyeColor": "Brown",
1362 | "hair": {
1363 | "color": "Brown",
1364 | "type": "Curly"
1365 | },
1366 | "domain": "tamu.edu",
1367 | "ip": "141.14.53.176",
1368 | "address": {
1369 | "address": "5114 Greentree Drive",
1370 | "city": "Nashville",
1371 | "coordinates": {
1372 | "lat": 36.0618539,
1373 | "lng": -86.738508
1374 | },
1375 | "postalCode": "37211",
1376 | "state": "TN"
1377 | },
1378 | "macAddress": "4D:AB:8D:9A:E5:02",
1379 | "university": "University of lloilo",
1380 | "bank": {
1381 | "cardExpire": "06/22",
1382 | "cardNumber": "6333837222395642",
1383 | "cardType": "switch",
1384 | "currency": "Peso",
1385 | "iban": "FR40 3929 7903 26S5 QL9A HUSV Z09"
1386 | },
1387 | "company": {
1388 | "address": {
1389 | "address": "1770 Colony Way",
1390 | "city": "Fayetteville",
1391 | "coordinates": {
1392 | "lat": 36.0867,
1393 | "lng": -94.229754
1394 | },
1395 | "postalCode": "72704",
1396 | "state": "AR"
1397 | },
1398 | "department": "Legal",
1399 | "name": "Romaguera, Williamson and Kessler",
1400 | "title": "Assistant Manager"
1401 | },
1402 | "ein": "92-4814248",
1403 | "ssn": "441-72-1229",
1404 | "userAgent": "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.872.0 Safari/535.2"
1405 | },
1406 | {
1407 | "id": 24,
1408 | "firstName": "Jocelyn",
1409 | "lastName": "Schuster",
1410 | "maidenName": "Dooley",
1411 | "age": 19,
1412 | "gender": "male",
1413 | "email": "brickeardn@fema.gov",
1414 | "phone": "+7 968 462 1292",
1415 | "username": "brickeardn",
1416 | "password": "bMQnPttV",
1417 | "birthDate": "1966-06-02",
1418 | "image": "https://robohash.org/odiomolestiaealias.png",
1419 | "bloodGroup": "O+",
1420 | "height": 166,
1421 | "weight": 93.3,
1422 | "eyeColor": "Brown",
1423 | "hair": {
1424 | "color": "Brown",
1425 | "type": "Curly"
1426 | },
1427 | "domain": "pen.io",
1428 | "ip": "116.92.198.102",
1429 | "address": {
1430 | "address": "3466 Southview Avenue",
1431 | "city": "Montgomery",
1432 | "coordinates": {
1433 | "lat": 32.341227,
1434 | "lng": -86.2846859
1435 | },
1436 | "postalCode": "36111",
1437 | "state": "AL"
1438 | },
1439 | "macAddress": "AF:AA:20:8E:CA:CD",
1440 | "university": "Bashkir State Medical University",
1441 | "bank": {
1442 | "cardExpire": "11/21",
1443 | "cardNumber": "5007666357943463",
1444 | "cardType": "mastercard",
1445 | "currency": "Ruble",
1446 | "iban": "NL22 YBPM 0101 6695 08"
1447 | },
1448 | "company": {
1449 | "address": {
1450 | "address": "80 North East Street",
1451 | "city": "Holyoke",
1452 | "coordinates": {
1453 | "lat": 42.2041219,
1454 | "lng": -72.5977704
1455 | },
1456 | "postalCode": "01040",
1457 | "state": "MA"
1458 | },
1459 | "department": "Product Management",
1460 | "name": "Wintheiser-Boehm",
1461 | "title": "Research Nurse"
1462 | },
1463 | "ein": "77-6259466",
1464 | "ssn": "291-72-5526",
1465 | "userAgent": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; ja-jp) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27"
1466 | },
1467 | {
1468 | "id": 25,
1469 | "firstName": "Edwina",
1470 | "lastName": "Ernser",
1471 | "maidenName": "Kiehn",
1472 | "age": 21,
1473 | "gender": "female",
1474 | "email": "dfundello@amazon.co.jp",
1475 | "phone": "+86 376 986 8945",
1476 | "username": "dfundello",
1477 | "password": "k9zgV68UKw8m",
1478 | "birthDate": "2000-09-28",
1479 | "image": "https://robohash.org/doloremautdolores.png",
1480 | "bloodGroup": "O+",
1481 | "height": 180,
1482 | "weight": 102.1,
1483 | "eyeColor": "Blue",
1484 | "hair": {
1485 | "color": "Brown",
1486 | "type": "Wavy"
1487 | },
1488 | "domain": "apple.com",
1489 | "ip": "48.30.193.203",
1490 | "address": {
1491 | "address": "1513 Cathy Street",
1492 | "city": "Savannah",
1493 | "coordinates": {
1494 | "lat": 32.067416,
1495 | "lng": -81.125331
1496 | },
1497 | "postalCode": "31415",
1498 | "state": "GA"
1499 | },
1500 | "macAddress": "EC:59:D3:FC:65:92",
1501 | "university": "Wuhan University of Technology",
1502 | "bank": {
1503 | "cardExpire": "10/23",
1504 | "cardNumber": "3558628665594956",
1505 | "cardType": "jcb",
1506 | "currency": "Yuan Renminbi",
1507 | "iban": "RS85 6347 5884 2820 5764 23"
1508 | },
1509 | "company": {
1510 | "address": {
1511 | "address": "125 John Street",
1512 | "city": "Santa Cruz",
1513 | "coordinates": {
1514 | "lat": 36.950901,
1515 | "lng": -122.046881
1516 | },
1517 | "postalCode": "95060",
1518 | "state": "CA"
1519 | },
1520 | "department": "Marketing",
1521 | "name": "Volkman Group",
1522 | "title": "Cost Accountant"
1523 | },
1524 | "ein": "14-6307509",
1525 | "ssn": "266-43-5297",
1526 | "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3"
1527 | },
1528 | {
1529 | "id": 26,
1530 | "firstName": "Griffin",
1531 | "lastName": "Braun",
1532 | "maidenName": "Deckow",
1533 | "age": 35,
1534 | "gender": "male",
1535 | "email": "lgronaverp@cornell.edu",
1536 | "phone": "+62 511 790 0161",
1537 | "username": "lgronaverp",
1538 | "password": "4a1dAKDv9KB9",
1539 | "birthDate": "1965-09-06",
1540 | "image": "https://robohash.org/laboriosammollitiaut.png",
1541 | "bloodGroup": "O−",
1542 | "height": 146,
1543 | "weight": 65.5,
1544 | "eyeColor": "Blue",
1545 | "hair": {
1546 | "color": "Blond",
1547 | "type": "Wavy"
1548 | },
1549 | "domain": "foxnews.com",
1550 | "ip": "93.246.47.59",
1551 | "address": {
1552 | "address": "600 West 19th Avenue",
1553 | "city": "Anchorage",
1554 | "coordinates": {
1555 | "lat": 61.203115,
1556 | "lng": -149.894107
1557 | },
1558 | "postalCode": "99503",
1559 | "state": "AK"
1560 | },
1561 | "macAddress": "34:06:26:95:37:D6",
1562 | "university": "Universitas Bojonegoro",
1563 | "bank": {
1564 | "cardExpire": "07/24",
1565 | "cardNumber": "3587188969123346",
1566 | "cardType": "jcb",
1567 | "currency": "Rupiah",
1568 | "iban": "AD24 9240 6903 OD2X OW1Y WD1K"
1569 | },
1570 | "company": {
1571 | "address": {
1572 | "address": "1508 Massachusetts Avenue Southeast",
1573 | "city": "Washington",
1574 | "coordinates": {
1575 | "lat": 38.887255,
1576 | "lng": -76.98318499999999
1577 | },
1578 | "postalCode": "20003",
1579 | "state": "DC"
1580 | },
1581 | "department": "Engineering",
1582 | "name": "Boyle, Boyer and Lang",
1583 | "title": "Senior Cost Accountant"
1584 | },
1585 | "ein": "38-0997138",
1586 | "ssn": "407-02-8915",
1587 | "userAgent": "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"
1588 | },
1589 | {
1590 | "id": 27,
1591 | "firstName": "Piper",
1592 | "lastName": "Schowalter",
1593 | "maidenName": "Wuckert",
1594 | "age": 47,
1595 | "gender": "female",
1596 | "email": "fokillq@amazon.co.jp",
1597 | "phone": "+60 785 960 7918",
1598 | "username": "fokillq",
1599 | "password": "xZnWSWnqH",
1600 | "birthDate": "1983-06-07",
1601 | "image": "https://robohash.org/nequeodiosapiente.png",
1602 | "bloodGroup": "A−",
1603 | "height": 197,
1604 | "weight": 71.5,
1605 | "eyeColor": "Brown",
1606 | "hair": {
1607 | "color": "Black",
1608 | "type": "Curly"
1609 | },
1610 | "domain": "toplist.cz",
1611 | "ip": "100.159.51.104",
1612 | "address": {
1613 | "address": "1208 Elkader Court North",
1614 | "city": "Nashville",
1615 | "coordinates": {
1616 | "lat": 36.080049,
1617 | "lng": -86.60116099999999
1618 | },
1619 | "postalCode": "37013",
1620 | "state": "TN"
1621 | },
1622 | "macAddress": "1F:42:5D:8C:66:3D",
1623 | "university": "Sultanah Bahiyah Polytechnic",
1624 | "bank": {
1625 | "cardExpire": "09/22",
1626 | "cardNumber": "6762169351744592",
1627 | "cardType": "maestro",
1628 | "currency": "Ringgit",
1629 | "iban": "BH05 STDW HECU HD4S L8U1 C6"
1630 | },
1631 | "company": {
1632 | "address": {
1633 | "address": "600 West 19th Avenue",
1634 | "city": "Anchorage",
1635 | "coordinates": {
1636 | "lat": 61.203115,
1637 | "lng": -149.894107
1638 | },
1639 | "postalCode": "99503",
1640 | "state": "AK"
1641 | },
1642 | "department": "Human Resources",
1643 | "name": "O'Hara and Sons",
1644 | "title": "Sales Representative"
1645 | },
1646 | "ein": "11-3129153",
1647 | "ssn": "408-90-5986",
1648 | "userAgent": "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36"
1649 | },
1650 | {
1651 | "id": 28,
1652 | "firstName": "Kody",
1653 | "lastName": "Terry",
1654 | "maidenName": "Larkin",
1655 | "age": 28,
1656 | "gender": "male",
1657 | "email": "xisherwoodr@ask.com",
1658 | "phone": "+81 859 545 8951",
1659 | "username": "xisherwoodr",
1660 | "password": "HLDqN5vCF",
1661 | "birthDate": "1979-01-09",
1662 | "image": "https://robohash.org/consequunturabnon.png",
1663 | "bloodGroup": "B−",
1664 | "height": 172,
1665 | "weight": 90.2,
1666 | "eyeColor": "Blue",
1667 | "hair": {
1668 | "color": "Brown",
1669 | "type": "Wavy"
1670 | },
1671 | "domain": "elpais.com",
1672 | "ip": "51.102.180.216",
1673 | "address": {
1674 | "address": "210 Green Road",
1675 | "city": "Manchester",
1676 | "coordinates": {
1677 | "lat": 41.7909099,
1678 | "lng": -72.51195129999999
1679 | },
1680 | "postalCode": "06042",
1681 | "state": "CT"
1682 | },
1683 | "macAddress": "B4:B6:17:3C:41:E5",
1684 | "university": "Science University of Tokyo",
1685 | "bank": {
1686 | "cardExpire": "05/23",
1687 | "cardNumber": "201443655632569",
1688 | "cardType": "diners-club-enroute",
1689 | "currency": "Yen",
1690 | "iban": "GT70 4NNE RDSR 0AJV 6AQI 4XH1 RWOC"
1691 | },
1692 | "company": {
1693 | "address": {
1694 | "address": "109 Summit Street",
1695 | "city": "Burlington",
1696 | "coordinates": {
1697 | "lat": 44.4729749,
1698 | "lng": -73.2026566
1699 | },
1700 | "postalCode": "05401",
1701 | "state": "VT"
1702 | },
1703 | "department": "Support",
1704 | "name": "Leffler, Beatty and Kilback",
1705 | "title": "Recruiting Manager"
1706 | },
1707 | "ein": "09-1129306",
1708 | "ssn": "389-74-9456",
1709 | "userAgent": "Mozilla/6.0 (Macintosh; I; Intel Mac OS X 11_7_9; de-LI; rv:1.9b4) Gecko/2012010317 Firefox/10.0a4"
1710 | },
1711 | {
1712 | "id": 29,
1713 | "firstName": "Macy",
1714 | "lastName": "Greenfelder",
1715 | "maidenName": "Koepp",
1716 | "age": 45,
1717 | "gender": "female",
1718 | "email": "jissetts@hostgator.com",
1719 | "phone": "+81 915 649 2384",
1720 | "username": "jissetts",
1721 | "password": "ePawWgrnZR8L",
1722 | "birthDate": "1976-09-07",
1723 | "image": "https://robohash.org/amettemporeea.png",
1724 | "bloodGroup": "A−",
1725 | "height": 166,
1726 | "weight": 93.7,
1727 | "eyeColor": "Amber",
1728 | "hair": {
1729 | "color": "Black",
1730 | "type": "Straight"
1731 | },
1732 | "domain": "ibm.com",
1733 | "ip": "197.37.13.163",
1734 | "address": {
1735 | "address": "49548 Road 200",
1736 | "city": "O'Neals",
1737 | "coordinates": {
1738 | "lat": 37.153463,
1739 | "lng": -119.648192
1740 | },
1741 | "postalCode": "93645",
1742 | "state": "CA"
1743 | },
1744 | "macAddress": "D7:14:C5:45:69:C1",
1745 | "university": "Fuji Women's College",
1746 | "bank": {
1747 | "cardExpire": "04/24",
1748 | "cardNumber": "633413352570887921",
1749 | "cardType": "solo",
1750 | "currency": "Yen",
1751 | "iban": "IS23 8410 4605 1294 9479 5900 11"
1752 | },
1753 | "company": {
1754 | "address": {
1755 | "address": "5403 Illinois Avenue",
1756 | "city": "Nashville",
1757 | "coordinates": {
1758 | "lat": 36.157077,
1759 | "lng": -86.853827
1760 | },
1761 | "postalCode": "37209",
1762 | "state": "TN"
1763 | },
1764 | "department": "Product Management",
1765 | "name": "Bruen and Sons",
1766 | "title": "Structural Analysis Engineer"
1767 | },
1768 | "ein": "31-6688179",
1769 | "ssn": "391-33-1550",
1770 | "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19"
1771 | },
1772 | {
1773 | "id": 30,
1774 | "firstName": "Maurine",
1775 | "lastName": "Stracke",
1776 | "maidenName": "Abshire",
1777 | "age": 31,
1778 | "gender": "female",
1779 | "email": "kdulyt@umich.edu",
1780 | "phone": "+48 143 590 6847",
1781 | "username": "kdulyt",
1782 | "password": "5t6q4KC7O",
1783 | "birthDate": "1964-12-18",
1784 | "image": "https://robohash.org/perferendisideveniet.png",
1785 | "bloodGroup": "O−",
1786 | "height": 170,
1787 | "weight": 107.2,
1788 | "eyeColor": "Blue",
1789 | "hair": {
1790 | "color": "Blond",
1791 | "type": "Wavy"
1792 | },
1793 | "domain": "ow.ly",
1794 | "ip": "97.11.116.84",
1795 | "address": {
1796 | "address": "81 Seaton Place Northwest",
1797 | "city": "Washington",
1798 | "coordinates": {
1799 | "lat": 38.9149499,
1800 | "lng": -77.01170259999999
1801 | },
1802 | "postalCode": "20001",
1803 | "state": "DC"
1804 | },
1805 | "macAddress": "42:87:72:A1:4D:9A",
1806 | "university": "Poznan School of Banking",
1807 | "bank": {
1808 | "cardExpire": "02/24",
1809 | "cardNumber": "6331108070510590026",
1810 | "cardType": "switch",
1811 | "currency": "Zloty",
1812 | "iban": "MT70 MKRC 8244 59Z4 9UG1 1HY7 TKM6 1YX"
1813 | },
1814 | "company": {
1815 | "address": {
1816 | "address": "816 West 19th Avenue",
1817 | "city": "Anchorage",
1818 | "coordinates": {
1819 | "lat": 61.203221,
1820 | "lng": -149.898655
1821 | },
1822 | "postalCode": "99503",
1823 | "state": "AK"
1824 | },
1825 | "department": "Support",
1826 | "name": "Balistreri-Kshlerin",
1827 | "title": "Quality Engineer"
1828 | },
1829 | "ein": "51-7727524",
1830 | "ssn": "534-76-0952",
1831 | "userAgent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11"
1832 | }
1833 | ]
1834 | }
1835 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "clean-typescript",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "autoprefixer": "^10.4.13",
13 | "postcss": "^8.4.20",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0",
16 | "tailwindcss": "^3.2.4"
17 | },
18 | "devDependencies": {
19 | "@types/react": "^18.0.26",
20 | "@types/react-dom": "^18.0.9",
21 | "@vitejs/plugin-react": "^3.0.0",
22 | "typescript": "^4.9.3",
23 | "vite": "^4.0.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/postcss.config.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
8 | .logo {
9 | height: 6em;
10 | padding: 1.5em;
11 | will-change: filter;
12 | }
13 | .logo:hover {
14 | filter: drop-shadow(0 0 2em #646cffaa);
15 | }
16 | .logo.react:hover {
17 | filter: drop-shadow(0 0 2em #61dafbaa);
18 | }
19 |
20 | @keyframes logo-spin {
21 | from {
22 | transform: rotate(0deg);
23 | }
24 | to {
25 | transform: rotate(360deg);
26 | }
27 | }
28 |
29 | @media (prefers-reduced-motion: no-preference) {
30 | a:nth-of-type(2) .logo {
31 | animation: logo-spin infinite 20s linear;
32 | }
33 | }
34 |
35 | .card {
36 | padding: 2em;
37 | }
38 |
39 | .read-the-docs {
40 | color: #888;
41 | }
42 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import reactLogo from "./assets/react.svg";
3 | import "./App.css";
4 |
5 | import "./essentials/unknown";
6 | import { Unknown } from "./examples/unknown";
7 |
8 | function App() {
9 | const [count, setCount] = useState(0);
10 |
11 | return (
12 |
13 |
14 |
15 | );
16 | }
17 |
18 | export default App;
19 |
--------------------------------------------------------------------------------
/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/typescript-mistakes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ipenywis/typescript-mistakes/9a18ef5730022f7b39e76417976d70643593a119/src/assets/typescript-mistakes.png
--------------------------------------------------------------------------------
/src/components/user.tsx:
--------------------------------------------------------------------------------
1 | interface IUserProps {
2 | id: number;
3 | firstName: string;
4 | lastName: string;
5 | image: string;
6 | }
7 |
8 | export function User(props: IUserProps) {
9 | const { id, image, firstName, lastName } = props;
10 |
11 | return (
12 |
13 |

14 |
15 | ({id}) {firstName} {lastName}
16 |
17 |
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/src/essentials/enums.ts:
--------------------------------------------------------------------------------
1 | //Bad ❌
2 | enum BadState {
3 | InProgress,
4 | Success,
5 | Fail,
6 | }
7 |
8 | BadState.InProgress; // (enum member) State.InProgress = 0
9 | BadState.Success; // (enum member) State.Success = 1
10 | BadState.Fail; // (enum member) State.Fail = 2
11 |
12 | const badCheckState = (state: BadState) => {
13 | //
14 | };
15 | badCheckState(100);
16 |
17 | //Good ✅
18 | type GoodState = "InProgress" | "Success" | "Fail";
19 | enum GoodState2 {
20 | InProgress = "InProgress",
21 | Success = "Success",
22 | Fail = "Fail",
23 | }
24 |
25 | const goodCheckState = (state: GoodState2) => {};
26 |
27 | goodCheckState("fsdgfsgf");
28 |
29 | export {};
30 |
--------------------------------------------------------------------------------
/src/essentials/is.ts:
--------------------------------------------------------------------------------
1 | type Species = "cat" | "dog";
2 |
3 | interface Pet {
4 | species: Species;
5 | }
6 |
7 | class Cat implements Pet {
8 | public species: Species = "cat";
9 | public meow(): void {
10 | console.log("Meow");
11 | }
12 |
13 | public jump(): void {
14 | console.log("Jumping...");
15 | }
16 |
17 | public walk(): void {
18 | console.log("Walking...");
19 | }
20 | }
21 |
22 | function petIsCat(pet: Pet): pet is Cat {
23 | return pet.species === "cat";
24 | }
25 |
26 | function petIsCatBoolean(pet: Pet): boolean {
27 | return pet.species === "cat";
28 | }
29 |
30 | const p: Pet = new Cat();
31 |
32 | //Bad ❌
33 | // p.meow(); // ERROR: Property 'meow' does not exist on type 'Pet'.
34 |
35 | if (petIsCatBoolean(p)) {
36 | // p.meow(); // ERROR: Property 'meow' does not exist on type 'Pet'.
37 |
38 | (p as Cat).meow();
39 |
40 | //What if we have many properties? Do you wanna repeat the same casting
41 | //Over and over again...
42 | }
43 |
44 | //Good ✅
45 | if (petIsCat(p)) {
46 | p.meow(); // now compiler knows for sure that the variable is of type Cat and it has meow method
47 | }
48 |
49 | export {};
50 |
--------------------------------------------------------------------------------
/src/essentials/satisfies.ts:
--------------------------------------------------------------------------------
1 | //Custom interface for rendering images
2 | interface ICustomImage {
3 | data: string;
4 | width: number;
5 | height: number;
6 | }
7 |
8 | //Sample of a Custom Image
9 | const myCustomImage: ICustomImage = {
10 | data: "base64",
11 | width: 200,
12 | height: 150,
13 | };
14 |
15 | //Image type for the user
16 | type UserImage = string | ICustomImage;
17 |
18 | //User interface
19 | interface IUser {
20 | id: number;
21 | firstName: string;
22 | lastName: string;
23 | image: UserImage;
24 | }
25 |
26 | //Bad ❌
27 | const badUser: IUser = {
28 | id: 1,
29 | firstName: "Alex",
30 | lastName: "Brooks",
31 | image: "image-url",
32 | };
33 |
34 | //Good ✅
35 | const goodUser = {
36 | id: 1,
37 | firstName: "Alex",
38 | lastName: "Brooks",
39 | image: myCustomImage,
40 | } satisfies IUser;
41 |
42 | export {};
43 |
--------------------------------------------------------------------------------
/src/essentials/unknown.ts:
--------------------------------------------------------------------------------
1 | let userAny: any; ///< ❌ Simply means turn of the Typescript "type-checks"
2 | let userUnkown: unknown; ///< ✅ The right one to use
3 |
4 | // userAny.myThing();
5 | // userUnkown.myThing(); ///< Error: we can't access undeclared methods in unknown
6 |
7 | interface IUser {
8 | id: number;
9 | firstName: string;
10 | lastName: string;
11 | gender: string;
12 | image: string;
13 | age: number;
14 | }
15 |
16 | interface IAdminUser extends IUser {
17 | token: string;
18 | addNewUser: () => void;
19 | }
20 |
21 | function isAdminUser(object: unknown): object is IAdminUser {
22 | if (object !== null && typeof object === "object") {
23 | return "token" in object;
24 | }
25 |
26 | return false;
27 | }
28 |
29 | function isRegularUser(object: unknown): object is IUser {
30 | if (object !== null && typeof object === "object") {
31 | return "token"! in object;
32 | }
33 |
34 | return false;
35 | }
36 |
37 | async function fetchUser() {
38 | const response = await fetch("https://dummyjson.com/users/1");
39 |
40 | //Bad ❌
41 | const badUser: IUser = await response.json();
42 | // badUser.
43 |
44 | //Good ✅
45 | const goodUser: unknown = await response.json();
46 |
47 | // if (isAdminUser(goodUser)) {
48 | // // goodUser.
49 | // }
50 |
51 | // if(isRegularUser(goodUser)) {
52 | // goodUser.
53 | // }
54 | }
55 |
56 | export {};
57 |
--------------------------------------------------------------------------------
/src/essentials/utilityTypes.ts:
--------------------------------------------------------------------------------
1 | /*
2 | - Partial
3 | - Record
4 | ...
5 | */
6 |
7 | //Product ✅
8 |
9 | interface IProduct {
10 | id: number;
11 | title: string;
12 | description: string;
13 | thumbnail: string;
14 | price: number;
15 | rating: number;
16 | }
17 |
18 | // interface IUpdateProduct {
19 | // title?: string;
20 | // description?: string;
21 | // thumbnail?: string;
22 | // price?: number;
23 | // rating?: number;
24 | // }
25 |
26 | function updateProduct(
27 | productId: IProduct["id"],
28 | updatedProduct: Partial>
29 | ) {
30 | // updatedProduct.
31 | }
32 |
33 | //Record ✅
34 |
35 | type Properties = "red" | "green" | "blue";
36 | type RGB = [red: number, green: number, blue: number];
37 |
38 | const color: Record = {
39 | red: [255, 0, 0],
40 | green: "green",
41 | blue: "blue",
42 | };
43 |
44 | export {};
45 |
--------------------------------------------------------------------------------
/src/examples/unknown/index.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from "react";
2 | import { User } from "../../components/user";
3 |
4 | interface IUser {
5 | id: number;
6 | firstName: string;
7 | lastName: string;
8 | gender: string;
9 | image: string;
10 | age: number;
11 | }
12 |
13 | interface IAdminUser extends IUser {
14 | token: string;
15 | addNewUser: () => void;
16 | }
17 |
18 | function isAdminUser(object: unknown): object is IAdminUser {
19 | if (object !== null && typeof object === "object") {
20 | return "token" in object;
21 | }
22 |
23 | return false;
24 | }
25 |
26 | export function Unknown() {
27 | const [users, setUsers] = useState([]);
28 |
29 | async function fetchUser() {
30 | const response = await fetch("http://localhost:9000/users");
31 | const users: unknown[] = await response.json();
32 |
33 | console.log("Users: ", users);
34 |
35 | users.forEach((user: unknown) => {
36 | if (isAdminUser(user)) {
37 | console.log("Admin: ", user.firstName, user.lastName, user.token);
38 | }
39 | });
40 |
41 | setUsers(users as IUser[]);
42 |
43 | // if (isAdminUser(user)) {
44 | // // user
45 | // }
46 | }
47 |
48 | useEffect(() => {
49 | fetchUser();
50 | }, []);
51 |
52 | return (
53 |
54 |
Users
55 |
56 | {users.map((user) => (
57 |
58 | ))}
59 |
60 |
61 | );
62 | }
63 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | html,
6 | body,
7 | #root {
8 | width: 100%;
9 | height: 100%;
10 | }
11 |
12 | :root {
13 | font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
14 | font-size: 16px;
15 | line-height: 24px;
16 | font-weight: 400;
17 |
18 | color-scheme: light dark;
19 | color: rgba(255, 255, 255, 0.87);
20 | background-color: #242424;
21 |
22 | font-synthesis: none;
23 | text-rendering: optimizeLegibility;
24 | -webkit-font-smoothing: antialiased;
25 | -moz-osx-font-smoothing: grayscale;
26 | -webkit-text-size-adjust: 100%;
27 | }
28 |
29 | a {
30 | font-weight: 500;
31 | color: #646cff;
32 | text-decoration: inherit;
33 | }
34 | a:hover {
35 | color: #535bf2;
36 | }
37 |
38 | body {
39 | margin: 0;
40 | display: flex;
41 | place-items: center;
42 | min-width: 320px;
43 | min-height: 100vh;
44 | }
45 |
46 | h1 {
47 | font-size: 3.2em;
48 | line-height: 1.1;
49 | }
50 |
51 | button {
52 | border-radius: 8px;
53 | border: 1px solid transparent;
54 | padding: 0.6em 1.2em;
55 | font-size: 1em;
56 | font-weight: 500;
57 | font-family: inherit;
58 | background-color: #1a1a1a;
59 | cursor: pointer;
60 | transition: border-color 0.25s;
61 | }
62 | button:hover {
63 | border-color: #646cff;
64 | }
65 | button:focus,
66 | button:focus-visible {
67 | outline: 4px auto -webkit-focus-ring-color;
68 | }
69 |
70 | @media (prefers-color-scheme: light) {
71 | :root {
72 | color: #213547;
73 | background-color: #ffffff;
74 | }
75 | a:hover {
76 | color: #747bff;
77 | }
78 | button {
79 | background-color: #f9f9f9;
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App'
4 | import './index.css'
5 |
6 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
7 |
8 |
9 | ,
10 | )
11 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tailwind.config.cjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
4 | theme: {
5 | extend: {},
6 | },
7 | plugins: [],
8 | };
9 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx"
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | })
8 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.2.0"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.1.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.18.6":
14 | version "7.18.6"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/compat-data@^7.20.5":
21 | version "7.20.10"
22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
23 | integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
24 |
25 | "@babel/core@^7.20.5":
26 | version "7.20.7"
27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f"
28 | integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==
29 | dependencies:
30 | "@ampproject/remapping" "^2.1.0"
31 | "@babel/code-frame" "^7.18.6"
32 | "@babel/generator" "^7.20.7"
33 | "@babel/helper-compilation-targets" "^7.20.7"
34 | "@babel/helper-module-transforms" "^7.20.7"
35 | "@babel/helpers" "^7.20.7"
36 | "@babel/parser" "^7.20.7"
37 | "@babel/template" "^7.20.7"
38 | "@babel/traverse" "^7.20.7"
39 | "@babel/types" "^7.20.7"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.1"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.20.7":
47 | version "7.20.7"
48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
49 | integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
50 | dependencies:
51 | "@babel/types" "^7.20.7"
52 | "@jridgewell/gen-mapping" "^0.3.2"
53 | jsesc "^2.5.1"
54 |
55 | "@babel/helper-compilation-targets@^7.20.7":
56 | version "7.20.7"
57 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
58 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
59 | dependencies:
60 | "@babel/compat-data" "^7.20.5"
61 | "@babel/helper-validator-option" "^7.18.6"
62 | browserslist "^4.21.3"
63 | lru-cache "^5.1.1"
64 | semver "^6.3.0"
65 |
66 | "@babel/helper-environment-visitor@^7.18.9":
67 | version "7.18.9"
68 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
69 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
70 |
71 | "@babel/helper-function-name@^7.19.0":
72 | version "7.19.0"
73 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
74 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==
75 | dependencies:
76 | "@babel/template" "^7.18.10"
77 | "@babel/types" "^7.19.0"
78 |
79 | "@babel/helper-hoist-variables@^7.18.6":
80 | version "7.18.6"
81 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
82 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
83 | dependencies:
84 | "@babel/types" "^7.18.6"
85 |
86 | "@babel/helper-module-imports@^7.18.6":
87 | version "7.18.6"
88 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
89 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
90 | dependencies:
91 | "@babel/types" "^7.18.6"
92 |
93 | "@babel/helper-module-transforms@^7.20.7":
94 | version "7.20.7"
95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.7.tgz#7a6c9a1155bef55e914af574153069c9d9470c43"
96 | integrity sha512-FNdu7r67fqMUSVuQpFQGE6BPdhJIhitoxhGzDbAXNcA07uoVG37fOiMk3OSV8rEICuyG6t8LGkd9EE64qIEoIA==
97 | dependencies:
98 | "@babel/helper-environment-visitor" "^7.18.9"
99 | "@babel/helper-module-imports" "^7.18.6"
100 | "@babel/helper-simple-access" "^7.20.2"
101 | "@babel/helper-split-export-declaration" "^7.18.6"
102 | "@babel/helper-validator-identifier" "^7.19.1"
103 | "@babel/template" "^7.20.7"
104 | "@babel/traverse" "^7.20.7"
105 | "@babel/types" "^7.20.7"
106 |
107 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0":
108 | version "7.20.2"
109 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
110 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
111 |
112 | "@babel/helper-simple-access@^7.20.2":
113 | version "7.20.2"
114 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
115 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
116 | dependencies:
117 | "@babel/types" "^7.20.2"
118 |
119 | "@babel/helper-split-export-declaration@^7.18.6":
120 | version "7.18.6"
121 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
122 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
123 | dependencies:
124 | "@babel/types" "^7.18.6"
125 |
126 | "@babel/helper-string-parser@^7.19.4":
127 | version "7.19.4"
128 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
129 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
130 |
131 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
132 | version "7.19.1"
133 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
134 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
135 |
136 | "@babel/helper-validator-option@^7.18.6":
137 | version "7.18.6"
138 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
139 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
140 |
141 | "@babel/helpers@^7.20.7":
142 | version "7.20.7"
143 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce"
144 | integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==
145 | dependencies:
146 | "@babel/template" "^7.20.7"
147 | "@babel/traverse" "^7.20.7"
148 | "@babel/types" "^7.20.7"
149 |
150 | "@babel/highlight@^7.18.6":
151 | version "7.18.6"
152 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
153 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
154 | dependencies:
155 | "@babel/helper-validator-identifier" "^7.18.6"
156 | chalk "^2.0.0"
157 | js-tokens "^4.0.0"
158 |
159 | "@babel/parser@^7.20.7":
160 | version "7.20.7"
161 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
162 | integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
163 |
164 | "@babel/plugin-transform-react-jsx-self@^7.18.6":
165 | version "7.18.6"
166 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7"
167 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==
168 | dependencies:
169 | "@babel/helper-plugin-utils" "^7.18.6"
170 |
171 | "@babel/plugin-transform-react-jsx-source@^7.19.6":
172 | version "7.19.6"
173 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86"
174 | integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==
175 | dependencies:
176 | "@babel/helper-plugin-utils" "^7.19.0"
177 |
178 | "@babel/template@^7.18.10", "@babel/template@^7.20.7":
179 | version "7.20.7"
180 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
181 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
182 | dependencies:
183 | "@babel/code-frame" "^7.18.6"
184 | "@babel/parser" "^7.20.7"
185 | "@babel/types" "^7.20.7"
186 |
187 | "@babel/traverse@^7.20.7":
188 | version "7.20.10"
189 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230"
190 | integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==
191 | dependencies:
192 | "@babel/code-frame" "^7.18.6"
193 | "@babel/generator" "^7.20.7"
194 | "@babel/helper-environment-visitor" "^7.18.9"
195 | "@babel/helper-function-name" "^7.19.0"
196 | "@babel/helper-hoist-variables" "^7.18.6"
197 | "@babel/helper-split-export-declaration" "^7.18.6"
198 | "@babel/parser" "^7.20.7"
199 | "@babel/types" "^7.20.7"
200 | debug "^4.1.0"
201 | globals "^11.1.0"
202 |
203 | "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7":
204 | version "7.20.7"
205 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
206 | integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
207 | dependencies:
208 | "@babel/helper-string-parser" "^7.19.4"
209 | "@babel/helper-validator-identifier" "^7.19.1"
210 | to-fast-properties "^2.0.0"
211 |
212 | "@esbuild/android-arm64@0.16.10":
213 | version "0.16.10"
214 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.10.tgz#d784d8f13dbef50492ea55456fb50651e4036fbf"
215 | integrity sha512-47Y+NwVKTldTlDhSgJHZ/RpvBQMUDG7eKihqaF/u6g7s0ZPz4J1vy8A3rwnnUOF2CuDn7w7Gj/QcMoWz3U3SJw==
216 |
217 | "@esbuild/android-arm@0.16.10":
218 | version "0.16.10"
219 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.10.tgz#becf6b5647c091b039121db8c17300a7dfd1ab4a"
220 | integrity sha512-RmJjQTRrO6VwUWDrzTBLmV4OJZTarYsiepLGlF2rYTVB701hSorPywPGvP6d8HCuuRibyXa5JX4s3jN2kHEtjQ==
221 |
222 | "@esbuild/android-x64@0.16.10":
223 | version "0.16.10"
224 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.10.tgz#648cacbb13a5047380a038e5d6d895015e31b525"
225 | integrity sha512-C4PfnrBMcuAcOurQzpF1tTtZz94IXO5JmICJJ3NFJRHbXXsQUg9RFG45KvydKqtFfBaFLCHpduUkUfXwIvGnRg==
226 |
227 | "@esbuild/darwin-arm64@0.16.10":
228 | version "0.16.10"
229 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.10.tgz#3ca7fd9a456d11752df77df6c030f2d08f27bda9"
230 | integrity sha512-bH/bpFwldyOKdi9HSLCLhhKeVgRYr9KblchwXgY2NeUHBB/BzTUHtUSBgGBmpydB1/4E37m+ggXXfSrnD7/E7g==
231 |
232 | "@esbuild/darwin-x64@0.16.10":
233 | version "0.16.10"
234 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.10.tgz#7eb71b8da4106627f01553def517d3c5e5942592"
235 | integrity sha512-OXt7ijoLuy+AjDSKQWu+KdDFMBbdeaL6wtgMKtDUXKWHiAMKHan5+R1QAG6HD4+K0nnOvEJXKHeA9QhXNAjOTQ==
236 |
237 | "@esbuild/freebsd-arm64@0.16.10":
238 | version "0.16.10"
239 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.10.tgz#c69c78ee1d17d35ad2cf76a1bb67788000a84b43"
240 | integrity sha512-shSQX/3GHuspE3Uxtq5kcFG/zqC+VuMnJkqV7LczO41cIe6CQaXHD3QdMLA4ziRq/m0vZo7JdterlgbmgNIAlQ==
241 |
242 | "@esbuild/freebsd-x64@0.16.10":
243 | version "0.16.10"
244 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.10.tgz#a9804ab1b9366f915812af24ad5cfc1c0db01441"
245 | integrity sha512-5YVc1zdeaJGASijZmTzSO4h6uKzsQGG3pkjI6fuXvolhm3hVRhZwnHJkforaZLmzvNv5Tb7a3QL2FAVmrgySIA==
246 |
247 | "@esbuild/linux-arm64@0.16.10":
248 | version "0.16.10"
249 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.10.tgz#d9a9ddfcb28ed8cced688bc112ef66283d6fa77f"
250 | integrity sha512-2aqeNVxIaRfPcIaMZIFoblLh588sWyCbmj1HHCCs9WmeNWm+EIN0SmvsmPvTa/TsNZFKnxTcvkX2eszTcCqIrA==
251 |
252 | "@esbuild/linux-arm@0.16.10":
253 | version "0.16.10"
254 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.10.tgz#f32cdac1d3319c83ae7f9f31238dd1284ee6bba2"
255 | integrity sha512-c360287ZWI2miBnvIj23bPyVctgzeMT2kQKR+x94pVqIN44h3GF8VMEs1SFPH1UgyDr3yBbx3vowDS1SVhyVhA==
256 |
257 | "@esbuild/linux-ia32@0.16.10":
258 | version "0.16.10"
259 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.10.tgz#1e023478e42f3a01cad48f4af50120d4b639af03"
260 | integrity sha512-sqMIEWeyrLGU7J5RB5fTkLRIFwsgsQ7ieWXlDLEmC2HblPYGb3AucD7inw2OrKFpRPKsec1l+lssiM3+NV5aOw==
261 |
262 | "@esbuild/linux-loong64@0.16.10":
263 | version "0.16.10"
264 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.10.tgz#f9098865a69d1d6e2f8bda51c7f9d4240f20b771"
265 | integrity sha512-O7Pd5hLEtTg37NC73pfhUOGTjx/+aXu5YoSq3ahCxcN7Bcr2F47mv+kG5t840thnsEzrv0oB70+LJu3gUgchvg==
266 |
267 | "@esbuild/linux-mips64el@0.16.10":
268 | version "0.16.10"
269 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.10.tgz#574725ad2ea81b7783b7ba7d1ab3475f8fdd8d32"
270 | integrity sha512-FN8mZOH7531iPHM0kaFhAOqqNHoAb6r/YHW2ZIxNi0a85UBi2DO4Vuyn7t1p4UN8a4LoAnLOT1PqNgHkgBJgbA==
271 |
272 | "@esbuild/linux-ppc64@0.16.10":
273 | version "0.16.10"
274 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.10.tgz#11da658c54514a693813af56bb28951d563a90c3"
275 | integrity sha512-Dg9RiqdvHOAWnOKIOTsIx8dFX9EDlY2IbPEY7YFzchrCiTZmMkD7jWA9UdZbNUygPjdmQBVPRCrLydReFlX9yg==
276 |
277 | "@esbuild/linux-riscv64@0.16.10":
278 | version "0.16.10"
279 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.10.tgz#3af4600adbd6c5a4a6f1da05771f4aa6774baab2"
280 | integrity sha512-XMqtpjwzbmlar0BJIxmzu/RZ7EWlfVfH68Vadrva0Wj5UKOdKvqskuev2jY2oPV3aoQUyXwnMbMrFmloO2GfAw==
281 |
282 | "@esbuild/linux-s390x@0.16.10":
283 | version "0.16.10"
284 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.10.tgz#9e3377aaf0191a9d6628e806a279085ec4391f3e"
285 | integrity sha512-fu7XtnoeRNFMx8DjK3gPWpFBDM2u5ba+FYwg27SjMJwKvJr4bDyKz5c+FLXLUSSAkMAt/UL+cUbEbra+rYtUgw==
286 |
287 | "@esbuild/linux-x64@0.16.10":
288 | version "0.16.10"
289 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.10.tgz#7c41d4d697ce674e0083e7baa6231468f4650d85"
290 | integrity sha512-61lcjVC/RldNNMUzQQdyCWjCxp9YLEQgIxErxU9XluX7juBdGKb0pvddS0vPNuCvotRbzijZ1pzII+26haWzbA==
291 |
292 | "@esbuild/netbsd-x64@0.16.10":
293 | version "0.16.10"
294 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.10.tgz#ebac59e3986834af04bbafcee7b0c1f31cd477c6"
295 | integrity sha512-JeZXCX3viSA9j4HqSoygjssdqYdfHd6yCFWyfSekLbz4Ef+D2EjvsN02ZQPwYl5a5gg/ehdHgegHhlfOFP0HCA==
296 |
297 | "@esbuild/openbsd-x64@0.16.10":
298 | version "0.16.10"
299 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.10.tgz#9eaa6cac3b80db45090c0946e62de5b5689c61d1"
300 | integrity sha512-3qpxQKuEVIIg8SebpXsp82OBrqjPV/OwNWmG+TnZDr3VGyChNnGMHccC1xkbxCHDQNnnXjxhMQNyHmdFJbmbRA==
301 |
302 | "@esbuild/sunos-x64@0.16.10":
303 | version "0.16.10"
304 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.10.tgz#31e5e4b814ef43d300e26511e486a4716a390d5f"
305 | integrity sha512-z+q0xZ+et/7etz7WoMyXTHZ1rB8PMSNp/FOqURLJLOPb3GWJ2aj4oCqFCjPwEbW1rsT7JPpxeH/DwGAWk/I1Bg==
306 |
307 | "@esbuild/win32-arm64@0.16.10":
308 | version "0.16.10"
309 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.10.tgz#ca58472dc03ca79e6d03f8a31113979ff253d94f"
310 | integrity sha512-+YYu5sbQ9npkNT9Dec+tn1F/kjg6SMgr6bfi/6FpXYZvCRfu2YFPZGb+3x8K30s8eRxFpoG4sGhiSUkr1xbHEw==
311 |
312 | "@esbuild/win32-ia32@0.16.10":
313 | version "0.16.10"
314 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.10.tgz#c572df2c65ab118feed0a5da5a4a193846d74e43"
315 | integrity sha512-Aw7Fupk7XNehR1ftHGYwUteyJ2q+em/aE+fVU3YMTBN2V5A7Z4aVCSV+SvCp9HIIHZavPFBpbdP3VfjQpdf6Xg==
316 |
317 | "@esbuild/win32-x64@0.16.10":
318 | version "0.16.10"
319 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz#0e9c6a5e69c10d96aff2386b7ee9646138c2a831"
320 | integrity sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw==
321 |
322 | "@jridgewell/gen-mapping@^0.1.0":
323 | version "0.1.1"
324 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
325 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
326 | dependencies:
327 | "@jridgewell/set-array" "^1.0.0"
328 | "@jridgewell/sourcemap-codec" "^1.4.10"
329 |
330 | "@jridgewell/gen-mapping@^0.3.2":
331 | version "0.3.2"
332 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
333 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
334 | dependencies:
335 | "@jridgewell/set-array" "^1.0.1"
336 | "@jridgewell/sourcemap-codec" "^1.4.10"
337 | "@jridgewell/trace-mapping" "^0.3.9"
338 |
339 | "@jridgewell/resolve-uri@3.1.0":
340 | version "3.1.0"
341 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
342 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
343 |
344 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
345 | version "1.1.2"
346 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
347 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
348 |
349 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
350 | version "1.4.14"
351 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
352 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
353 |
354 | "@jridgewell/trace-mapping@^0.3.9":
355 | version "0.3.17"
356 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
357 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
358 | dependencies:
359 | "@jridgewell/resolve-uri" "3.1.0"
360 | "@jridgewell/sourcemap-codec" "1.4.14"
361 |
362 | "@nodelib/fs.scandir@2.1.5":
363 | version "2.1.5"
364 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
365 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
366 | dependencies:
367 | "@nodelib/fs.stat" "2.0.5"
368 | run-parallel "^1.1.9"
369 |
370 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
371 | version "2.0.5"
372 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
373 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
374 |
375 | "@nodelib/fs.walk@^1.2.3":
376 | version "1.2.8"
377 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
378 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
379 | dependencies:
380 | "@nodelib/fs.scandir" "2.1.5"
381 | fastq "^1.6.0"
382 |
383 | "@types/prop-types@*":
384 | version "15.7.5"
385 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
386 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
387 |
388 | "@types/react-dom@^18.0.9":
389 | version "18.0.9"
390 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.9.tgz#ffee5e4bfc2a2f8774b15496474f8e7fe8d0b504"
391 | integrity sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==
392 | dependencies:
393 | "@types/react" "*"
394 |
395 | "@types/react@*", "@types/react@^18.0.26":
396 | version "18.0.26"
397 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
398 | integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
399 | dependencies:
400 | "@types/prop-types" "*"
401 | "@types/scheduler" "*"
402 | csstype "^3.0.2"
403 |
404 | "@types/scheduler@*":
405 | version "0.16.2"
406 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
407 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
408 |
409 | "@vitejs/plugin-react@^3.0.0":
410 | version "3.0.0"
411 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz#f36ee1b2ce958dd11ac63fdf746a3b27b0d258ed"
412 | integrity sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==
413 | dependencies:
414 | "@babel/core" "^7.20.5"
415 | "@babel/plugin-transform-react-jsx-self" "^7.18.6"
416 | "@babel/plugin-transform-react-jsx-source" "^7.19.6"
417 | magic-string "^0.27.0"
418 | react-refresh "^0.14.0"
419 |
420 | acorn-node@^1.8.2:
421 | version "1.8.2"
422 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
423 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
424 | dependencies:
425 | acorn "^7.0.0"
426 | acorn-walk "^7.0.0"
427 | xtend "^4.0.2"
428 |
429 | acorn-walk@^7.0.0:
430 | version "7.2.0"
431 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
432 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
433 |
434 | acorn@^7.0.0:
435 | version "7.4.1"
436 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
437 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
438 |
439 | ansi-styles@^3.2.1:
440 | version "3.2.1"
441 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
442 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
443 | dependencies:
444 | color-convert "^1.9.0"
445 |
446 | anymatch@~3.1.2:
447 | version "3.1.3"
448 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
449 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
450 | dependencies:
451 | normalize-path "^3.0.0"
452 | picomatch "^2.0.4"
453 |
454 | arg@^5.0.2:
455 | version "5.0.2"
456 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
457 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
458 |
459 | autoprefixer@^10.4.13:
460 | version "10.4.13"
461 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
462 | integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
463 | dependencies:
464 | browserslist "^4.21.4"
465 | caniuse-lite "^1.0.30001426"
466 | fraction.js "^4.2.0"
467 | normalize-range "^0.1.2"
468 | picocolors "^1.0.0"
469 | postcss-value-parser "^4.2.0"
470 |
471 | binary-extensions@^2.0.0:
472 | version "2.2.0"
473 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
474 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
475 |
476 | braces@^3.0.2, braces@~3.0.2:
477 | version "3.0.2"
478 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
479 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
480 | dependencies:
481 | fill-range "^7.0.1"
482 |
483 | browserslist@^4.21.3, browserslist@^4.21.4:
484 | version "4.21.4"
485 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
486 | integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
487 | dependencies:
488 | caniuse-lite "^1.0.30001400"
489 | electron-to-chromium "^1.4.251"
490 | node-releases "^2.0.6"
491 | update-browserslist-db "^1.0.9"
492 |
493 | camelcase-css@^2.0.1:
494 | version "2.0.1"
495 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
496 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
497 |
498 | caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426:
499 | version "1.0.30001441"
500 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e"
501 | integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==
502 |
503 | chalk@^2.0.0:
504 | version "2.4.2"
505 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
506 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
507 | dependencies:
508 | ansi-styles "^3.2.1"
509 | escape-string-regexp "^1.0.5"
510 | supports-color "^5.3.0"
511 |
512 | chokidar@^3.5.3:
513 | version "3.5.3"
514 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
515 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
516 | dependencies:
517 | anymatch "~3.1.2"
518 | braces "~3.0.2"
519 | glob-parent "~5.1.2"
520 | is-binary-path "~2.1.0"
521 | is-glob "~4.0.1"
522 | normalize-path "~3.0.0"
523 | readdirp "~3.6.0"
524 | optionalDependencies:
525 | fsevents "~2.3.2"
526 |
527 | color-convert@^1.9.0:
528 | version "1.9.3"
529 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
530 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
531 | dependencies:
532 | color-name "1.1.3"
533 |
534 | color-name@1.1.3:
535 | version "1.1.3"
536 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
537 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
538 |
539 | color-name@^1.1.4:
540 | version "1.1.4"
541 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
542 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
543 |
544 | convert-source-map@^1.7.0:
545 | version "1.9.0"
546 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
547 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
548 |
549 | cssesc@^3.0.0:
550 | version "3.0.0"
551 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
552 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
553 |
554 | csstype@^3.0.2:
555 | version "3.1.1"
556 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
557 | integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==
558 |
559 | debug@^4.1.0:
560 | version "4.3.4"
561 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
562 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
563 | dependencies:
564 | ms "2.1.2"
565 |
566 | defined@^1.0.0:
567 | version "1.0.1"
568 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf"
569 | integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==
570 |
571 | detective@^5.2.1:
572 | version "5.2.1"
573 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034"
574 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==
575 | dependencies:
576 | acorn-node "^1.8.2"
577 | defined "^1.0.0"
578 | minimist "^1.2.6"
579 |
580 | didyoumean@^1.2.2:
581 | version "1.2.2"
582 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
583 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
584 |
585 | dlv@^1.1.3:
586 | version "1.1.3"
587 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
588 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
589 |
590 | electron-to-chromium@^1.4.251:
591 | version "1.4.284"
592 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
593 | integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
594 |
595 | esbuild@^0.16.3:
596 | version "0.16.10"
597 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.10.tgz#d485c28f1626a3f9c1796c952e4cd0561f0031bb"
598 | integrity sha512-z5dIViHoVnw2l+NCJ3zj5behdXjYvXne9gL18OOivCadXDUhyDkeSvEtLcGVAJW2fNmh33TDUpsi704XYlDodw==
599 | optionalDependencies:
600 | "@esbuild/android-arm" "0.16.10"
601 | "@esbuild/android-arm64" "0.16.10"
602 | "@esbuild/android-x64" "0.16.10"
603 | "@esbuild/darwin-arm64" "0.16.10"
604 | "@esbuild/darwin-x64" "0.16.10"
605 | "@esbuild/freebsd-arm64" "0.16.10"
606 | "@esbuild/freebsd-x64" "0.16.10"
607 | "@esbuild/linux-arm" "0.16.10"
608 | "@esbuild/linux-arm64" "0.16.10"
609 | "@esbuild/linux-ia32" "0.16.10"
610 | "@esbuild/linux-loong64" "0.16.10"
611 | "@esbuild/linux-mips64el" "0.16.10"
612 | "@esbuild/linux-ppc64" "0.16.10"
613 | "@esbuild/linux-riscv64" "0.16.10"
614 | "@esbuild/linux-s390x" "0.16.10"
615 | "@esbuild/linux-x64" "0.16.10"
616 | "@esbuild/netbsd-x64" "0.16.10"
617 | "@esbuild/openbsd-x64" "0.16.10"
618 | "@esbuild/sunos-x64" "0.16.10"
619 | "@esbuild/win32-arm64" "0.16.10"
620 | "@esbuild/win32-ia32" "0.16.10"
621 | "@esbuild/win32-x64" "0.16.10"
622 |
623 | escalade@^3.1.1:
624 | version "3.1.1"
625 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
626 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
627 |
628 | escape-string-regexp@^1.0.5:
629 | version "1.0.5"
630 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
631 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
632 |
633 | fast-glob@^3.2.12:
634 | version "3.2.12"
635 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
636 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
637 | dependencies:
638 | "@nodelib/fs.stat" "^2.0.2"
639 | "@nodelib/fs.walk" "^1.2.3"
640 | glob-parent "^5.1.2"
641 | merge2 "^1.3.0"
642 | micromatch "^4.0.4"
643 |
644 | fastq@^1.6.0:
645 | version "1.14.0"
646 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce"
647 | integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==
648 | dependencies:
649 | reusify "^1.0.4"
650 |
651 | fill-range@^7.0.1:
652 | version "7.0.1"
653 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
654 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
655 | dependencies:
656 | to-regex-range "^5.0.1"
657 |
658 | fraction.js@^4.2.0:
659 | version "4.2.0"
660 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
661 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
662 |
663 | fsevents@~2.3.2:
664 | version "2.3.2"
665 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
666 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
667 |
668 | function-bind@^1.1.1:
669 | version "1.1.1"
670 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
671 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
672 |
673 | gensync@^1.0.0-beta.2:
674 | version "1.0.0-beta.2"
675 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
676 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
677 |
678 | glob-parent@^5.1.2, glob-parent@~5.1.2:
679 | version "5.1.2"
680 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
681 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
682 | dependencies:
683 | is-glob "^4.0.1"
684 |
685 | glob-parent@^6.0.2:
686 | version "6.0.2"
687 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
688 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
689 | dependencies:
690 | is-glob "^4.0.3"
691 |
692 | globals@^11.1.0:
693 | version "11.12.0"
694 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
695 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
696 |
697 | has-flag@^3.0.0:
698 | version "3.0.0"
699 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
700 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
701 |
702 | has@^1.0.3:
703 | version "1.0.3"
704 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
705 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
706 | dependencies:
707 | function-bind "^1.1.1"
708 |
709 | is-binary-path@~2.1.0:
710 | version "2.1.0"
711 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
712 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
713 | dependencies:
714 | binary-extensions "^2.0.0"
715 |
716 | is-core-module@^2.9.0:
717 | version "2.11.0"
718 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
719 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
720 | dependencies:
721 | has "^1.0.3"
722 |
723 | is-extglob@^2.1.1:
724 | version "2.1.1"
725 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
726 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
727 |
728 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
729 | version "4.0.3"
730 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
731 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
732 | dependencies:
733 | is-extglob "^2.1.1"
734 |
735 | is-number@^7.0.0:
736 | version "7.0.0"
737 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
738 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
739 |
740 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
741 | version "4.0.0"
742 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
743 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
744 |
745 | jsesc@^2.5.1:
746 | version "2.5.2"
747 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
748 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
749 |
750 | json5@^2.2.1:
751 | version "2.2.2"
752 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab"
753 | integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==
754 |
755 | lilconfig@^2.0.5, lilconfig@^2.0.6:
756 | version "2.0.6"
757 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
758 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
759 |
760 | loose-envify@^1.1.0:
761 | version "1.4.0"
762 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
763 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
764 | dependencies:
765 | js-tokens "^3.0.0 || ^4.0.0"
766 |
767 | lru-cache@^5.1.1:
768 | version "5.1.1"
769 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
770 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
771 | dependencies:
772 | yallist "^3.0.2"
773 |
774 | magic-string@^0.27.0:
775 | version "0.27.0"
776 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
777 | integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
778 | dependencies:
779 | "@jridgewell/sourcemap-codec" "^1.4.13"
780 |
781 | merge2@^1.3.0:
782 | version "1.4.1"
783 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
784 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
785 |
786 | micromatch@^4.0.4, micromatch@^4.0.5:
787 | version "4.0.5"
788 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
789 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
790 | dependencies:
791 | braces "^3.0.2"
792 | picomatch "^2.3.1"
793 |
794 | minimist@^1.2.6:
795 | version "1.2.7"
796 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
797 | integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
798 |
799 | ms@2.1.2:
800 | version "2.1.2"
801 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
802 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
803 |
804 | nanoid@^3.3.4:
805 | version "3.3.4"
806 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
807 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
808 |
809 | node-releases@^2.0.6:
810 | version "2.0.8"
811 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae"
812 | integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==
813 |
814 | normalize-path@^3.0.0, normalize-path@~3.0.0:
815 | version "3.0.0"
816 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
817 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
818 |
819 | normalize-range@^0.1.2:
820 | version "0.1.2"
821 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
822 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
823 |
824 | object-hash@^3.0.0:
825 | version "3.0.0"
826 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
827 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
828 |
829 | path-parse@^1.0.7:
830 | version "1.0.7"
831 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
832 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
833 |
834 | picocolors@^1.0.0:
835 | version "1.0.0"
836 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
837 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
838 |
839 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
840 | version "2.3.1"
841 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
842 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
843 |
844 | pify@^2.3.0:
845 | version "2.3.0"
846 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
847 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
848 |
849 | postcss-import@^14.1.0:
850 | version "14.1.0"
851 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0"
852 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
853 | dependencies:
854 | postcss-value-parser "^4.0.0"
855 | read-cache "^1.0.0"
856 | resolve "^1.1.7"
857 |
858 | postcss-js@^4.0.0:
859 | version "4.0.0"
860 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00"
861 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
862 | dependencies:
863 | camelcase-css "^2.0.1"
864 |
865 | postcss-load-config@^3.1.4:
866 | version "3.1.4"
867 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855"
868 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
869 | dependencies:
870 | lilconfig "^2.0.5"
871 | yaml "^1.10.2"
872 |
873 | postcss-nested@6.0.0:
874 | version "6.0.0"
875 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735"
876 | integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==
877 | dependencies:
878 | postcss-selector-parser "^6.0.10"
879 |
880 | postcss-selector-parser@^6.0.10:
881 | version "6.0.11"
882 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc"
883 | integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==
884 | dependencies:
885 | cssesc "^3.0.0"
886 | util-deprecate "^1.0.2"
887 |
888 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
889 | version "4.2.0"
890 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
891 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
892 |
893 | postcss@^8.4.18, postcss@^8.4.20:
894 | version "8.4.20"
895 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56"
896 | integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==
897 | dependencies:
898 | nanoid "^3.3.4"
899 | picocolors "^1.0.0"
900 | source-map-js "^1.0.2"
901 |
902 | queue-microtask@^1.2.2:
903 | version "1.2.3"
904 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
905 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
906 |
907 | quick-lru@^5.1.1:
908 | version "5.1.1"
909 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
910 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
911 |
912 | react-dom@^18.2.0:
913 | version "18.2.0"
914 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
915 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
916 | dependencies:
917 | loose-envify "^1.1.0"
918 | scheduler "^0.23.0"
919 |
920 | react-refresh@^0.14.0:
921 | version "0.14.0"
922 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
923 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
924 |
925 | react@^18.2.0:
926 | version "18.2.0"
927 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
928 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
929 | dependencies:
930 | loose-envify "^1.1.0"
931 |
932 | read-cache@^1.0.0:
933 | version "1.0.0"
934 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
935 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
936 | dependencies:
937 | pify "^2.3.0"
938 |
939 | readdirp@~3.6.0:
940 | version "3.6.0"
941 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
942 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
943 | dependencies:
944 | picomatch "^2.2.1"
945 |
946 | resolve@^1.1.7, resolve@^1.22.1:
947 | version "1.22.1"
948 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
949 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
950 | dependencies:
951 | is-core-module "^2.9.0"
952 | path-parse "^1.0.7"
953 | supports-preserve-symlinks-flag "^1.0.0"
954 |
955 | reusify@^1.0.4:
956 | version "1.0.4"
957 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
958 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
959 |
960 | rollup@^3.7.0:
961 | version "3.8.1"
962 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.8.1.tgz#d4af8aca7c60d5b8c0281be79ea2fab6b41d458f"
963 | integrity sha512-4yh9eMW7byOroYcN8DlF9P/2jCpu6txVIHjEqquQVSx7DI0RgyCCN3tjrcy4ra6yVtV336aLBB3v2AarYAxePQ==
964 | optionalDependencies:
965 | fsevents "~2.3.2"
966 |
967 | run-parallel@^1.1.9:
968 | version "1.2.0"
969 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
970 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
971 | dependencies:
972 | queue-microtask "^1.2.2"
973 |
974 | scheduler@^0.23.0:
975 | version "0.23.0"
976 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
977 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
978 | dependencies:
979 | loose-envify "^1.1.0"
980 |
981 | semver@^6.3.0:
982 | version "6.3.0"
983 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
984 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
985 |
986 | source-map-js@^1.0.2:
987 | version "1.0.2"
988 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
989 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
990 |
991 | supports-color@^5.3.0:
992 | version "5.5.0"
993 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
994 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
995 | dependencies:
996 | has-flag "^3.0.0"
997 |
998 | supports-preserve-symlinks-flag@^1.0.0:
999 | version "1.0.0"
1000 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1001 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1002 |
1003 | tailwindcss@^3.2.4:
1004 | version "3.2.4"
1005 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250"
1006 | integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==
1007 | dependencies:
1008 | arg "^5.0.2"
1009 | chokidar "^3.5.3"
1010 | color-name "^1.1.4"
1011 | detective "^5.2.1"
1012 | didyoumean "^1.2.2"
1013 | dlv "^1.1.3"
1014 | fast-glob "^3.2.12"
1015 | glob-parent "^6.0.2"
1016 | is-glob "^4.0.3"
1017 | lilconfig "^2.0.6"
1018 | micromatch "^4.0.5"
1019 | normalize-path "^3.0.0"
1020 | object-hash "^3.0.0"
1021 | picocolors "^1.0.0"
1022 | postcss "^8.4.18"
1023 | postcss-import "^14.1.0"
1024 | postcss-js "^4.0.0"
1025 | postcss-load-config "^3.1.4"
1026 | postcss-nested "6.0.0"
1027 | postcss-selector-parser "^6.0.10"
1028 | postcss-value-parser "^4.2.0"
1029 | quick-lru "^5.1.1"
1030 | resolve "^1.22.1"
1031 |
1032 | to-fast-properties@^2.0.0:
1033 | version "2.0.0"
1034 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1035 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1036 |
1037 | to-regex-range@^5.0.1:
1038 | version "5.0.1"
1039 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1040 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1041 | dependencies:
1042 | is-number "^7.0.0"
1043 |
1044 | typescript@^4.9.3:
1045 | version "4.9.4"
1046 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
1047 | integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
1048 |
1049 | update-browserslist-db@^1.0.9:
1050 | version "1.0.10"
1051 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
1052 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
1053 | dependencies:
1054 | escalade "^3.1.1"
1055 | picocolors "^1.0.0"
1056 |
1057 | util-deprecate@^1.0.2:
1058 | version "1.0.2"
1059 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1060 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
1061 |
1062 | vite@^4.0.0:
1063 | version "4.0.3"
1064 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.3.tgz#de27ad3f263a03ae9419cdc8bc07721eadcba8b9"
1065 | integrity sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==
1066 | dependencies:
1067 | esbuild "^0.16.3"
1068 | postcss "^8.4.20"
1069 | resolve "^1.22.1"
1070 | rollup "^3.7.0"
1071 | optionalDependencies:
1072 | fsevents "~2.3.2"
1073 |
1074 | xtend@^4.0.2:
1075 | version "4.0.2"
1076 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
1077 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1078 |
1079 | yallist@^3.0.2:
1080 | version "3.1.1"
1081 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
1082 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1083 |
1084 | yaml@^1.10.2:
1085 | version "1.10.2"
1086 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
1087 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1088 |
--------------------------------------------------------------------------------