Browse Source

Update prettier config

Arnaud Vergnet 4 months ago
parent
commit
20aed5cc80

+ 275
- 180
package-lock.json View File

@@ -129,18 +129,18 @@
129 129
       }
130 130
     },
131 131
     "@babel/helper-create-regexp-features-plugin": {
132
-      "version": "7.12.17",
133
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz",
134
-      "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==",
132
+      "version": "7.14.3",
133
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz",
134
+      "integrity": "sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==",
135 135
       "requires": {
136 136
         "@babel/helper-annotate-as-pure": "^7.12.13",
137 137
         "regexpu-core": "^4.7.1"
138 138
       }
139 139
     },
140 140
     "@babel/helper-define-polyfill-provider": {
141
-      "version": "0.2.0",
142
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz",
143
-      "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==",
141
+      "version": "0.2.1",
142
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.1.tgz",
143
+      "integrity": "sha512-x3AUTVZNPunaw1opRTa5OwVA5N0YxGlIad9xQ5QflK1uIS7PnAGGU5O2Dj/G183fR//N8AzTq+Q8+oiu9m0VFg==",
144 144
       "requires": {
145 145
         "@babel/helper-compilation-targets": "^7.13.0",
146 146
         "@babel/helper-module-imports": "^7.12.13",
@@ -237,6 +237,17 @@
237 237
       "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz",
238 238
       "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ=="
239 239
     },
240
+    "@babel/helper-remap-async-to-generator": {
241
+      "version": "7.13.0",
242
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz",
243
+      "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==",
244
+      "dev": true,
245
+      "requires": {
246
+        "@babel/helper-annotate-as-pure": "^7.12.13",
247
+        "@babel/helper-wrap-function": "^7.13.0",
248
+        "@babel/types": "^7.13.0"
249
+      }
250
+    },
240 251
     "@babel/helper-replace-supers": {
241 252
       "version": "7.13.12",
242 253
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz",
@@ -282,6 +293,18 @@
282 293
       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
283 294
       "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw=="
284 295
     },
296
+    "@babel/helper-wrap-function": {
297
+      "version": "7.13.0",
298
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz",
299
+      "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==",
300
+      "dev": true,
301
+      "requires": {
302
+        "@babel/helper-function-name": "^7.12.13",
303
+        "@babel/template": "^7.12.13",
304
+        "@babel/traverse": "^7.13.0",
305
+        "@babel/types": "^7.13.0"
306
+      }
307
+    },
285 308
     "@babel/helpers": {
286 309
       "version": "7.14.0",
287 310
       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz",
@@ -385,9 +408,9 @@
385 408
       }
386 409
     },
387 410
     "@babel/plugin-proposal-optional-catch-binding": {
388
-      "version": "7.13.8",
389
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz",
390
-      "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==",
411
+      "version": "7.14.2",
412
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz",
413
+      "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==",
391 414
       "requires": {
392 415
         "@babel/helper-plugin-utils": "^7.13.0",
393 416
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
@@ -554,6 +577,17 @@
554 577
         "@babel/helper-plugin-utils": "^7.13.0"
555 578
       }
556 579
     },
580
+    "@babel/plugin-transform-async-to-generator": {
581
+      "version": "7.13.0",
582
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz",
583
+      "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==",
584
+      "dev": true,
585
+      "requires": {
586
+        "@babel/helper-module-imports": "^7.12.13",
587
+        "@babel/helper-plugin-utils": "^7.13.0",
588
+        "@babel/helper-remap-async-to-generator": "^7.13.0"
589
+      }
590
+    },
557 591
     "@babel/plugin-transform-block-scoped-functions": {
558 592
       "version": "7.12.13",
559 593
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz",
@@ -724,11 +758,11 @@
724 758
       }
725 759
     },
726 760
     "@babel/plugin-transform-react-jsx-source": {
727
-      "version": "7.12.13",
728
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz",
729
-      "integrity": "sha512-O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q==",
761
+      "version": "7.14.2",
762
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.2.tgz",
763
+      "integrity": "sha512-OMorspVyjxghAjzgeAWc6O7W7vHbJhV69NeTGdl9Mxgz6PaweAuo7ffB9T5A1OQ9dGcw0As4SYMUhyNC4u7mVg==",
730 764
       "requires": {
731
-        "@babel/helper-plugin-utils": "^7.12.13"
765
+        "@babel/helper-plugin-utils": "^7.13.0"
732 766
       }
733 767
     },
734 768
     "@babel/plugin-transform-regenerator": {
@@ -740,9 +774,9 @@
740 774
       }
741 775
     },
742 776
     "@babel/plugin-transform-runtime": {
743
-      "version": "7.13.15",
744
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz",
745
-      "integrity": "sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA==",
777
+      "version": "7.14.3",
778
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz",
779
+      "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==",
746 780
       "requires": {
747 781
         "@babel/helper-module-imports": "^7.13.12",
748 782
         "@babel/helper-plugin-utils": "^7.13.0",
@@ -840,7 +874,6 @@
840 874
       "version": "7.12.5",
841 875
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz",
842 876
       "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==",
843
-      "dev": true,
844 877
       "requires": {
845 878
         "regenerator-runtime": "^0.13.4"
846 879
       }
@@ -927,9 +960,9 @@
927 960
       }
928 961
     },
929 962
     "@eslint/eslintrc": {
930
-      "version": "0.4.0",
931
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz",
932
-      "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==",
963
+      "version": "0.4.1",
964
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz",
965
+      "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==",
933 966
       "dev": true,
934 967
       "requires": {
935 968
         "ajv": "^6.12.4",
@@ -2190,6 +2223,15 @@
2190 2223
             "ms": "2.1.2"
2191 2224
           }
2192 2225
         },
2226
+        "eslint-config-prettier": {
2227
+          "version": "6.15.0",
2228
+          "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz",
2229
+          "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==",
2230
+          "dev": true,
2231
+          "requires": {
2232
+            "get-stdin": "^6.0.0"
2233
+          }
2234
+        },
2193 2235
         "lru-cache": {
2194 2236
           "version": "6.0.0",
2195 2237
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -2406,9 +2448,9 @@
2406 2448
       "integrity": "sha512-lYR2Y/tV2ujpk/WyUc7S0VLI0a9hrtVIN9EwnrNo5oSEJI2cK2/XrgwOQmXLL3eTulOESvh9qP6si9+DWM9cOA=="
2407 2449
     },
2408 2450
     "@types/i18n-js": {
2409
-      "version": "3.8.0",
2410
-      "resolved": "https://registry.npmjs.org/@types/i18n-js/-/i18n-js-3.8.0.tgz",
2411
-      "integrity": "sha512-0Hfr0sCpeP38C3xMqbaxgeJmFx99GCqKYyiKCtIIxa3tmFHwS94vcAwynLk+uDauRPPHMq/swA8z78fR8YIb+Q==",
2451
+      "version": "3.8.1",
2452
+      "resolved": "https://registry.npmjs.org/@types/i18n-js/-/i18n-js-3.8.1.tgz",
2453
+      "integrity": "sha512-s6GGXB8CYsFZMqSgussqGwYrrjApoTjXPkp0/9txUzO4CPkr+sJpWw19O4r3NYHy8ul6lKuQbP7C3Qk1JU2Kpw==",
2412 2454
       "dev": true
2413 2455
     },
2414 2456
     "@types/istanbul-lib-coverage": {
@@ -2511,18 +2553,18 @@
2511 2553
       }
2512 2554
     },
2513 2555
     "@types/react-native": {
2514
-      "version": "0.64.4",
2515
-      "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.64.4.tgz",
2516
-      "integrity": "sha512-VqnlmadGkD5usREvnuyVpWDS1W8f6cCz6MP5fZdgONsaZ9/Ijfb9Iq9MZ5O3bnW1OyJixDX9HtSp3COsFSLD8Q==",
2556
+      "version": "0.64.5",
2557
+      "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.64.5.tgz",
2558
+      "integrity": "sha512-k0r8MnQX7UFboZDvMKLov26gFLXKrNgLhCfSVhjaZ6wMUofKijxvee7/wgfAqtT2zS5FR4an4+qn0r72SCbw3g==",
2517 2559
       "dev": true,
2518 2560
       "requires": {
2519 2561
         "@types/react": "*"
2520 2562
       }
2521 2563
     },
2522 2564
     "@types/react-native-calendars": {
2523
-      "version": "1.20.10",
2524
-      "resolved": "https://registry.npmjs.org/@types/react-native-calendars/-/react-native-calendars-1.20.10.tgz",
2525
-      "integrity": "sha512-bmWlkFa/6SNF98aM9rjKMGUOSDb15VBsfxBW5oo/iJ5tm5THf+eAGlxH72hGZFqJpr93plBs+ctkRVHQA7fx1w==",
2565
+      "version": "1.505.3",
2566
+      "resolved": "https://registry.npmjs.org/@types/react-native-calendars/-/react-native-calendars-1.505.3.tgz",
2567
+      "integrity": "sha512-YgJXlwf4Nznoe8hI4LC0ZlDYgAkCHAkG6iKTo8rg+lOyJyzrsFSWDrSv2mb4lLNZgNkdbMNLpT70Xdj52LueBA==",
2526 2568
       "dev": true,
2527 2569
       "requires": {
2528 2570
         "@types/react": "*",
@@ -2531,9 +2573,9 @@
2531 2573
       }
2532 2574
     },
2533 2575
     "@types/react-native-push-notification": {
2534
-      "version": "7.2.0",
2535
-      "resolved": "https://registry.npmjs.org/@types/react-native-push-notification/-/react-native-push-notification-7.2.0.tgz",
2536
-      "integrity": "sha512-4kErWFa0qit8qzPB6Nbp7kG9NiwDyKu5XxrNlrCIc1zoFxu48ABeofVvNCKv2RtlmFvCftibtykeysRZCeuT8A==",
2576
+      "version": "7.3.0",
2577
+      "resolved": "https://registry.npmjs.org/@types/react-native-push-notification/-/react-native-push-notification-7.3.0.tgz",
2578
+      "integrity": "sha512-11p6U/6atLJQcuBiwO+QR5NzAWyxowj9yiQ5hcRwfH9lwD06jKyG2nr/b4MUT7HALMF3JUZUn/qZ1gR6DgfnFQ==",
2537 2579
       "dev": true
2538 2580
     },
2539 2581
     "@types/react-native-vector-icons": {
@@ -2587,13 +2629,13 @@
2587 2629
       "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA=="
2588 2630
     },
2589 2631
     "@typescript-eslint/eslint-plugin": {
2590
-      "version": "4.22.1",
2591
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.1.tgz",
2592
-      "integrity": "sha512-kVTAghWDDhsvQ602tHBc6WmQkdaYbkcTwZu+7l24jtJiYvm9l+/y/b2BZANEezxPDiX5MK2ZecE+9BFi/YJryw==",
2632
+      "version": "4.24.0",
2633
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.24.0.tgz",
2634
+      "integrity": "sha512-qbCgkPM7DWTsYQGjx9RTuQGswi+bEt0isqDBeo+CKV0953zqI0Tp7CZ7Fi9ipgFA6mcQqF4NOVNwS/f2r6xShw==",
2593 2635
       "dev": true,
2594 2636
       "requires": {
2595
-        "@typescript-eslint/experimental-utils": "4.22.1",
2596
-        "@typescript-eslint/scope-manager": "4.22.1",
2637
+        "@typescript-eslint/experimental-utils": "4.24.0",
2638
+        "@typescript-eslint/scope-manager": "4.24.0",
2597 2639
         "debug": "^4.1.1",
2598 2640
         "functional-red-black-tree": "^1.0.1",
2599 2641
         "lodash": "^4.17.15",
@@ -2603,33 +2645,33 @@
2603 2645
       },
2604 2646
       "dependencies": {
2605 2647
         "@typescript-eslint/experimental-utils": {
2606
-          "version": "4.22.1",
2607
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.1.tgz",
2608
-          "integrity": "sha512-svYlHecSMCQGDO2qN1v477ax/IDQwWhc7PRBiwAdAMJE7GXk5stF4Z9R/8wbRkuX/5e9dHqbIWxjeOjckK3wLQ==",
2648
+          "version": "4.24.0",
2649
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.24.0.tgz",
2650
+          "integrity": "sha512-IwTT2VNDKH1h8RZseMH4CcYBz6lTvRoOLDuuqNZZoThvfHEhOiZPQCow+5El3PtyxJ1iDr6UXZwYtE3yZQjhcw==",
2609 2651
           "dev": true,
2610 2652
           "requires": {
2611 2653
             "@types/json-schema": "^7.0.3",
2612
-            "@typescript-eslint/scope-manager": "4.22.1",
2613
-            "@typescript-eslint/types": "4.22.1",
2614
-            "@typescript-eslint/typescript-estree": "4.22.1",
2654
+            "@typescript-eslint/scope-manager": "4.24.0",
2655
+            "@typescript-eslint/types": "4.24.0",
2656
+            "@typescript-eslint/typescript-estree": "4.24.0",
2615 2657
             "eslint-scope": "^5.0.0",
2616 2658
             "eslint-utils": "^2.0.0"
2617 2659
           }
2618 2660
         },
2619 2661
         "@typescript-eslint/types": {
2620
-          "version": "4.22.1",
2621
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.1.tgz",
2622
-          "integrity": "sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw==",
2662
+          "version": "4.24.0",
2663
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.24.0.tgz",
2664
+          "integrity": "sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q==",
2623 2665
           "dev": true
2624 2666
         },
2625 2667
         "@typescript-eslint/typescript-estree": {
2626
-          "version": "4.22.1",
2627
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.1.tgz",
2628
-          "integrity": "sha512-p3We0pAPacT+onSGM+sPR+M9CblVqdA9F1JEdIqRVlxK5Qth4ochXQgIyb9daBomyQKAXbygxp1aXQRV0GC79A==",
2668
+          "version": "4.24.0",
2669
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz",
2670
+          "integrity": "sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA==",
2629 2671
           "dev": true,
2630 2672
           "requires": {
2631
-            "@typescript-eslint/types": "4.22.1",
2632
-            "@typescript-eslint/visitor-keys": "4.22.1",
2673
+            "@typescript-eslint/types": "4.24.0",
2674
+            "@typescript-eslint/visitor-keys": "4.24.0",
2633 2675
             "debug": "^4.1.1",
2634 2676
             "globby": "^11.0.1",
2635 2677
             "is-glob": "^4.0.1",
@@ -2638,12 +2680,12 @@
2638 2680
           }
2639 2681
         },
2640 2682
         "@typescript-eslint/visitor-keys": {
2641
-          "version": "4.22.1",
2642
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.1.tgz",
2643
-          "integrity": "sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ==",
2683
+          "version": "4.24.0",
2684
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz",
2685
+          "integrity": "sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g==",
2644 2686
           "dev": true,
2645 2687
           "requires": {
2646
-            "@typescript-eslint/types": "4.22.1",
2688
+            "@typescript-eslint/types": "4.24.0",
2647 2689
             "eslint-visitor-keys": "^2.0.0"
2648 2690
           }
2649 2691
         },
@@ -2708,31 +2750,31 @@
2708 2750
       }
2709 2751
     },
2710 2752
     "@typescript-eslint/parser": {
2711
-      "version": "4.22.1",
2712
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.1.tgz",
2713
-      "integrity": "sha512-l+sUJFInWhuMxA6rtirzjooh8cM/AATAe3amvIkqKFeMzkn85V+eLzb1RyuXkHak4dLfYzOmF6DXPyflJvjQnw==",
2753
+      "version": "4.24.0",
2754
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.24.0.tgz",
2755
+      "integrity": "sha512-dj1ZIh/4QKeECLb2f/QjRwMmDArcwc2WorWPRlB8UNTZlY1KpTVsbX7e3ZZdphfRw29aTFUSNuGB8w9X5sS97w==",
2714 2756
       "dev": true,
2715 2757
       "requires": {
2716
-        "@typescript-eslint/scope-manager": "4.22.1",
2717
-        "@typescript-eslint/types": "4.22.1",
2718
-        "@typescript-eslint/typescript-estree": "4.22.1",
2758
+        "@typescript-eslint/scope-manager": "4.24.0",
2759
+        "@typescript-eslint/types": "4.24.0",
2760
+        "@typescript-eslint/typescript-estree": "4.24.0",
2719 2761
         "debug": "^4.1.1"
2720 2762
       },
2721 2763
       "dependencies": {
2722 2764
         "@typescript-eslint/types": {
2723
-          "version": "4.22.1",
2724
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.1.tgz",
2725
-          "integrity": "sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw==",
2765
+          "version": "4.24.0",
2766
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.24.0.tgz",
2767
+          "integrity": "sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q==",
2726 2768
           "dev": true
2727 2769
         },
2728 2770
         "@typescript-eslint/typescript-estree": {
2729
-          "version": "4.22.1",
2730
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.1.tgz",
2731
-          "integrity": "sha512-p3We0pAPacT+onSGM+sPR+M9CblVqdA9F1JEdIqRVlxK5Qth4ochXQgIyb9daBomyQKAXbygxp1aXQRV0GC79A==",
2771
+          "version": "4.24.0",
2772
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz",
2773
+          "integrity": "sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA==",
2732 2774
           "dev": true,
2733 2775
           "requires": {
2734
-            "@typescript-eslint/types": "4.22.1",
2735
-            "@typescript-eslint/visitor-keys": "4.22.1",
2776
+            "@typescript-eslint/types": "4.24.0",
2777
+            "@typescript-eslint/visitor-keys": "4.24.0",
2736 2778
             "debug": "^4.1.1",
2737 2779
             "globby": "^11.0.1",
2738 2780
             "is-glob": "^4.0.1",
@@ -2741,12 +2783,12 @@
2741 2783
           }
2742 2784
         },
2743 2785
         "@typescript-eslint/visitor-keys": {
2744
-          "version": "4.22.1",
2745
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.1.tgz",
2746
-          "integrity": "sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ==",
2786
+          "version": "4.24.0",
2787
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz",
2788
+          "integrity": "sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g==",
2747 2789
           "dev": true,
2748 2790
           "requires": {
2749
-            "@typescript-eslint/types": "4.22.1",
2791
+            "@typescript-eslint/types": "4.24.0",
2750 2792
             "eslint-visitor-keys": "^2.0.0"
2751 2793
           }
2752 2794
         },
@@ -2798,28 +2840,28 @@
2798 2840
       }
2799 2841
     },
2800 2842
     "@typescript-eslint/scope-manager": {
2801
-      "version": "4.22.1",
2802
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.1.tgz",
2803
-      "integrity": "sha512-d5bAiPBiessSmNi8Amq/RuLslvcumxLmyhf1/Xa9IuaoFJ0YtshlJKxhlbY7l2JdEk3wS0EnmnfeJWSvADOe0g==",
2843
+      "version": "4.24.0",
2844
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.24.0.tgz",
2845
+      "integrity": "sha512-9+WYJGDnuC9VtYLqBhcSuM7du75fyCS/ypC8c5g7Sdw7pGL4NDTbeH38eJPfzIydCHZDoOgjloxSAA3+4l/zsA==",
2804 2846
       "dev": true,
2805 2847
       "requires": {
2806
-        "@typescript-eslint/types": "4.22.1",
2807
-        "@typescript-eslint/visitor-keys": "4.22.1"
2848
+        "@typescript-eslint/types": "4.24.0",
2849
+        "@typescript-eslint/visitor-keys": "4.24.0"
2808 2850
       },
2809 2851
       "dependencies": {
2810 2852
         "@typescript-eslint/types": {
2811
-          "version": "4.22.1",
2812
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.1.tgz",
2813
-          "integrity": "sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw==",
2853
+          "version": "4.24.0",
2854
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.24.0.tgz",
2855
+          "integrity": "sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q==",
2814 2856
           "dev": true
2815 2857
         },
2816 2858
         "@typescript-eslint/visitor-keys": {
2817
-          "version": "4.22.1",
2818
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.1.tgz",
2819
-          "integrity": "sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ==",
2859
+          "version": "4.24.0",
2860
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz",
2861
+          "integrity": "sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g==",
2820 2862
           "dev": true,
2821 2863
           "requires": {
2822
-            "@typescript-eslint/types": "4.22.1",
2864
+            "@typescript-eslint/types": "4.24.0",
2823 2865
             "eslint-visitor-keys": "^2.0.0"
2824 2866
           }
2825 2867
         },
@@ -3301,30 +3343,30 @@
3301 3343
       }
3302 3344
     },
3303 3345
     "babel-plugin-polyfill-corejs2": {
3304
-      "version": "0.2.0",
3305
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz",
3306
-      "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==",
3346
+      "version": "0.2.1",
3347
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.1.tgz",
3348
+      "integrity": "sha512-hXGSPbr6IbjeMyGew+3uGIAkRjBFSOJ9FLDZNOfHuyJZCcoia4nd/72J0bSgvfytcVfUcP/dxEVcUhVJuQRtSw==",
3307 3349
       "requires": {
3308 3350
         "@babel/compat-data": "^7.13.11",
3309
-        "@babel/helper-define-polyfill-provider": "^0.2.0",
3351
+        "@babel/helper-define-polyfill-provider": "^0.2.1",
3310 3352
         "semver": "^6.1.1"
3311 3353
       }
3312 3354
     },
3313 3355
     "babel-plugin-polyfill-corejs3": {
3314
-      "version": "0.2.0",
3315
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz",
3316
-      "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==",
3356
+      "version": "0.2.1",
3357
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.1.tgz",
3358
+      "integrity": "sha512-WZCqF3DLUhdTD/P381MDJfuP18hdCZ+iqJ+wHtzhWENpsiof284JJ1tMQg1CE+hfCWyG48F7e5gDMk2c3Laz7w==",
3317 3359
       "requires": {
3318
-        "@babel/helper-define-polyfill-provider": "^0.2.0",
3360
+        "@babel/helper-define-polyfill-provider": "^0.2.1",
3319 3361
         "core-js-compat": "^3.9.1"
3320 3362
       }
3321 3363
     },
3322 3364
     "babel-plugin-polyfill-regenerator": {
3323
-      "version": "0.2.0",
3324
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz",
3325
-      "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==",
3365
+      "version": "0.2.1",
3366
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.1.tgz",
3367
+      "integrity": "sha512-T3bYyL3Sll2EtC94v3f+fA8M28q7YPTOZdB++SRHjvYZTvtd+WorMUq3tDTD4Q7Kjk1LG0gGromslKjcO5p2TA==",
3326 3368
       "requires": {
3327
-        "@babel/helper-define-polyfill-provider": "^0.2.0"
3369
+        "@babel/helper-define-polyfill-provider": "^0.2.1"
3328 3370
       }
3329 3371
     },
3330 3372
     "babel-plugin-syntax-trailing-function-commas": {
@@ -3902,9 +3944,9 @@
3902 3944
       "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
3903 3945
     },
3904 3946
     "core-js-compat": {
3905
-      "version": "3.12.0",
3906
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.0.tgz",
3907
-      "integrity": "sha512-vvaN8EOvYBEjrr+MN3vCKrMNc/xdYZI+Rt/uPMROi4T5Hj8Fz6TiPQm2mrB9aZoQVW1lCFHYmMrv99aUct9mkg==",
3947
+      "version": "3.12.1",
3948
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz",
3949
+      "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==",
3908 3950
       "requires": {
3909 3951
         "browserslist": "^4.16.6",
3910 3952
         "semver": "7.0.0"
@@ -4509,25 +4551,27 @@
4509 4551
       }
4510 4552
     },
4511 4553
     "eslint": {
4512
-      "version": "7.25.0",
4513
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz",
4514
-      "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==",
4554
+      "version": "7.27.0",
4555
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz",
4556
+      "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==",
4515 4557
       "dev": true,
4516 4558
       "requires": {
4517 4559
         "@babel/code-frame": "7.12.11",
4518
-        "@eslint/eslintrc": "^0.4.0",
4560
+        "@eslint/eslintrc": "^0.4.1",
4519 4561
         "ajv": "^6.10.0",
4520 4562
         "chalk": "^4.0.0",
4521 4563
         "cross-spawn": "^7.0.2",
4522 4564
         "debug": "^4.0.1",
4523 4565
         "doctrine": "^3.0.0",
4524 4566
         "enquirer": "^2.3.5",
4567
+        "escape-string-regexp": "^4.0.0",
4525 4568
         "eslint-scope": "^5.1.1",
4526 4569
         "eslint-utils": "^2.1.0",
4527 4570
         "eslint-visitor-keys": "^2.0.0",
4528 4571
         "espree": "^7.3.1",
4529 4572
         "esquery": "^1.4.0",
4530 4573
         "esutils": "^2.0.2",
4574
+        "fast-deep-equal": "^3.1.3",
4531 4575
         "file-entry-cache": "^6.0.1",
4532 4576
         "functional-red-black-tree": "^1.0.1",
4533 4577
         "glob-parent": "^5.0.0",
@@ -4539,7 +4583,7 @@
4539 4583
         "js-yaml": "^3.13.1",
4540 4584
         "json-stable-stringify-without-jsonify": "^1.0.1",
4541 4585
         "levn": "^0.4.1",
4542
-        "lodash": "^4.17.21",
4586
+        "lodash.merge": "^4.6.2",
4543 4587
         "minimatch": "^3.0.4",
4544 4588
         "natural-compare": "^1.4.0",
4545 4589
         "optionator": "^0.9.1",
@@ -4548,7 +4592,7 @@
4548 4592
         "semver": "^7.2.1",
4549 4593
         "strip-ansi": "^6.0.0",
4550 4594
         "strip-json-comments": "^3.1.0",
4551
-        "table": "^6.0.4",
4595
+        "table": "^6.0.9",
4552 4596
         "text-table": "^0.2.0",
4553 4597
         "v8-compile-cache": "^2.0.3"
4554 4598
       },
@@ -4722,13 +4766,10 @@
4722 4766
       }
4723 4767
     },
4724 4768
     "eslint-config-prettier": {
4725
-      "version": "6.15.0",
4726
-      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz",
4727
-      "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==",
4728
-      "dev": true,
4729
-      "requires": {
4730
-        "get-stdin": "^6.0.0"
4731
-      }
4769
+      "version": "8.3.0",
4770
+      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
4771
+      "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
4772
+      "dev": true
4732 4773
     },
4733 4774
     "eslint-plugin-eslint-comments": {
4734 4775
       "version": "3.2.0",
@@ -8672,6 +8713,12 @@
8672 8713
       "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
8673 8714
       "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
8674 8715
     },
8716
+    "lodash.merge": {
8717
+      "version": "4.6.2",
8718
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
8719
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
8720
+      "dev": true
8721
+    },
8675 8722
     "lodash.omit": {
8676 8723
       "version": "4.5.0",
8677 8724
       "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
@@ -8827,6 +8874,11 @@
8827 8874
         "object-visit": "^1.0.0"
8828 8875
       }
8829 8876
     },
8877
+    "memoize-one": {
8878
+      "version": "5.2.1",
8879
+      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz",
8880
+      "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="
8881
+    },
8830 8882
     "merge-stream": {
8831 8883
       "version": "2.0.0",
8832 8884
       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -8960,6 +9012,52 @@
8960 9012
             "graceful-fs": "^4.1.6"
8961 9013
           }
8962 9014
         },
9015
+        "metro-react-native-babel-preset": {
9016
+          "version": "0.64.0",
9017
+          "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz",
9018
+          "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==",
9019
+          "requires": {
9020
+            "@babel/core": "^7.0.0",
9021
+            "@babel/plugin-proposal-class-properties": "^7.0.0",
9022
+            "@babel/plugin-proposal-export-default-from": "^7.0.0",
9023
+            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
9024
+            "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
9025
+            "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
9026
+            "@babel/plugin-proposal-optional-chaining": "^7.0.0",
9027
+            "@babel/plugin-syntax-dynamic-import": "^7.0.0",
9028
+            "@babel/plugin-syntax-export-default-from": "^7.0.0",
9029
+            "@babel/plugin-syntax-flow": "^7.2.0",
9030
+            "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
9031
+            "@babel/plugin-syntax-optional-chaining": "^7.0.0",
9032
+            "@babel/plugin-transform-arrow-functions": "^7.0.0",
9033
+            "@babel/plugin-transform-block-scoping": "^7.0.0",
9034
+            "@babel/plugin-transform-classes": "^7.0.0",
9035
+            "@babel/plugin-transform-computed-properties": "^7.0.0",
9036
+            "@babel/plugin-transform-destructuring": "^7.0.0",
9037
+            "@babel/plugin-transform-exponentiation-operator": "^7.0.0",
9038
+            "@babel/plugin-transform-flow-strip-types": "^7.0.0",
9039
+            "@babel/plugin-transform-for-of": "^7.0.0",
9040
+            "@babel/plugin-transform-function-name": "^7.0.0",
9041
+            "@babel/plugin-transform-literals": "^7.0.0",
9042
+            "@babel/plugin-transform-modules-commonjs": "^7.0.0",
9043
+            "@babel/plugin-transform-object-assign": "^7.0.0",
9044
+            "@babel/plugin-transform-parameters": "^7.0.0",
9045
+            "@babel/plugin-transform-react-display-name": "^7.0.0",
9046
+            "@babel/plugin-transform-react-jsx": "^7.0.0",
9047
+            "@babel/plugin-transform-react-jsx-self": "^7.0.0",
9048
+            "@babel/plugin-transform-react-jsx-source": "^7.0.0",
9049
+            "@babel/plugin-transform-regenerator": "^7.0.0",
9050
+            "@babel/plugin-transform-runtime": "^7.0.0",
9051
+            "@babel/plugin-transform-shorthand-properties": "^7.0.0",
9052
+            "@babel/plugin-transform-spread": "^7.0.0",
9053
+            "@babel/plugin-transform-sticky-regex": "^7.0.0",
9054
+            "@babel/plugin-transform-template-literals": "^7.0.0",
9055
+            "@babel/plugin-transform-typescript": "^7.5.0",
9056
+            "@babel/plugin-transform-unicode-regex": "^7.0.0",
9057
+            "@babel/template": "^7.0.0",
9058
+            "react-refresh": "^0.4.0"
9059
+          }
9060
+        },
8963 9061
         "ms": {
8964 9062
           "version": "2.1.2",
8965 9063
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -9177,9 +9275,10 @@
9177 9275
       }
9178 9276
     },
9179 9277
     "metro-react-native-babel-preset": {
9180
-      "version": "0.64.0",
9181
-      "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz",
9182
-      "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==",
9278
+      "version": "0.65.2",
9279
+      "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.65.2.tgz",
9280
+      "integrity": "sha512-jBpZwJwnGHXUnzoZl81LlUzvec2dh1llMJ2A7pbTMuCKhx4LjqOGEE1E+hkNqj/Uh7gi6tCPy5JYSCo9Ue/Vog==",
9281
+      "dev": true,
9183 9282
       "requires": {
9184 9283
         "@babel/core": "^7.0.0",
9185 9284
         "@babel/plugin-proposal-class-properties": "^7.0.0",
@@ -9194,6 +9293,7 @@
9194 9293
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
9195 9294
         "@babel/plugin-syntax-optional-chaining": "^7.0.0",
9196 9295
         "@babel/plugin-transform-arrow-functions": "^7.0.0",
9296
+        "@babel/plugin-transform-async-to-generator": "^7.0.0",
9197 9297
         "@babel/plugin-transform-block-scoping": "^7.0.0",
9198 9298
         "@babel/plugin-transform-classes": "^7.0.0",
9199 9299
         "@babel/plugin-transform-computed-properties": "^7.0.0",
@@ -9220,48 +9320,6 @@
9220 9320
         "@babel/plugin-transform-unicode-regex": "^7.0.0",
9221 9321
         "@babel/template": "^7.0.0",
9222 9322
         "react-refresh": "^0.4.0"
9223
-      },
9224
-      "dependencies": {
9225
-        "@babel/core": {
9226
-          "version": "7.14.0",
9227
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz",
9228
-          "integrity": "sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==",
9229
-          "requires": {
9230
-            "@babel/code-frame": "^7.12.13",
9231
-            "@babel/generator": "^7.14.0",
9232
-            "@babel/helper-compilation-targets": "^7.13.16",
9233
-            "@babel/helper-module-transforms": "^7.14.0",
9234
-            "@babel/helpers": "^7.14.0",
9235
-            "@babel/parser": "^7.14.0",
9236
-            "@babel/template": "^7.12.13",
9237
-            "@babel/traverse": "^7.14.0",
9238
-            "@babel/types": "^7.14.0",
9239
-            "convert-source-map": "^1.7.0",
9240
-            "debug": "^4.1.0",
9241
-            "gensync": "^1.0.0-beta.2",
9242
-            "json5": "^2.1.2",
9243
-            "semver": "^6.3.0",
9244
-            "source-map": "^0.5.0"
9245
-          }
9246
-        },
9247
-        "debug": {
9248
-          "version": "4.3.1",
9249
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
9250
-          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
9251
-          "requires": {
9252
-            "ms": "2.1.2"
9253
-          }
9254
-        },
9255
-        "ms": {
9256
-          "version": "2.1.2",
9257
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
9258
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
9259
-        },
9260
-        "source-map": {
9261
-          "version": "0.5.7",
9262
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
9263
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
9264
-        }
9265 9323
       }
9266 9324
     },
9267 9325
     "metro-react-native-babel-transformer": {
@@ -9307,6 +9365,52 @@
9307 9365
             "ms": "2.1.2"
9308 9366
           }
9309 9367
         },
9368
+        "metro-react-native-babel-preset": {
9369
+          "version": "0.64.0",
9370
+          "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz",
9371
+          "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==",
9372
+          "requires": {
9373
+            "@babel/core": "^7.0.0",
9374
+            "@babel/plugin-proposal-class-properties": "^7.0.0",
9375
+            "@babel/plugin-proposal-export-default-from": "^7.0.0",
9376
+            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
9377
+            "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
9378
+            "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
9379
+            "@babel/plugin-proposal-optional-chaining": "^7.0.0",
9380
+            "@babel/plugin-syntax-dynamic-import": "^7.0.0",
9381
+            "@babel/plugin-syntax-export-default-from": "^7.0.0",
9382
+            "@babel/plugin-syntax-flow": "^7.2.0",
9383
+            "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
9384
+            "@babel/plugin-syntax-optional-chaining": "^7.0.0",
9385
+            "@babel/plugin-transform-arrow-functions": "^7.0.0",
9386
+            "@babel/plugin-transform-block-scoping": "^7.0.0",
9387
+            "@babel/plugin-transform-classes": "^7.0.0",
9388
+            "@babel/plugin-transform-computed-properties": "^7.0.0",
9389
+            "@babel/plugin-transform-destructuring": "^7.0.0",
9390
+            "@babel/plugin-transform-exponentiation-operator": "^7.0.0",
9391
+            "@babel/plugin-transform-flow-strip-types": "^7.0.0",
9392
+            "@babel/plugin-transform-for-of": "^7.0.0",
9393
+            "@babel/plugin-transform-function-name": "^7.0.0",
9394
+            "@babel/plugin-transform-literals": "^7.0.0",
9395
+            "@babel/plugin-transform-modules-commonjs": "^7.0.0",
9396
+            "@babel/plugin-transform-object-assign": "^7.0.0",
9397
+            "@babel/plugin-transform-parameters": "^7.0.0",
9398
+            "@babel/plugin-transform-react-display-name": "^7.0.0",
9399
+            "@babel/plugin-transform-react-jsx": "^7.0.0",
9400
+            "@babel/plugin-transform-react-jsx-self": "^7.0.0",
9401
+            "@babel/plugin-transform-react-jsx-source": "^7.0.0",
9402
+            "@babel/plugin-transform-regenerator": "^7.0.0",
9403
+            "@babel/plugin-transform-runtime": "^7.0.0",
9404
+            "@babel/plugin-transform-shorthand-properties": "^7.0.0",
9405
+            "@babel/plugin-transform-spread": "^7.0.0",
9406
+            "@babel/plugin-transform-sticky-regex": "^7.0.0",
9407
+            "@babel/plugin-transform-template-literals": "^7.0.0",
9408
+            "@babel/plugin-transform-typescript": "^7.5.0",
9409
+            "@babel/plugin-transform-unicode-regex": "^7.0.0",
9410
+            "@babel/template": "^7.0.0",
9411
+            "react-refresh": "^0.4.0"
9412
+          }
9413
+        },
9310 9414
         "ms": {
9311 9415
           "version": "2.1.2",
9312 9416
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -10227,9 +10331,9 @@
10227 10331
       "dev": true
10228 10332
     },
10229 10333
     "prettier": {
10230
-      "version": "2.2.1",
10231
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
10232
-      "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
10334
+      "version": "2.3.0",
10335
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
10336
+      "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
10233 10337
       "dev": true
10234 10338
     },
10235 10339
     "prettier-linter-helpers": {
@@ -10557,13 +10661,14 @@
10557 10661
       }
10558 10662
     },
10559 10663
     "react-native-calendars": {
10560
-      "version": "1.1260.0",
10561
-      "resolved": "https://registry.npmjs.org/react-native-calendars/-/react-native-calendars-1.1260.0.tgz",
10562
-      "integrity": "sha512-LOM8Jb9RGSv/qwAnuj55ijgsiC5uGFnlLIyE4GyEMoW212qIjTaNIgGR5kLQQmJ8cfh7vBpuDPKy17Io4Ar/4A==",
10664
+      "version": "1.1262.0",
10665
+      "resolved": "https://registry.npmjs.org/react-native-calendars/-/react-native-calendars-1.1262.0.tgz",
10666
+      "integrity": "sha512-6E45gVOHh8LHCTsnH5YgwOB4/B7H6o/JZ8QHBrPJiq1/3hFOUR2O2QCjVdmo7QAl2OmCcWLdjgrJrTqSebjiVA==",
10563 10667
       "requires": {
10564 10668
         "hoist-non-react-statics": "^3.3.1",
10565 10669
         "immutable": "^4.0.0-rc.12",
10566 10670
         "lodash": "^4.17.15",
10671
+        "memoize-one": "^5.2.1",
10567 10672
         "moment": "^2.24.0",
10568 10673
         "prop-types": "^15.5.10",
10569 10674
         "react-native-swipe-gestures": "^1.0.5",
@@ -11058,16 +11163,6 @@
11058 11163
       "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
11059 11164
       "requires": {
11060 11165
         "@babel/runtime": "^7.8.4"
11061
-      },
11062
-      "dependencies": {
11063
-        "@babel/runtime": {
11064
-          "version": "7.14.0",
11065
-          "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz",
11066
-          "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==",
11067
-          "requires": {
11068
-            "regenerator-runtime": "^0.13.4"
11069
-          }
11070
-        }
11071 11166
       }
11072 11167
     },
11073 11168
     "regex-not": {
@@ -12034,9 +12129,9 @@
12034 12129
       "dev": true
12035 12130
     },
12036 12131
     "table": {
12037
-      "version": "6.7.0",
12038
-      "resolved": "https://registry.npmjs.org/table/-/table-6.7.0.tgz",
12039
-      "integrity": "sha512-SAM+5p6V99gYiiy2gT5ArdzgM1dLDed0nkrWmG6Fry/bUS/m9x83BwpJUOf1Qj/x2qJd+thL6IkIx7qPGRxqBw==",
12132
+      "version": "6.7.1",
12133
+      "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz",
12134
+      "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==",
12040 12135
       "dev": true,
12041 12136
       "requires": {
12042 12137
         "ajv": "^8.0.1",
@@ -12048,9 +12143,9 @@
12048 12143
       },
12049 12144
       "dependencies": {
12050 12145
         "ajv": {
12051
-          "version": "8.2.0",
12052
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz",
12053
-          "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==",
12146
+          "version": "8.5.0",
12147
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz",
12148
+          "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==",
12054 12149
           "dev": true,
12055 12150
           "requires": {
12056 12151
             "fast-deep-equal": "^3.1.1",

+ 13
- 12
package.json View File

@@ -14,7 +14,7 @@
14 14
     "lint-fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
15 15
     "full-check": "npm run typescript && npm run lint && npm run test",
16 16
     "pod": "cd ios && pod install && cd ..",
17
-    "bundle": "npm run full-check && cd android && ./gradlew bundleRelease",
17
+    "bundle": "cd android && ./gradlew bundleRelease",
18 18
     "clean": "react-native-clean-project",
19 19
     "postversion": "react-native-version"
20 20
   },
@@ -35,7 +35,7 @@
35 35
     "react-native-app-intro-slider": "4.0.4",
36 36
     "react-native-appearance": "0.3.4",
37 37
     "react-native-autolink": "4.0.0",
38
-    "react-native-calendars": "1.1260.0",
38
+    "react-native-calendars": "1.1262.0",
39 39
     "react-native-camera": "3.43.6",
40 40
     "react-native-collapsible": "1.6.0",
41 41
     "react-native-gesture-handler": "1.10.3",
@@ -62,24 +62,25 @@
62 62
     "@babel/core": "7.12.9",
63 63
     "@babel/runtime": "7.12.5",
64 64
     "@react-native-community/eslint-config": "2.0.0",
65
-    "@types/i18n-js": "3.8.0",
65
+    "@types/i18n-js": "3.8.1",
66 66
     "@types/jest": "26.0.23",
67 67
     "@types/react": "17.0.3",
68
-    "@types/react-native": "0.64.4",
69
-    "@types/react-native-calendars": "1.20.10",
70
-    "@types/react-native-push-notification": "^7.2.0",
68
+    "@types/react-native": "0.64.5",
69
+    "@types/react-native-calendars": "1.505.3",
70
+    "@types/react-native-push-notification": "7.3.0",
71 71
     "@types/react-native-vector-icons": "6.4.6",
72 72
     "@types/react-test-renderer": "17.0.1",
73
-    "@typescript-eslint/eslint-plugin": "4.22.1",
74
-    "@typescript-eslint/parser": "4.22.1",
73
+    "@typescript-eslint/eslint-plugin": "4.24.0",
74
+    "@typescript-eslint/parser": "4.24.0",
75 75
     "babel-jest": "26.6.3",
76
-    "eslint": "7.25.0",
76
+    "eslint": "7.27.0",
77
+    "eslint-config-prettier": "8.3.0",
77 78
     "jest": "26.6.3",
78 79
     "jest-extended": "0.11.5",
79 80
     "jest-fetch-mock": "3.0.3",
80
-    "metro-react-native-babel-preset": "0.64.0",
81
-    "prettier": "2.2.1",
82
-    "react-native-clean-project": "^3.6.3",
81
+    "metro-react-native-babel-preset": "0.65.2",
82
+    "prettier": "2.3.0",
83
+    "react-native-clean-project": "3.6.3",
83 84
     "react-native-version": "4.0.0",
84 85
     "react-test-renderer": "17.0.1",
85 86
     "typescript": "4.2.4"

+ 2
- 5
src/components/Collapsible/CollapsibleComponent.tsx View File

@@ -72,11 +72,8 @@ function CollapsibleComponent(props: Props) {
72 72
     }, [collapsible, setCollapsible])
73 73
   );
74 74
 
75
-  const {
76
-    containerPaddingTop,
77
-    scrollIndicatorInsetTop,
78
-    onScrollWithListener,
79
-  } = collapsible;
75
+  const { containerPaddingTop, scrollIndicatorInsetTop, onScrollWithListener } =
76
+    collapsible;
80 77
 
81 78
   const paddingBottom = props.hasTab ? TAB_BAR_HEIGHT : 0;
82 79
 

+ 8
- 14
src/components/Screens/RequestScreen.tsx View File

@@ -48,20 +48,14 @@ export default function RequestScreen<T>(props: Props<T>) {
48 48
   const navigation = useNavigation<StackNavigationProp<any>>();
49 49
   const route = useRoute();
50 50
   const refreshInterval = useRef<number>();
51
-  const [
52
-    loading,
53
-    lastRefreshDate,
54
-    status,
55
-    code,
56
-    data,
57
-    refreshData,
58
-  ] = useRequestLogic<T>(
59
-    props.request,
60
-    props.cache,
61
-    props.onCacheUpdate,
62
-    props.refreshOnFocus,
63
-    MIN_REFRESH_TIME
64
-  );
51
+  const [loading, lastRefreshDate, status, code, data, refreshData] =
52
+    useRequestLogic<T>(
53
+      props.request,
54
+      props.cache,
55
+      props.onCacheUpdate,
56
+      props.refreshOnFocus,
57
+      MIN_REFRESH_TIME
58
+    );
65 59
   // Store last refresh prop value
66 60
   const lastRefresh = useRef<boolean>(false);
67 61
 

+ 5
- 7
src/components/providers/CollapsibleProvider.tsx View File

@@ -17,13 +17,11 @@ export default function CollapsibleProvider(props: Props) {
17 17
     }));
18 18
   };
19 19
 
20
-  const [
21
-    currentCollapsible,
22
-    setCurrentCollapsible,
23
-  ] = useState<CollapsibleContextType>({
24
-    collapsible: undefined,
25
-    setCollapsible: setCollapsible,
26
-  });
20
+  const [currentCollapsible, setCurrentCollapsible] =
21
+    useState<CollapsibleContextType>({
22
+      collapsible: undefined,
23
+      setCollapsible: setCollapsible,
24
+    });
27 25
 
28 26
   return (
29 27
     <CollapsibleContext.Provider value={currentCollapsible}>

+ 2
- 4
src/screens/About/DebugScreen.tsx View File

@@ -64,10 +64,8 @@ function DebugScreen() {
64 64
   const modalRef = useRef<Modalize>(null);
65 65
 
66 66
   const [modalInputValue, setModalInputValue] = useState<string>('');
67
-  const [
68
-    modalCurrentDisplayItem,
69
-    setModalCurrentDisplayItem,
70
-  ] = useState<PreferenceItemType | null>(null);
67
+  const [modalCurrentDisplayItem, setModalCurrentDisplayItem] =
68
+    useState<PreferenceItemType | null>(null);
71 69
 
72 70
   const currentPreferences: Array<PreferenceItemType> = [];
73 71
   Object.values(GeneralPreferenceKeys).forEach((key) => {

+ 2
- 3
src/screens/Amicale/Clubs/ClubDisplayScreen.tsx View File

@@ -94,9 +94,8 @@ function ClubDisplayScreen(props: Props) {
94 94
   const theme = useTheme();
95 95
 
96 96
   const [displayData, setDisplayData] = useState<ClubType | undefined>();
97
-  const [categories, setCategories] = useState<
98
-    Array<ClubCategoryType> | undefined
99
-  >();
97
+  const [categories, setCategories] =
98
+    useState<Array<ClubCategoryType> | undefined>();
100 99
   const [clubId, setClubId] = useState<number | undefined>();
101 100
 
102 101
   useFocusEffect(

+ 2
- 4
src/screens/Amicale/Clubs/ClubListScreen.tsx View File

@@ -59,10 +59,8 @@ const LIST_ITEM_HEIGHT = 96;
59 59
 function ClubListScreen() {
60 60
   const navigation = useNavigation();
61 61
   const request = useAuthenticatedRequest<ResponseType>('clubs/list');
62
-  const [
63
-    currentlySelectedCategories,
64
-    setCurrentlySelectedCategories,
65
-  ] = useState<Array<number>>([]);
62
+  const [currentlySelectedCategories, setCurrentlySelectedCategories] =
63
+    useState<Array<number>>([]);
66 64
   const [currentSearchString, setCurrentSearchString] = useState('');
67 65
   const categories = useRef<Array<ClubCategoryType>>([]);
68 66
 

+ 9
- 10
src/screens/Amicale/Equipment/EquipmentListScreen.tsx View File

@@ -60,16 +60,15 @@ const styles = StyleSheet.create({
60 60
 
61 61
 function EquipmentListScreen() {
62 62
   const userRents = useRef<undefined | Array<RentedDeviceType>>();
63
-  const [mascotDialogVisible, setMascotDialogVisible] = useState<
64
-    undefined | boolean
65
-  >(undefined);
66
-
67
-  const requestAll = useAuthenticatedRequest<{ devices: Array<DeviceType> }>(
68
-    'location/all'
69
-  );
70
-  const requestOwn = useAuthenticatedRequest<{
71
-    locations: Array<RentedDeviceType>;
72
-  }>('location/my');
63
+  const [mascotDialogVisible, setMascotDialogVisible] =
64
+    useState<undefined | boolean>(undefined);
65
+
66
+  const requestAll =
67
+    useAuthenticatedRequest<{ devices: Array<DeviceType> }>('location/all');
68
+  const requestOwn =
69
+    useAuthenticatedRequest<{
70
+      locations: Array<RentedDeviceType>;
71
+    }>('location/my');
73 72
 
74 73
   const getRenderItem = ({ item }: { item: DeviceType }) => {
75 74
     return (

+ 2
- 3
src/screens/Amicale/LoginScreen.tsx View File

@@ -44,9 +44,8 @@ function LoginScreen(props: Props) {
44 44
   const { setLogin } = useLogin();
45 45
   const [loading, setLoading] = useState(false);
46 46
   const [nextScreen, setNextScreen] = useState<string | undefined>(undefined);
47
-  const [mascotDialogVisible, setMascotDialogVisible] = useState<
48
-    undefined | boolean
49
-  >(undefined);
47
+  const [mascotDialogVisible, setMascotDialogVisible] =
48
+    useState<undefined | boolean>(undefined);
50 49
   const [currentError, setCurrentError] = useState<ApiRejectType>({
51 50
     status: REQUEST_STATUS.SUCCESS,
52 51
   });

+ 6
- 9
src/screens/Amicale/VoteScreen.tsx View File

@@ -133,16 +133,13 @@ const styles = StyleSheet.create({
133 133
  */
134 134
 export default function VoteScreen() {
135 135
   const [hasVoted, setHasVoted] = useState(false);
136
-  const [mascotDialogVisible, setMascotDialogVisible] = useState<
137
-    undefined | boolean
138
-  >(undefined);
136
+  const [mascotDialogVisible, setMascotDialogVisible] =
137
+    useState<undefined | boolean>(undefined);
139 138
 
140
-  const datesRequest = useAuthenticatedRequest<VoteDatesStringType>(
141
-    'elections/dates'
142
-  );
143
-  const teamsRequest = useAuthenticatedRequest<TeamResponseType>(
144
-    'elections/teams'
145
-  );
139
+  const datesRequest =
140
+    useAuthenticatedRequest<VoteDatesStringType>('elections/dates');
141
+  const teamsRequest =
142
+    useAuthenticatedRequest<TeamResponseType>('elections/teams');
146 143
 
147 144
   const today = new Date();
148 145
   const refresh = useRef<() => void | undefined>();

+ 3
- 2
src/screens/Game/logic/GameLogic.ts View File

@@ -285,8 +285,9 @@ export default class GameLogic {
285 285
   getNextPiecesPreviews(): Array<GridType> {
286 286
     const finalArray = [];
287 287
     for (let i = 0; i < this.nextPieces.length; i += 1) {
288
-      const gridSize = this.nextPieces[i].getCurrentShape().getCurrentShape()[0]
289
-        .length;
288
+      const gridSize = this.nextPieces[i]
289
+        .getCurrentShape()
290
+        .getCurrentShape()[0].length;
290 291
       finalArray.push(this.gridManager.getEmptyGrid(gridSize, gridSize));
291 292
       this.nextPieces[i].toGrid(finalArray[i], true);
292 293
     }

+ 4
- 6
src/screens/Game/logic/Piece.ts View File

@@ -65,9 +65,8 @@ export default class Piece {
65 65
    * @param grid The grid to remove the piece from
66 66
    */
67 67
   removeFromGrid(grid: GridType) {
68
-    const pos: Array<CoordinatesType> = this.currentShape.getCellsCoordinates(
69
-      true
70
-    );
68
+    const pos: Array<CoordinatesType> =
69
+      this.currentShape.getCellsCoordinates(true);
71 70
     pos.forEach((coordinates: CoordinatesType) => {
72 71
       grid[coordinates.y][coordinates.x] = {
73 72
         color: this.theme.colors.tetrisBackground,
@@ -106,9 +105,8 @@ export default class Piece {
106 105
    */
107 106
   isPositionValid(grid: GridType, width: number, height: number): boolean {
108 107
     let isValid = true;
109
-    const pos: Array<CoordinatesType> = this.currentShape.getCellsCoordinates(
110
-      true
111
-    );
108
+    const pos: Array<CoordinatesType> =
109
+      this.currentShape.getCellsCoordinates(true);
112 110
     for (let i = 0; i < pos.length; i += 1) {
113 111
       if (
114 112
         pos[i].x >= width ||

+ 7
- 6
src/screens/Game/screens/GameMainScreen.tsx View File

@@ -79,12 +79,13 @@ export default function GameMainScreen() {
79 79
     gameLevel: 0,
80 80
   });
81 81
 
82
-  const [dialogContent, setDialogContent] = useState<{
83
-    dialogTitle: string;
84
-    dialogMessage: string;
85
-    dialogButtons: Array<OptionsDialogButtonType>;
86
-    onDialogDismiss: () => void;
87
-  }>();
82
+  const [dialogContent, setDialogContent] =
83
+    useState<{
84
+      dialogTitle: string;
85
+      dialogMessage: string;
86
+      dialogButtons: Array<OptionsDialogButtonType>;
87
+      onDialogDismiss: () => void;
88
+    }>();
88 89
 
89 90
   const { preferences, updatePreferences } = usePreferences();
90 91
 

+ 2
- 5
src/screens/Other/Settings/DashboardEditScreen.tsx View File

@@ -66,11 +66,8 @@ function DashboardEditScreen() {
66 66
   const navigation = useNavigation();
67 67
   const isLoggedIn = useLoginState();
68 68
 
69
-  const {
70
-    currentDashboard,
71
-    currentDashboardIdList,
72
-    updateCurrentDashboard,
73
-  } = useCurrentDashboard();
69
+  const { currentDashboard, currentDashboardIdList, updateCurrentDashboard } =
70
+    useCurrentDashboard();
74 71
   const initialDashboard = useRef(currentDashboardIdList);
75 72
   const [activeItem, setActiveItem] = useState(0);
76 73
 

+ 9
- 8
src/screens/Planex/PlanexScreen.tsx View File

@@ -59,14 +59,15 @@ function PlanexScreen() {
59 59
   const theme = useTheme();
60 60
   const { preferences } = usePlanexPreferences();
61 61
 
62
-  const [dialogContent, setDialogContent] = useState<
63
-    | undefined
64
-    | {
65
-        title: string | React.ReactElement;
66
-        message: string | React.ReactElement;
67
-        color: string;
68
-      }
69
-  >();
62
+  const [dialogContent, setDialogContent] =
63
+    useState<
64
+      | undefined
65
+      | {
66
+          title: string | React.ReactElement;
67
+          message: string | React.ReactElement;
68
+          color: string;
69
+        }
70
+    >();
70 71
   const [injectJS, setInjectJS] = useState('');
71 72
   const [loading, setLoading] = useState(true);
72 73
 

+ 1
- 0
src/screens/Planning/PlanningScreen.tsx View File

@@ -76,6 +76,7 @@ LocaleConfig.locales.fr = {
76 76
     'Samedi',
77 77
   ],
78 78
   dayNamesShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
79
+  today: "Aujourd'hui",
79 80
 };
80 81
 
81 82
 type PropsType = {

+ 2
- 4
src/screens/Proxiwash/ProxiwashScreen.tsx View File

@@ -99,10 +99,8 @@ function ProxiwashScreen() {
99 99
   const navigation = useNavigation();
100 100
   const theme = useTheme();
101 101
   const { preferences, updatePreferences } = useProxiwashPreferences();
102
-  const [
103
-    modalCurrentDisplayItem,
104
-    setModalCurrentDisplayItem,
105
-  ] = useState<React.ReactElement | null>(null);
102
+  const [modalCurrentDisplayItem, setModalCurrentDisplayItem] =
103
+    useState<React.ReactElement | null>(null);
106 104
   const reminder = getPreferenceNumber(
107 105
     ProxiwashPreferenceKeys.proxiwashNotifications,
108 106
     preferences

+ 2
- 3
src/screens/Services/Proximo/ProximoListScreen.tsx View File

@@ -123,9 +123,8 @@ function ProximoListScreen(props: Props) {
123 123
 
124 124
   const [currentSearchString, setCurrentSearchString] = useState('');
125 125
   const [currentSortMode, setCurrentSortMode] = useState(2);
126
-  const [modalCurrentDisplayItem, setModalCurrentDisplayItem] = useState<
127
-    React.ReactChild | undefined
128
-  >();
126
+  const [modalCurrentDisplayItem, setModalCurrentDisplayItem] =
127
+    useState<React.ReactChild | undefined>();
129 128
 
130 129
   const sortModes = [sortPrice, sortPriceReverse, sortName, sortNameReverse];
131 130
 

+ 3
- 3
src/utils/Planning.ts View File

@@ -178,9 +178,9 @@ export function isDescriptionEmpty(description?: string): boolean {
178 178
  * @param numberOfMonths The number of months to create, starting from the current date
179 179
  * @return {Object}
180 180
  */
181
-export function generateEmptyCalendar(
182
-  numberOfMonths: number
183
-): { [key: string]: Array<PlanningEventType> } {
181
+export function generateEmptyCalendar(numberOfMonths: number): {
182
+  [key: string]: Array<PlanningEventType>;
183
+} {
184 184
   const end = new Date(Date.now());
185 185
   end.setMonth(end.getMonth() + numberOfMonths);
186 186
   const daysOfYear: { [key: string]: Array<PlanningEventType> } = {};

+ 3
- 5
src/utils/WebData.ts View File

@@ -104,11 +104,9 @@ export async function apiRequest<T>(
104 104
         .then((response: Response) => {
105 105
           const status = response.status;
106 106
           if (status === REQUEST_STATUS.SUCCESS) {
107
-            return response.json().then(
108
-              (data): ApiResponseType<T> => {
109
-                return { status: status, error: data.error, data: data.data };
110
-              }
111
-            );
107
+            return response.json().then((data): ApiResponseType<T> => {
108
+              return { status: status, error: data.error, data: data.data };
109
+            });
112 110
           } else {
113 111
             return { status: status };
114 112
           }

+ 10
- 9
tsconfig.json View File

@@ -30,33 +30,34 @@
30 30
     // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
31 31
 
32 32
     /* Additional Checks */
33
-    "noUnusedLocals": true,                /* Report errors on unused locals. */
34
-    "noUnusedParameters": true,            /* Report errors on unused parameters. */
35
-    "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
36
-    "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
33
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
34
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
35
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
36
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
37 37
 
38 38
     /* Module Resolution Options */
39 39
     "moduleResolution": "node",               /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
40 40
     // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
41 41
     // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
42 42
     // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
43
-    // "typeRoots": [],                       /* List of folders to include type definitions from. */
43
+    "typeRoots": [                            /* List of folders to include type definitions from. */
44
+      "node_modules/@types"
45
+    ],   
44 46
     // "types": [],                           /* Type declaration files to be included in compilation. */
45 47
     "allowSyntheticDefaultImports": true,     /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
46 48
     "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
47 49
     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
48
-    "resolveJsonModule": true,                /* Allow import of JSON files */
50
+    "resolveJsonModule": true,                 /* Allow import of JSON files */
49 51
     /* Source Map Options */
50 52
     // "sourceRoot": "./",                    /* Specify the location where debugger should locate TypeScript files instead of source locations. */
51 53
     // "mapRoot": "./",                       /* Specify the location where debugger should locate map files instead of generated locations. */
52 54
     // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
53 55
     // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
54
-    "skipLibCheck": true,
55
-    "allowUnreachableCode": false,
56
-    "allowUnusedLabels": false
56
+
57 57
     /* Experimental Options */
58 58
     // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
59 59
     // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
60
+    "skipLibCheck": true
60 61
   },
61 62
   "exclude": [
62 63
     "node_modules", "babel.config.js", "metro.config.js", "jest.config.js"

Loading…
Cancel
Save