Browse Source

Update prettier config

Arnaud Vergnet 2 years ago
parent
commit
20aed5cc80

+ 275
- 180
package-lock.json View File

129
       }
129
       }
130
     },
130
     },
131
     "@babel/helper-create-regexp-features-plugin": {
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
       "requires": {
135
       "requires": {
136
         "@babel/helper-annotate-as-pure": "^7.12.13",
136
         "@babel/helper-annotate-as-pure": "^7.12.13",
137
         "regexpu-core": "^4.7.1"
137
         "regexpu-core": "^4.7.1"
138
       }
138
       }
139
     },
139
     },
140
     "@babel/helper-define-polyfill-provider": {
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
       "requires": {
144
       "requires": {
145
         "@babel/helper-compilation-targets": "^7.13.0",
145
         "@babel/helper-compilation-targets": "^7.13.0",
146
         "@babel/helper-module-imports": "^7.12.13",
146
         "@babel/helper-module-imports": "^7.12.13",
237
       "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz",
237
       "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz",
238
       "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ=="
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
     "@babel/helper-replace-supers": {
251
     "@babel/helper-replace-supers": {
241
       "version": "7.13.12",
252
       "version": "7.13.12",
242
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz",
253
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz",
282
       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
293
       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
283
       "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw=="
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
     "@babel/helpers": {
308
     "@babel/helpers": {
286
       "version": "7.14.0",
309
       "version": "7.14.0",
287
       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz",
310
       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz",
385
       }
408
       }
386
     },
409
     },
387
     "@babel/plugin-proposal-optional-catch-binding": {
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
       "requires": {
414
       "requires": {
392
         "@babel/helper-plugin-utils": "^7.13.0",
415
         "@babel/helper-plugin-utils": "^7.13.0",
393
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
416
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
554
         "@babel/helper-plugin-utils": "^7.13.0"
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
     "@babel/plugin-transform-block-scoped-functions": {
591
     "@babel/plugin-transform-block-scoped-functions": {
558
       "version": "7.12.13",
592
       "version": "7.12.13",
559
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz",
593
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz",
724
       }
758
       }
725
     },
759
     },
726
     "@babel/plugin-transform-react-jsx-source": {
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
       "requires": {
764
       "requires": {
731
-        "@babel/helper-plugin-utils": "^7.12.13"
765
+        "@babel/helper-plugin-utils": "^7.13.0"
732
       }
766
       }
733
     },
767
     },
734
     "@babel/plugin-transform-regenerator": {
768
     "@babel/plugin-transform-regenerator": {
740
       }
774
       }
741
     },
775
     },
742
     "@babel/plugin-transform-runtime": {
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
       "requires": {
780
       "requires": {
747
         "@babel/helper-module-imports": "^7.13.12",
781
         "@babel/helper-module-imports": "^7.13.12",
748
         "@babel/helper-plugin-utils": "^7.13.0",
782
         "@babel/helper-plugin-utils": "^7.13.0",
840
       "version": "7.12.5",
874
       "version": "7.12.5",
841
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz",
875
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz",
842
       "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==",
876
       "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==",
843
-      "dev": true,
844
       "requires": {
877
       "requires": {
845
         "regenerator-runtime": "^0.13.4"
878
         "regenerator-runtime": "^0.13.4"
846
       }
879
       }
927
       }
960
       }
928
     },
961
     },
929
     "@eslint/eslintrc": {
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
       "dev": true,
966
       "dev": true,
934
       "requires": {
967
       "requires": {
935
         "ajv": "^6.12.4",
968
         "ajv": "^6.12.4",
2190
             "ms": "2.1.2"
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
         "lru-cache": {
2235
         "lru-cache": {
2194
           "version": "6.0.0",
2236
           "version": "6.0.0",
2195
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
2237
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
2406
       "integrity": "sha512-lYR2Y/tV2ujpk/WyUc7S0VLI0a9hrtVIN9EwnrNo5oSEJI2cK2/XrgwOQmXLL3eTulOESvh9qP6si9+DWM9cOA=="
2448
       "integrity": "sha512-lYR2Y/tV2ujpk/WyUc7S0VLI0a9hrtVIN9EwnrNo5oSEJI2cK2/XrgwOQmXLL3eTulOESvh9qP6si9+DWM9cOA=="
2407
     },
2449
     },
2408
     "@types/i18n-js": {
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
       "dev": true
2454
       "dev": true
2413
     },
2455
     },
2414
     "@types/istanbul-lib-coverage": {
2456
     "@types/istanbul-lib-coverage": {
2511
       }
2553
       }
2512
     },
2554
     },
2513
     "@types/react-native": {
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
       "dev": true,
2559
       "dev": true,
2518
       "requires": {
2560
       "requires": {
2519
         "@types/react": "*"
2561
         "@types/react": "*"
2520
       }
2562
       }
2521
     },
2563
     },
2522
     "@types/react-native-calendars": {
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
       "dev": true,
2568
       "dev": true,
2527
       "requires": {
2569
       "requires": {
2528
         "@types/react": "*",
2570
         "@types/react": "*",
2531
       }
2573
       }
2532
     },
2574
     },
2533
     "@types/react-native-push-notification": {
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
       "dev": true
2579
       "dev": true
2538
     },
2580
     },
2539
     "@types/react-native-vector-icons": {
2581
     "@types/react-native-vector-icons": {
2587
       "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA=="
2629
       "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA=="
2588
     },
2630
     },
2589
     "@typescript-eslint/eslint-plugin": {
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
       "dev": true,
2635
       "dev": true,
2594
       "requires": {
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
         "debug": "^4.1.1",
2639
         "debug": "^4.1.1",
2598
         "functional-red-black-tree": "^1.0.1",
2640
         "functional-red-black-tree": "^1.0.1",
2599
         "lodash": "^4.17.15",
2641
         "lodash": "^4.17.15",
2603
       },
2645
       },
2604
       "dependencies": {
2646
       "dependencies": {
2605
         "@typescript-eslint/experimental-utils": {
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
           "dev": true,
2651
           "dev": true,
2610
           "requires": {
2652
           "requires": {
2611
             "@types/json-schema": "^7.0.3",
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
             "eslint-scope": "^5.0.0",
2657
             "eslint-scope": "^5.0.0",
2616
             "eslint-utils": "^2.0.0"
2658
             "eslint-utils": "^2.0.0"
2617
           }
2659
           }
2618
         },
2660
         },
2619
         "@typescript-eslint/types": {
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
           "dev": true
2665
           "dev": true
2624
         },
2666
         },
2625
         "@typescript-eslint/typescript-estree": {
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
           "dev": true,
2671
           "dev": true,
2630
           "requires": {
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
             "debug": "^4.1.1",
2675
             "debug": "^4.1.1",
2634
             "globby": "^11.0.1",
2676
             "globby": "^11.0.1",
2635
             "is-glob": "^4.0.1",
2677
             "is-glob": "^4.0.1",
2638
           }
2680
           }
2639
         },
2681
         },
2640
         "@typescript-eslint/visitor-keys": {
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
           "dev": true,
2686
           "dev": true,
2645
           "requires": {
2687
           "requires": {
2646
-            "@typescript-eslint/types": "4.22.1",
2688
+            "@typescript-eslint/types": "4.24.0",
2647
             "eslint-visitor-keys": "^2.0.0"
2689
             "eslint-visitor-keys": "^2.0.0"
2648
           }
2690
           }
2649
         },
2691
         },
2708
       }
2750
       }
2709
     },
2751
     },
2710
     "@typescript-eslint/parser": {
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
       "dev": true,
2756
       "dev": true,
2715
       "requires": {
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
         "debug": "^4.1.1"
2761
         "debug": "^4.1.1"
2720
       },
2762
       },
2721
       "dependencies": {
2763
       "dependencies": {
2722
         "@typescript-eslint/types": {
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
           "dev": true
2768
           "dev": true
2727
         },
2769
         },
2728
         "@typescript-eslint/typescript-estree": {
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
           "dev": true,
2774
           "dev": true,
2733
           "requires": {
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
             "debug": "^4.1.1",
2778
             "debug": "^4.1.1",
2737
             "globby": "^11.0.1",
2779
             "globby": "^11.0.1",
2738
             "is-glob": "^4.0.1",
2780
             "is-glob": "^4.0.1",
2741
           }
2783
           }
2742
         },
2784
         },
2743
         "@typescript-eslint/visitor-keys": {
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
           "dev": true,
2789
           "dev": true,
2748
           "requires": {
2790
           "requires": {
2749
-            "@typescript-eslint/types": "4.22.1",
2791
+            "@typescript-eslint/types": "4.24.0",
2750
             "eslint-visitor-keys": "^2.0.0"
2792
             "eslint-visitor-keys": "^2.0.0"
2751
           }
2793
           }
2752
         },
2794
         },
2798
       }
2840
       }
2799
     },
2841
     },
2800
     "@typescript-eslint/scope-manager": {
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
       "dev": true,
2846
       "dev": true,
2805
       "requires": {
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
       "dependencies": {
2851
       "dependencies": {
2810
         "@typescript-eslint/types": {
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
           "dev": true
2856
           "dev": true
2815
         },
2857
         },
2816
         "@typescript-eslint/visitor-keys": {
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
           "dev": true,
2862
           "dev": true,
2821
           "requires": {
2863
           "requires": {
2822
-            "@typescript-eslint/types": "4.22.1",
2864
+            "@typescript-eslint/types": "4.24.0",
2823
             "eslint-visitor-keys": "^2.0.0"
2865
             "eslint-visitor-keys": "^2.0.0"
2824
           }
2866
           }
2825
         },
2867
         },
3301
       }
3343
       }
3302
     },
3344
     },
3303
     "babel-plugin-polyfill-corejs2": {
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
       "requires": {
3349
       "requires": {
3308
         "@babel/compat-data": "^7.13.11",
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
         "semver": "^6.1.1"
3352
         "semver": "^6.1.1"
3311
       }
3353
       }
3312
     },
3354
     },
3313
     "babel-plugin-polyfill-corejs3": {
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
       "requires": {
3359
       "requires": {
3318
-        "@babel/helper-define-polyfill-provider": "^0.2.0",
3360
+        "@babel/helper-define-polyfill-provider": "^0.2.1",
3319
         "core-js-compat": "^3.9.1"
3361
         "core-js-compat": "^3.9.1"
3320
       }
3362
       }
3321
     },
3363
     },
3322
     "babel-plugin-polyfill-regenerator": {
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
       "requires": {
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
     "babel-plugin-syntax-trailing-function-commas": {
3372
     "babel-plugin-syntax-trailing-function-commas": {
3902
       "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
3944
       "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
3903
     },
3945
     },
3904
     "core-js-compat": {
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
       "requires": {
3950
       "requires": {
3909
         "browserslist": "^4.16.6",
3951
         "browserslist": "^4.16.6",
3910
         "semver": "7.0.0"
3952
         "semver": "7.0.0"
4509
       }
4551
       }
4510
     },
4552
     },
4511
     "eslint": {
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
       "dev": true,
4557
       "dev": true,
4516
       "requires": {
4558
       "requires": {
4517
         "@babel/code-frame": "7.12.11",
4559
         "@babel/code-frame": "7.12.11",
4518
-        "@eslint/eslintrc": "^0.4.0",
4560
+        "@eslint/eslintrc": "^0.4.1",
4519
         "ajv": "^6.10.0",
4561
         "ajv": "^6.10.0",
4520
         "chalk": "^4.0.0",
4562
         "chalk": "^4.0.0",
4521
         "cross-spawn": "^7.0.2",
4563
         "cross-spawn": "^7.0.2",
4522
         "debug": "^4.0.1",
4564
         "debug": "^4.0.1",
4523
         "doctrine": "^3.0.0",
4565
         "doctrine": "^3.0.0",
4524
         "enquirer": "^2.3.5",
4566
         "enquirer": "^2.3.5",
4567
+        "escape-string-regexp": "^4.0.0",
4525
         "eslint-scope": "^5.1.1",
4568
         "eslint-scope": "^5.1.1",
4526
         "eslint-utils": "^2.1.0",
4569
         "eslint-utils": "^2.1.0",
4527
         "eslint-visitor-keys": "^2.0.0",
4570
         "eslint-visitor-keys": "^2.0.0",
4528
         "espree": "^7.3.1",
4571
         "espree": "^7.3.1",
4529
         "esquery": "^1.4.0",
4572
         "esquery": "^1.4.0",
4530
         "esutils": "^2.0.2",
4573
         "esutils": "^2.0.2",
4574
+        "fast-deep-equal": "^3.1.3",
4531
         "file-entry-cache": "^6.0.1",
4575
         "file-entry-cache": "^6.0.1",
4532
         "functional-red-black-tree": "^1.0.1",
4576
         "functional-red-black-tree": "^1.0.1",
4533
         "glob-parent": "^5.0.0",
4577
         "glob-parent": "^5.0.0",
4539
         "js-yaml": "^3.13.1",
4583
         "js-yaml": "^3.13.1",
4540
         "json-stable-stringify-without-jsonify": "^1.0.1",
4584
         "json-stable-stringify-without-jsonify": "^1.0.1",
4541
         "levn": "^0.4.1",
4585
         "levn": "^0.4.1",
4542
-        "lodash": "^4.17.21",
4586
+        "lodash.merge": "^4.6.2",
4543
         "minimatch": "^3.0.4",
4587
         "minimatch": "^3.0.4",
4544
         "natural-compare": "^1.4.0",
4588
         "natural-compare": "^1.4.0",
4545
         "optionator": "^0.9.1",
4589
         "optionator": "^0.9.1",
4548
         "semver": "^7.2.1",
4592
         "semver": "^7.2.1",
4549
         "strip-ansi": "^6.0.0",
4593
         "strip-ansi": "^6.0.0",
4550
         "strip-json-comments": "^3.1.0",
4594
         "strip-json-comments": "^3.1.0",
4551
-        "table": "^6.0.4",
4595
+        "table": "^6.0.9",
4552
         "text-table": "^0.2.0",
4596
         "text-table": "^0.2.0",
4553
         "v8-compile-cache": "^2.0.3"
4597
         "v8-compile-cache": "^2.0.3"
4554
       },
4598
       },
4722
       }
4766
       }
4723
     },
4767
     },
4724
     "eslint-config-prettier": {
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
     "eslint-plugin-eslint-comments": {
4774
     "eslint-plugin-eslint-comments": {
4734
       "version": "3.2.0",
4775
       "version": "3.2.0",
8672
       "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
8713
       "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
8673
       "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
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
     "lodash.omit": {
8722
     "lodash.omit": {
8676
       "version": "4.5.0",
8723
       "version": "4.5.0",
8677
       "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
8724
       "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
8827
         "object-visit": "^1.0.0"
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
     "merge-stream": {
8882
     "merge-stream": {
8831
       "version": "2.0.0",
8883
       "version": "2.0.0",
8832
       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
8884
       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
8960
             "graceful-fs": "^4.1.6"
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
         "ms": {
9061
         "ms": {
8964
           "version": "2.1.2",
9062
           "version": "2.1.2",
8965
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
9063
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
9177
       }
9275
       }
9178
     },
9276
     },
9179
     "metro-react-native-babel-preset": {
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
       "requires": {
9282
       "requires": {
9184
         "@babel/core": "^7.0.0",
9283
         "@babel/core": "^7.0.0",
9185
         "@babel/plugin-proposal-class-properties": "^7.0.0",
9284
         "@babel/plugin-proposal-class-properties": "^7.0.0",
9194
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
9293
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0",
9195
         "@babel/plugin-syntax-optional-chaining": "^7.0.0",
9294
         "@babel/plugin-syntax-optional-chaining": "^7.0.0",
9196
         "@babel/plugin-transform-arrow-functions": "^7.0.0",
9295
         "@babel/plugin-transform-arrow-functions": "^7.0.0",
9296
+        "@babel/plugin-transform-async-to-generator": "^7.0.0",
9197
         "@babel/plugin-transform-block-scoping": "^7.0.0",
9297
         "@babel/plugin-transform-block-scoping": "^7.0.0",
9198
         "@babel/plugin-transform-classes": "^7.0.0",
9298
         "@babel/plugin-transform-classes": "^7.0.0",
9199
         "@babel/plugin-transform-computed-properties": "^7.0.0",
9299
         "@babel/plugin-transform-computed-properties": "^7.0.0",
9220
         "@babel/plugin-transform-unicode-regex": "^7.0.0",
9320
         "@babel/plugin-transform-unicode-regex": "^7.0.0",
9221
         "@babel/template": "^7.0.0",
9321
         "@babel/template": "^7.0.0",
9222
         "react-refresh": "^0.4.0"
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
     "metro-react-native-babel-transformer": {
9325
     "metro-react-native-babel-transformer": {
9307
             "ms": "2.1.2"
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
         "ms": {
9414
         "ms": {
9311
           "version": "2.1.2",
9415
           "version": "2.1.2",
9312
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
9416
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
10227
       "dev": true
10331
       "dev": true
10228
     },
10332
     },
10229
     "prettier": {
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
       "dev": true
10337
       "dev": true
10234
     },
10338
     },
10235
     "prettier-linter-helpers": {
10339
     "prettier-linter-helpers": {
10557
       }
10661
       }
10558
     },
10662
     },
10559
     "react-native-calendars": {
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
       "requires": {
10667
       "requires": {
10564
         "hoist-non-react-statics": "^3.3.1",
10668
         "hoist-non-react-statics": "^3.3.1",
10565
         "immutable": "^4.0.0-rc.12",
10669
         "immutable": "^4.0.0-rc.12",
10566
         "lodash": "^4.17.15",
10670
         "lodash": "^4.17.15",
10671
+        "memoize-one": "^5.2.1",
10567
         "moment": "^2.24.0",
10672
         "moment": "^2.24.0",
10568
         "prop-types": "^15.5.10",
10673
         "prop-types": "^15.5.10",
10569
         "react-native-swipe-gestures": "^1.0.5",
10674
         "react-native-swipe-gestures": "^1.0.5",
11058
       "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
11163
       "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
11059
       "requires": {
11164
       "requires": {
11060
         "@babel/runtime": "^7.8.4"
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
     "regex-not": {
11168
     "regex-not": {
12034
       "dev": true
12129
       "dev": true
12035
     },
12130
     },
12036
     "table": {
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
       "dev": true,
12135
       "dev": true,
12041
       "requires": {
12136
       "requires": {
12042
         "ajv": "^8.0.1",
12137
         "ajv": "^8.0.1",
12048
       },
12143
       },
12049
       "dependencies": {
12144
       "dependencies": {
12050
         "ajv": {
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
           "dev": true,
12149
           "dev": true,
12055
           "requires": {
12150
           "requires": {
12056
             "fast-deep-equal": "^3.1.1",
12151
             "fast-deep-equal": "^3.1.1",

+ 13
- 12
package.json View File

14
     "lint-fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
14
     "lint-fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
15
     "full-check": "npm run typescript && npm run lint && npm run test",
15
     "full-check": "npm run typescript && npm run lint && npm run test",
16
     "pod": "cd ios && pod install && cd ..",
16
     "pod": "cd ios && pod install && cd ..",
17
-    "bundle": "npm run full-check && cd android && ./gradlew bundleRelease",
17
+    "bundle": "cd android && ./gradlew bundleRelease",
18
     "clean": "react-native-clean-project",
18
     "clean": "react-native-clean-project",
19
     "postversion": "react-native-version"
19
     "postversion": "react-native-version"
20
   },
20
   },
35
     "react-native-app-intro-slider": "4.0.4",
35
     "react-native-app-intro-slider": "4.0.4",
36
     "react-native-appearance": "0.3.4",
36
     "react-native-appearance": "0.3.4",
37
     "react-native-autolink": "4.0.0",
37
     "react-native-autolink": "4.0.0",
38
-    "react-native-calendars": "1.1260.0",
38
+    "react-native-calendars": "1.1262.0",
39
     "react-native-camera": "3.43.6",
39
     "react-native-camera": "3.43.6",
40
     "react-native-collapsible": "1.6.0",
40
     "react-native-collapsible": "1.6.0",
41
     "react-native-gesture-handler": "1.10.3",
41
     "react-native-gesture-handler": "1.10.3",
62
     "@babel/core": "7.12.9",
62
     "@babel/core": "7.12.9",
63
     "@babel/runtime": "7.12.5",
63
     "@babel/runtime": "7.12.5",
64
     "@react-native-community/eslint-config": "2.0.0",
64
     "@react-native-community/eslint-config": "2.0.0",
65
-    "@types/i18n-js": "3.8.0",
65
+    "@types/i18n-js": "3.8.1",
66
     "@types/jest": "26.0.23",
66
     "@types/jest": "26.0.23",
67
     "@types/react": "17.0.3",
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
     "@types/react-native-vector-icons": "6.4.6",
71
     "@types/react-native-vector-icons": "6.4.6",
72
     "@types/react-test-renderer": "17.0.1",
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
     "babel-jest": "26.6.3",
75
     "babel-jest": "26.6.3",
76
-    "eslint": "7.25.0",
76
+    "eslint": "7.27.0",
77
+    "eslint-config-prettier": "8.3.0",
77
     "jest": "26.6.3",
78
     "jest": "26.6.3",
78
     "jest-extended": "0.11.5",
79
     "jest-extended": "0.11.5",
79
     "jest-fetch-mock": "3.0.3",
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
     "react-native-version": "4.0.0",
84
     "react-native-version": "4.0.0",
84
     "react-test-renderer": "17.0.1",
85
     "react-test-renderer": "17.0.1",
85
     "typescript": "4.2.4"
86
     "typescript": "4.2.4"

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

72
     }, [collapsible, setCollapsible])
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
   const paddingBottom = props.hasTab ? TAB_BAR_HEIGHT : 0;
78
   const paddingBottom = props.hasTab ? TAB_BAR_HEIGHT : 0;
82
 
79
 

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

48
   const navigation = useNavigation<StackNavigationProp<any>>();
48
   const navigation = useNavigation<StackNavigationProp<any>>();
49
   const route = useRoute();
49
   const route = useRoute();
50
   const refreshInterval = useRef<number>();
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
   // Store last refresh prop value
59
   // Store last refresh prop value
66
   const lastRefresh = useRef<boolean>(false);
60
   const lastRefresh = useRef<boolean>(false);
67
 
61
 

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

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
   return (
26
   return (
29
     <CollapsibleContext.Provider value={currentCollapsible}>
27
     <CollapsibleContext.Provider value={currentCollapsible}>

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

64
   const modalRef = useRef<Modalize>(null);
64
   const modalRef = useRef<Modalize>(null);
65
 
65
 
66
   const [modalInputValue, setModalInputValue] = useState<string>('');
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
   const currentPreferences: Array<PreferenceItemType> = [];
70
   const currentPreferences: Array<PreferenceItemType> = [];
73
   Object.values(GeneralPreferenceKeys).forEach((key) => {
71
   Object.values(GeneralPreferenceKeys).forEach((key) => {

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

94
   const theme = useTheme();
94
   const theme = useTheme();
95
 
95
 
96
   const [displayData, setDisplayData] = useState<ClubType | undefined>();
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
   const [clubId, setClubId] = useState<number | undefined>();
99
   const [clubId, setClubId] = useState<number | undefined>();
101
 
100
 
102
   useFocusEffect(
101
   useFocusEffect(

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

59
 function ClubListScreen() {
59
 function ClubListScreen() {
60
   const navigation = useNavigation();
60
   const navigation = useNavigation();
61
   const request = useAuthenticatedRequest<ResponseType>('clubs/list');
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
   const [currentSearchString, setCurrentSearchString] = useState('');
64
   const [currentSearchString, setCurrentSearchString] = useState('');
67
   const categories = useRef<Array<ClubCategoryType>>([]);
65
   const categories = useRef<Array<ClubCategoryType>>([]);
68
 
66
 

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

60
 
60
 
61
 function EquipmentListScreen() {
61
 function EquipmentListScreen() {
62
   const userRents = useRef<undefined | Array<RentedDeviceType>>();
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
   const getRenderItem = ({ item }: { item: DeviceType }) => {
73
   const getRenderItem = ({ item }: { item: DeviceType }) => {
75
     return (
74
     return (

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

44
   const { setLogin } = useLogin();
44
   const { setLogin } = useLogin();
45
   const [loading, setLoading] = useState(false);
45
   const [loading, setLoading] = useState(false);
46
   const [nextScreen, setNextScreen] = useState<string | undefined>(undefined);
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
   const [currentError, setCurrentError] = useState<ApiRejectType>({
49
   const [currentError, setCurrentError] = useState<ApiRejectType>({
51
     status: REQUEST_STATUS.SUCCESS,
50
     status: REQUEST_STATUS.SUCCESS,
52
   });
51
   });

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

133
  */
133
  */
134
 export default function VoteScreen() {
134
 export default function VoteScreen() {
135
   const [hasVoted, setHasVoted] = useState(false);
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
   const today = new Date();
144
   const today = new Date();
148
   const refresh = useRef<() => void | undefined>();
145
   const refresh = useRef<() => void | undefined>();

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

285
   getNextPiecesPreviews(): Array<GridType> {
285
   getNextPiecesPreviews(): Array<GridType> {
286
     const finalArray = [];
286
     const finalArray = [];
287
     for (let i = 0; i < this.nextPieces.length; i += 1) {
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
       finalArray.push(this.gridManager.getEmptyGrid(gridSize, gridSize));
291
       finalArray.push(this.gridManager.getEmptyGrid(gridSize, gridSize));
291
       this.nextPieces[i].toGrid(finalArray[i], true);
292
       this.nextPieces[i].toGrid(finalArray[i], true);
292
     }
293
     }

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

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

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

79
     gameLevel: 0,
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
   const { preferences, updatePreferences } = usePreferences();
90
   const { preferences, updatePreferences } = usePreferences();
90
 
91
 

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

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

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

59
   const theme = useTheme();
59
   const theme = useTheme();
60
   const { preferences } = usePlanexPreferences();
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
   const [injectJS, setInjectJS] = useState('');
71
   const [injectJS, setInjectJS] = useState('');
71
   const [loading, setLoading] = useState(true);
72
   const [loading, setLoading] = useState(true);
72
 
73
 

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

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

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

99
   const navigation = useNavigation();
99
   const navigation = useNavigation();
100
   const theme = useTheme();
100
   const theme = useTheme();
101
   const { preferences, updatePreferences } = useProxiwashPreferences();
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
   const reminder = getPreferenceNumber(
104
   const reminder = getPreferenceNumber(
107
     ProxiwashPreferenceKeys.proxiwashNotifications,
105
     ProxiwashPreferenceKeys.proxiwashNotifications,
108
     preferences
106
     preferences

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

123
 
123
 
124
   const [currentSearchString, setCurrentSearchString] = useState('');
124
   const [currentSearchString, setCurrentSearchString] = useState('');
125
   const [currentSortMode, setCurrentSortMode] = useState(2);
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
   const sortModes = [sortPrice, sortPriceReverse, sortName, sortNameReverse];
129
   const sortModes = [sortPrice, sortPriceReverse, sortName, sortNameReverse];
131
 
130
 

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

178
  * @param numberOfMonths The number of months to create, starting from the current date
178
  * @param numberOfMonths The number of months to create, starting from the current date
179
  * @return {Object}
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
   const end = new Date(Date.now());
184
   const end = new Date(Date.now());
185
   end.setMonth(end.getMonth() + numberOfMonths);
185
   end.setMonth(end.getMonth() + numberOfMonths);
186
   const daysOfYear: { [key: string]: Array<PlanningEventType> } = {};
186
   const daysOfYear: { [key: string]: Array<PlanningEventType> } = {};

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

104
         .then((response: Response) => {
104
         .then((response: Response) => {
105
           const status = response.status;
105
           const status = response.status;
106
           if (status === REQUEST_STATUS.SUCCESS) {
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
           } else {
110
           } else {
113
             return { status: status };
111
             return { status: status };
114
           }
112
           }

+ 10
- 9
tsconfig.json View File

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

Loading…
Cancel
Save