diff --git a/App.tsx b/App.tsx
deleted file mode 100644
index bf24c33..0000000
--- a/App.tsx
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * Sample React Native App
- * https://github.com/facebook/react-native
- *
- * @format
- */
-
-import React from 'react';
-import type {PropsWithChildren} from 'react';
-import {
- SafeAreaView,
- ScrollView,
- StatusBar,
- StyleSheet,
- Text,
- useColorScheme,
- View,
-} from 'react-native';
-
-import {
- Colors,
- DebugInstructions,
- Header,
- LearnMoreLinks,
- ReloadInstructions,
-} from 'react-native/Libraries/NewAppScreen';
-
-type SectionProps = PropsWithChildren<{
- title: string;
-}>;
-
-function Section({children, title}: SectionProps): JSX.Element {
- const isDarkMode = useColorScheme() === 'dark';
- return (
-
-
- {title}
-
-
- {children}
-
-
- );
-}
-
-function App(): JSX.Element {
- const isDarkMode = useColorScheme() === 'dark';
-
- const backgroundStyle = {
- backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
- };
-
- return (
-
-
-
-
-
-
- Edit App.tsx to change this
- screen and then come back to see your edits.
-
-
-
-
- Read the docs to discover what to do next:
-
-
-
-
-
- );
-}
-
-const styles = StyleSheet.create({
- sectionContainer: {
- marginTop: 32,
- paddingHorizontal: 24,
- },
- sectionTitle: {
- fontSize: 24,
- fontWeight: '600',
- },
- sectionDescription: {
- marginTop: 8,
- fontSize: 18,
- fontWeight: '400',
- },
- highlight: {
- fontWeight: '700',
- },
-});
-
-export default App;
diff --git a/__tests__/App.test.tsx b/__tests__/App.test.tsx
deleted file mode 100644
index 3413ac1..0000000
--- a/__tests__/App.test.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * @format
- */
-
-import 'react-native';
-import React from 'react';
-import App from '../App';
-
-// Note: import explicitly to use the types shiped with jest.
-import {it} from '@jest/globals';
-
-// Note: test renderer must be required after react-native.
-import renderer from 'react-test-renderer';
-
-it('renders correctly', () => {
- renderer.create();
-});
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 28f8531..7a318fa 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,6 +1,11 @@
apply plugin: "com.android.application"
apply plugin: "com.facebook.react"
+project.ext.vectoricons = [
+ iconFontNames: ['MaterialCommunityIcons.ttf']
+]
+apply from: file("../../node_modules/react-native-vector-icons/fonts.gradle")
+
/**
* This is the configuration block to customize your React Native Android app.
* By default you don't need to apply any configuration, just uncomment the lines you need.
diff --git a/index.js b/index.js
index a850d03..0f4ff88 100644
--- a/index.js
+++ b/index.js
@@ -3,7 +3,7 @@
*/
import {AppRegistry} from 'react-native';
-import App from './App';
import {name as appName} from './app.json';
+import App from './src/presentation/screens/App';
AppRegistry.registerComponent(appName, () => App);
diff --git a/ios/SmartStop.xcodeproj/project.pbxproj b/ios/SmartStop.xcodeproj/project.pbxproj
index 3f6021b..43cab1b 100644
--- a/ios/SmartStop.xcodeproj/project.pbxproj
+++ b/ios/SmartStop.xcodeproj/project.pbxproj
@@ -14,6 +14,7 @@
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
7699B88040F8A987B510C191 /* libPods-SmartStop-SmartStopTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-SmartStop-SmartStopTests.a */; };
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+ 904C36942B12DB0600B0C7C3 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 90BEE4642AFC5DCD0014196C /* MaterialCommunityIcons.ttf */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -43,6 +44,7 @@
5DCACB8F33CDC322A6C60F78 /* libPods-SmartStop.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SmartStop.a"; sourceTree = BUILT_PRODUCTS_DIR; };
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = SmartStop/LaunchScreen.storyboard; sourceTree = ""; };
89C6BE57DB24E9ADA2F236DE /* Pods-SmartStop-SmartStopTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SmartStop-SmartStopTests.release.xcconfig"; path = "Target Support Files/Pods-SmartStop-SmartStopTests/Pods-SmartStop-SmartStopTests.release.xcconfig"; sourceTree = ""; };
+ 90BEE4642AFC5DCD0014196C /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = MaterialCommunityIcons.ttf; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -116,6 +118,7 @@
83CBB9F61A601CBA00E9B192 = {
isa = PBXGroup;
children = (
+ 90BEE45D2AFC5DCD0014196C /* Fonts */,
13B07FAE1A68108700A75B9A /* SmartStop */,
832341AE1AAA6A7D00B99B32 /* Libraries */,
00E356EF1AD99517003FC87E /* SmartStopTests */,
@@ -137,6 +140,15 @@
name = Products;
sourceTree = "";
};
+ 90BEE45D2AFC5DCD0014196C /* Fonts */ = {
+ isa = PBXGroup;
+ children = (
+ 90BEE4642AFC5DCD0014196C /* MaterialCommunityIcons.ttf */,
+ );
+ name = Fonts;
+ path = "../node_modules/react-native-vector-icons/Fonts";
+ sourceTree = "";
+ };
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
isa = PBXGroup;
children = (
@@ -244,6 +256,7 @@
files = (
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
+ 904C36942B12DB0600B0C7C3 /* MaterialCommunityIcons.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/ios/SmartStop.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/SmartStop.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/ios/SmartStop.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/ios/SmartStop/Info.plist b/ios/SmartStop/Info.plist
index 4acbe2c..8558133 100644
--- a/ios/SmartStop/Info.plist
+++ b/ios/SmartStop/Info.plist
@@ -2,6 +2,10 @@
+ UIAppFonts
+
+ MaterialCommunityIcons.ttf
+
CFBundleDevelopmentRegion
en
CFBundleDisplayName
diff --git a/jest.config.js b/jest.config.js
deleted file mode 100644
index 8eb675e..0000000
--- a/jest.config.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- preset: 'react-native',
-};
diff --git a/jest.config.ts b/jest.config.ts
new file mode 100644
index 0000000..a892760
--- /dev/null
+++ b/jest.config.ts
@@ -0,0 +1,10 @@
+const esModules = [
+ '@react-native',
+ 'react-native',
+ 'react-native-vector-icons',
+].join('|');
+
+export default {
+ preset: 'react-native',
+ transformIgnorePatterns: [`node_modules/(?!${esModules})`],
+};
diff --git a/package.json b/package.json
index 427dc4f..5b5d702 100644
--- a/package.json
+++ b/package.json
@@ -10,8 +10,12 @@
"test": "jest"
},
"dependencies": {
+ "axios": "^1.6.2",
+ "moment": "^2.29.4",
"react": "18.2.0",
- "react-native": "0.72.6"
+ "react-native": "0.72.6",
+ "react-native-device-info": "^10.11.0",
+ "react-native-vector-icons": "^10.0.2"
},
"devDependencies": {
"@babel/core": "^7.20.0",
@@ -22,9 +26,14 @@
"@react-native-community/eslint-config": "^3.2.0",
"@react-native/eslint-config": "^0.72.2",
"@react-native/metro-config": "^0.72.11",
+ "@testing-library/react-native": "^12.4.1",
"@tsconfig/react-native": "^3.0.0",
+ "@types/jest": "^29.5.8",
+ "@types/node": "^20.10.3",
"@types/react": "^18.0.24",
+ "@types/react-native-vector-icons": "^6.4.17",
"@types/react-test-renderer": "^18.0.0",
+ "axios-mock-adapter": "^1.22.0",
"babel-jest": "^29.2.1",
"eslint": "^8.19.0",
"husky": "^8.0.3",
@@ -32,6 +41,8 @@
"metro-react-native-babel-preset": "0.76.8",
"prettier": "^2.4.1",
"react-test-renderer": "18.2.0",
+ "ts-node": "^10.9.1",
+ "tslib": "^2.6.2",
"typescript": "4.8.4"
},
"engines": {
diff --git a/react-native.config.js b/react-native.config.js
new file mode 100644
index 0000000..183a5ee
--- /dev/null
+++ b/react-native.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ dependencies: {
+ 'react-native-vector-icons': {
+ platforms: {
+ ios: null,
+ },
+ },
+ },
+};
diff --git a/src/domain/repositories/Arrival.ts b/src/domain/repositories/Arrival.ts
new file mode 100644
index 0000000..7e346af
--- /dev/null
+++ b/src/domain/repositories/Arrival.ts
@@ -0,0 +1,8 @@
+interface Arrival {
+ carPlate: string;
+ planned: string;
+ estimatedGPS: string;
+ distanceGPS: string;
+}
+
+export default Arrival;
diff --git a/src/domain/repositories/AuthRepository.ts b/src/domain/repositories/AuthRepository.ts
new file mode 100644
index 0000000..692e704
--- /dev/null
+++ b/src/domain/repositories/AuthRepository.ts
@@ -0,0 +1,7 @@
+import AuthRequest from '../../infraestructure/api/models/AuthRequest';
+
+interface AuthRepository {
+ auth(request: AuthRequest): Promise;
+}
+
+export default AuthRepository;
diff --git a/src/domain/repositories/DevicesRepository.ts b/src/domain/repositories/DevicesRepository.ts
new file mode 100644
index 0000000..bf5e14f
--- /dev/null
+++ b/src/domain/repositories/DevicesRepository.ts
@@ -0,0 +1,10 @@
+import DeviceRequest from '../../infraestructure/api/models/DeviceRequest';
+import DeviceInfoResponse from '../../infraestructure/api/models/DeviceInfoResponse';
+import WhoAmIResponse from './WhoAmIResponse';
+
+interface DevicesRepository {
+ whoAmI(request: DeviceRequest): Promise;
+ getDeviceInfo(request: DeviceRequest): Promise;
+}
+
+export default DevicesRepository;
diff --git a/src/domain/repositories/LineDetail.ts b/src/domain/repositories/LineDetail.ts
new file mode 100644
index 0000000..ef5110d
--- /dev/null
+++ b/src/domain/repositories/LineDetail.ts
@@ -0,0 +1,13 @@
+import Arrival from './Arrival';
+
+interface LineDetail {
+ lineNumber: string;
+ description: string;
+ locomotionType: number;
+ backgroundColor: string;
+ letterColor: string;
+ lineMessage: string;
+ arrivals: Arrival[];
+}
+
+export default LineDetail;
diff --git a/src/domain/repositories/WhoAmIResponse.ts b/src/domain/repositories/WhoAmIResponse.ts
new file mode 100644
index 0000000..877d0da
--- /dev/null
+++ b/src/domain/repositories/WhoAmIResponse.ts
@@ -0,0 +1,6 @@
+interface WhoAmIResponse {
+ stopNumber: string;
+ stopName: string;
+}
+
+export default WhoAmIResponse;
diff --git a/src/domain/services/BusStopInfoService.spec.ts b/src/domain/services/BusStopInfoService.spec.ts
new file mode 100644
index 0000000..86ed55b
--- /dev/null
+++ b/src/domain/services/BusStopInfoService.spec.ts
@@ -0,0 +1,371 @@
+import {jest} from '@jest/globals';
+
+import BusStopInfoService from './BusStopInfoService';
+
+const service = new BusStopInfoService([
+ {
+ lineNumber: '803010',
+ description: 'Tucapel',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: '',
+ arrivals: [
+ {
+ carPlate: 'RPDA-98',
+ planned: '',
+ estimatedGPS: '15:08',
+ distanceGPS: '1.0 KM',
+ },
+ {
+ carPlate: 'WYXYZ-22',
+ planned: '',
+ estimatedGPS: '15:42',
+ distanceGPS: '5.0 KM',
+ },
+ {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ },
+ ],
+ },
+ {
+ lineNumber: '5487',
+ description: 'Centauro',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: 'Sin info. GPS, la informacion es estimada',
+ arrivals: [
+ {
+ carPlate: 'PLKJ-32',
+ planned: '15:13',
+ estimatedGPS: '15:13',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'GHLK-11',
+ planned: '15:39',
+ estimatedGPS: '15:39',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'DFQW-55',
+ planned: '17:22',
+ estimatedGPS: '17:22',
+ distanceGPS: '',
+ },
+ ],
+ },
+]);
+
+jest.useFakeTimers({legacyFakeTimers: false});
+
+describe('BusStopInfoService tests', () => {
+ it('should be defined', () => {
+ expect(BusStopInfoService).toBeTruthy();
+ });
+
+ describe('getBuses', () => {
+ it('should return a list of buses', () => {
+ const buses = service.getLines();
+
+ expect(buses).toHaveLength(2);
+ expect(buses).toMatchObject([
+ {
+ lineNumber: '803010',
+ description: 'Tucapel',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: '',
+ arrivals: [
+ {
+ carPlate: 'RPDA-98',
+ planned: '',
+ estimatedGPS: '15:08',
+ distanceGPS: '1.0 KM',
+ },
+ {
+ carPlate: 'WYXYZ-22',
+ planned: '',
+ estimatedGPS: '15:42',
+ distanceGPS: '5.0 KM',
+ },
+ {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ },
+ ],
+ },
+ {
+ lineNumber: '5487',
+ description: 'Centauro',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: 'Sin info. GPS, la informacion es estimada',
+ arrivals: [
+ {
+ carPlate: 'PLKJ-32',
+ planned: '15:13',
+ estimatedGPS: '15:13',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'GHLK-11',
+ planned: '15:39',
+ estimatedGPS: '15:39',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'DFQW-55',
+ planned: '17:22',
+ estimatedGPS: '17:22',
+ distanceGPS: '',
+ },
+ ],
+ },
+ ]);
+ });
+ });
+
+ it('should return a bus by lineNumber', () => {
+ const bus = service.getLinesByNumber('803010');
+
+ expect(bus).toMatchObject({
+ lineNumber: '803010',
+ description: 'Tucapel',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: '',
+ arrivals: [
+ {
+ carPlate: 'RPDA-98',
+ planned: '',
+ estimatedGPS: '15:08',
+ distanceGPS: '1.0 KM',
+ },
+ {
+ carPlate: 'WYXYZ-22',
+ planned: '',
+ estimatedGPS: '15:42',
+ distanceGPS: '5.0 KM',
+ },
+ {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ },
+ ],
+ });
+ });
+
+ describe('pruneBusList', () => {
+ it('should return a list of buses', () => {
+ const prunedList = service.pruneBusList(0, 3);
+
+ expect(prunedList).toHaveLength(2);
+ expect(prunedList).toMatchObject([
+ {
+ lineNumber: '803010',
+ description: 'Tucapel',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: '',
+ arrivals: [
+ {
+ carPlate: 'RPDA-98',
+ planned: '',
+ estimatedGPS: '15:08',
+ distanceGPS: '1.0 KM',
+ },
+ {
+ carPlate: 'WYXYZ-22',
+ planned: '',
+ estimatedGPS: '15:42',
+ distanceGPS: '5.0 KM',
+ },
+ {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ },
+ ],
+ },
+ {
+ lineNumber: '5487',
+ description: 'Centauro',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: 'Sin info. GPS, la informacion es estimada',
+ arrivals: [
+ {
+ carPlate: 'PLKJ-32',
+ planned: '15:13',
+ estimatedGPS: '15:13',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'GHLK-11',
+ planned: '15:39',
+ estimatedGPS: '15:39',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'DFQW-55',
+ planned: '17:22',
+ estimatedGPS: '17:22',
+ distanceGPS: '',
+ },
+ ],
+ },
+ ]);
+ });
+ });
+
+ describe('getNextArraival', () => {
+ beforeEach(() => {
+ jest.useFakeTimers({legacyFakeTimers: false});
+ });
+
+ afterEach(() => {
+ jest.useRealTimers();
+ });
+
+ it('should return next arraival', () => {
+ jest.setSystemTime(new Date('2024-11-25T16:33:37').getTime());
+
+ const nextArraival = service.getNextArraival('803010');
+
+ expect(nextArraival).toMatchObject({
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ });
+ });
+
+ it('should throw an error if not arraival found', () => {
+ jest.setSystemTime(new Date('2024-11-25T20:33:37').getTime());
+
+ expect(() => {
+ service.getNextArraival('803010');
+ }).toThrow('No next arrival');
+ });
+ });
+
+ describe('isArraivalTimeBetween tests', () => {
+ beforeEach(() => {
+ jest.useFakeTimers({legacyFakeTimers: false});
+ });
+
+ afterEach(() => {
+ jest.useRealTimers();
+ });
+
+ it('should return < a 3 minutos', () => {
+ jest.setSystemTime(new Date('2024-11-25T17:17:37').getTime());
+ const arraival = {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ };
+
+ const arraivalTimeText = service.checkArraivalTime(arraival);
+
+ expect(arraivalTimeText).toStrictEqual('< a 3 minutos');
+ });
+
+ it('should return Entre 3 a 5 minutos', () => {
+ jest.setSystemTime(new Date('2024-11-25T17:14:59').getTime());
+ const arraival = {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ };
+
+ const arraivalTimeText = service.checkArraivalTime(arraival);
+
+ expect(arraivalTimeText).toStrictEqual('Entre 3 a 5 minutos');
+ });
+
+ it('should return Menos de 10 minutos', () => {
+ jest.setSystemTime(new Date('2024-11-25T17:09:37').getTime());
+ const arraival = {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ };
+
+ const arraivalTimeText = service.checkArraivalTime(arraival);
+
+ expect(arraivalTimeText).toStrictEqual('Menos de 10 minutos');
+ });
+
+ it('should return Más de 10 minutos', () => {
+ jest.setSystemTime(new Date('2024-11-25T17:00:37').getTime());
+ const arraival = {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '17:18',
+ distanceGPS: '13.4 KM',
+ };
+
+ const arraivalTimeText = service.checkArraivalTime(arraival);
+
+ expect(arraivalTimeText).toStrictEqual('Más de 10 minutos');
+ });
+ });
+
+ describe('getLineNumberFromDescription tests', () => {
+ it('should return a list of numbers', () => {
+ const numbers = service.getLineNumberFromDescription('10N');
+
+ expect(numbers).toBe('10');
+ });
+
+ it('should throw an error if no numbers found', () => {
+ expect(() => {
+ service.getLineNumberFromDescription('N');
+ }).toThrow('No numbers found');
+ });
+ });
+
+ describe('getLineLetterFromDescription tests', () => {
+ it('should return a list of letters', () => {
+ const letters = service.getLineLetterFromDescription('10N');
+
+ expect(letters).toBe('N');
+ });
+
+ it('should throw an error if no letters found', () => {
+ expect(() => {
+ service.getLineLetterFromDescription('10');
+ }).toThrow('No letters found');
+ });
+ });
+
+ describe('getLineDescription tests', () => {
+ it('should return a line description', () => {
+ const description = service.getLineDescription(
+ '10K',
+ 'Vía Láctea 10K - Leonera',
+ );
+
+ expect(description).toBe('Vía Láctea - Leonera');
+ });
+ });
+});
diff --git a/src/domain/services/BusStopInfoService.ts b/src/domain/services/BusStopInfoService.ts
new file mode 100644
index 0000000..69beef0
--- /dev/null
+++ b/src/domain/services/BusStopInfoService.ts
@@ -0,0 +1,102 @@
+import moment from 'moment';
+import LineDetail from '../repositories/LineDetail';
+import {getHours, getMinutes, getSeconds} from '../../utils/DateUtils';
+import Arrival from '../repositories/Arrival';
+
+// TODO: Change to a better name or split ?
+class BusStopInfoService {
+ private lines: LineDetail[];
+
+ constructor(lines: LineDetail[]) {
+ this.lines = lines;
+ }
+
+ getLines(): LineDetail[] {
+ return this.lines;
+ }
+
+ getLinesByNumber(lineNumber: string): LineDetail {
+ const line = this.lines.find(bus => bus.lineNumber === lineNumber);
+
+ if (!line) {
+ throw new Error('No buses found');
+ }
+
+ return line;
+ }
+
+ pruneBusList(start: number, howMany: number): LineDetail[] {
+ const end = start + howMany;
+ return this.lines.slice(start, end);
+ }
+
+ getNextArraival(lineNumber: string): Arrival {
+ const currentTime = moment();
+
+ const nextArraival = this.getLinesByNumber(lineNumber).arrivals.find(
+ arrival => {
+ const compareTime = moment();
+ compareTime.set('hour', getHours(arrival.estimatedGPS));
+ compareTime.set('minute', getMinutes(arrival.estimatedGPS));
+ compareTime.set('second', getSeconds(arrival.estimatedGPS));
+
+ if (compareTime.isAfter(currentTime)) {
+ return arrival;
+ }
+ },
+ );
+
+ if (!nextArraival) {
+ throw new Error('No next arrival');
+ }
+
+ return nextArraival;
+ }
+
+ checkArraivalTime(arrival: Arrival): string {
+ const compareTime = moment();
+ compareTime.set('hour', getHours(arrival.estimatedGPS));
+ compareTime.set('minute', getMinutes(arrival.estimatedGPS));
+ compareTime.set('second', getSeconds(arrival.estimatedGPS));
+
+ const now = moment();
+ const diffInMinutes = compareTime.diff(now, 'minutes');
+
+ if (diffInMinutes <= 3) {
+ return '< a 3 minutos';
+ } else if (diffInMinutes > 3 && diffInMinutes < 6) {
+ return 'Entre 3 a 5 minutos';
+ } else if (diffInMinutes >= 6 && diffInMinutes <= 10) {
+ return 'Menos de 10 minutos';
+ } else {
+ return 'Más de 10 minutos';
+ }
+ }
+
+ getLineNumberFromDescription(description: string): string {
+ const numbers = description.match(/\d+/g);
+
+ if (!numbers) {
+ throw new Error('No numbers found');
+ }
+
+ return numbers.join('');
+ }
+
+ getLineLetterFromDescription(description: string): string {
+ const letters = description.match(/[a-zA-Z]+/g);
+
+ if (!letters) {
+ throw new Error('No letters found');
+ }
+
+ return letters.join('');
+ }
+
+ getLineDescription(description: string, line: string): string {
+ const space = ' '; // this is to eliminate the extra space left when applying the replace.
+ return line.replace(`${space}${description}`, '');
+ }
+}
+
+export default BusStopInfoService;
diff --git a/src/infraestructure/api/clients/AuthAPI.ts b/src/infraestructure/api/clients/AuthAPI.ts
new file mode 100644
index 0000000..be414aa
--- /dev/null
+++ b/src/infraestructure/api/clients/AuthAPI.ts
@@ -0,0 +1,30 @@
+import axios from 'axios';
+import AuthResponse from '../models/AuthResponse';
+import AuthRequest from '../models/AuthRequest';
+
+class AuthAPI {
+ private baseURL: string;
+
+ constructor(baseURL: string) {
+ this.baseURL = baseURL;
+ }
+
+ async auth({username, password}: AuthRequest): Promise {
+ if (!username) {
+ throw new Error('username is required');
+ }
+
+ if (!password) {
+ throw new Error('password is required');
+ }
+
+ const {data} = await axios.post(`${this.baseURL}/api/auth/`, {
+ username,
+ password,
+ });
+
+ return data;
+ }
+}
+
+export default AuthAPI;
diff --git a/src/infraestructure/api/clients/DevicesAPI.ts b/src/infraestructure/api/clients/DevicesAPI.ts
new file mode 100644
index 0000000..da8865f
--- /dev/null
+++ b/src/infraestructure/api/clients/DevicesAPI.ts
@@ -0,0 +1,72 @@
+import axios from 'axios';
+import DeviceRequest from '../models/DeviceRequest';
+import {GetInfoDeviceResponse} from '../models/GetInfoDeviceResponse';
+import WhoamiResponse from '../models/WhoamiResponse';
+import responseDevicesMock from './response-devices-mock.json';
+
+const KEYAUTORIZACION = 'token';
+
+class DevicesAPI {
+ private baseURL: string;
+
+ constructor(baseURL: string) {
+ this.baseURL = baseURL;
+ }
+
+ async whoami({token, deviceId}: DeviceRequest): Promise {
+ if (!token) {
+ throw new Error('token is required');
+ }
+
+ if (!deviceId) {
+ throw new Error('deviceId is required');
+ }
+ const {data} = await axios.post(
+ `${this.baseURL}/api/dispositivos/whoami/`,
+ {
+ whoami: {idDispositivo: deviceId, KeyAuthorizacion: KEYAUTORIZACION},
+ },
+ {
+ headers: {
+ Authorization: `Bearer ${token}`,
+ },
+ },
+ );
+
+ return data;
+ }
+
+ async getInfoDevice({
+ token,
+ deviceId,
+ }: DeviceRequest): Promise {
+ if (!token) {
+ throw new Error('token is required');
+ }
+
+ if (!deviceId) {
+ throw new Error('deviceId is required');
+ }
+
+ const {data} = await axios.post(
+ `${this.baseURL}/api/dispositivos/getInfoDevice/`,
+ {
+ GetInfoDevice: {
+ idDispositivo: deviceId,
+ KeyAuthorizacion: KEYAUTORIZACION,
+ },
+ },
+ {
+ headers: {
+ Authorization: `Bearer ${token}`,
+ },
+ },
+ );
+
+ return data; // rial implementation
+
+ // return responseDevicesMock; // mock implementation
+ }
+}
+
+export default DevicesAPI;
diff --git a/src/infraestructure/api/clients/__tests__/AuthAPI.spec.ts b/src/infraestructure/api/clients/__tests__/AuthAPI.spec.ts
new file mode 100644
index 0000000..48c76b4
--- /dev/null
+++ b/src/infraestructure/api/clients/__tests__/AuthAPI.spec.ts
@@ -0,0 +1,59 @@
+import axios from 'axios';
+import MockAdapter from 'axios-mock-adapter';
+import AuthAPI from '../AuthAPI';
+
+const mockAdapter = new MockAdapter(axios);
+
+const BASE_URL = 'https://test.cl';
+
+const authAPI = new AuthAPI(BASE_URL);
+
+describe('AuthAPI tests', () => {
+ it('should be defined', () => {
+ expect(AuthAPI).toBeDefined();
+ });
+
+ it('should return a token', async () => {
+ mockAdapter.onPost(`${BASE_URL}/api/auth/`).reply(200, {
+ token: 'token',
+ });
+
+ const token = await authAPI.auth({
+ username: 'username',
+ password: 'password',
+ });
+
+ expect(token).toMatchObject({token: 'token'});
+ });
+
+ it('should throw an error if username is not provided', async () => {
+ await expect(
+ authAPI.auth({
+ password: 'password',
+ username: '',
+ }),
+ ).rejects.toThrow('username is required');
+ });
+
+ it('should throw an error if password is not provided', async () => {
+ await expect(
+ authAPI.auth({
+ username: 'username',
+ password: '',
+ }),
+ ).rejects.toThrow('password is required');
+ });
+
+ it('should return an error if it fails to request a token', async () => {
+ mockAdapter.onPost(`${BASE_URL}/api/auth/`).reply(400, {
+ error: 'error',
+ });
+
+ await expect(
+ authAPI.auth({
+ username: 'username',
+ password: 'password',
+ }),
+ ).rejects.toThrow('Request failed with status code 400');
+ });
+});
diff --git a/src/infraestructure/api/clients/__tests__/DeviceAPI.spec.ts b/src/infraestructure/api/clients/__tests__/DeviceAPI.spec.ts
new file mode 100644
index 0000000..2e6d833
--- /dev/null
+++ b/src/infraestructure/api/clients/__tests__/DeviceAPI.spec.ts
@@ -0,0 +1,107 @@
+import axios from 'axios';
+import MockAdapter from 'axios-mock-adapter';
+import DevicesAPI from '../DevicesAPI';
+
+const mockAdapter = new MockAdapter(axios);
+
+const BASE_URL = 'https://test.cl';
+
+const deviceAPI = new DevicesAPI(BASE_URL);
+
+describe('devices tests', () => {
+ it('should be defined', () => {
+ expect(deviceAPI).toBeDefined();
+ });
+
+ describe('whoami', () => {
+ it('should return stop information by device id', async () => {
+ mockAdapter.onPost(`${BASE_URL}/api/dispositivos/whoami/`).reply(200, {
+ stopNumber: 'stopNumber',
+ stopName: 'stopName',
+ });
+
+ const response = await deviceAPI.whoami({
+ token: 'token',
+ deviceId: 'deviceId',
+ });
+
+ expect(response).toMatchObject({
+ stopNumber: 'stopNumber',
+ stopName: 'stopName',
+ });
+ });
+
+ it('should throw an error if token is not provided', async () => {
+ await expect(
+ deviceAPI.whoami({token: '', deviceId: 'deviceId'}),
+ ).rejects.toThrow('token is required');
+ });
+
+ it('should throw an error if deviceId is not provided', async () => {
+ await expect(
+ deviceAPI.whoami({token: 'token', deviceId: ''}),
+ ).rejects.toThrow('deviceId is required');
+ });
+
+ it('should return an error if it fails to request stop information', async () => {
+ mockAdapter.onPost(`${BASE_URL}/api/dispositivos/whoami/`).reply(400, {
+ error: 'error',
+ });
+
+ await expect(
+ deviceAPI.whoami({
+ token: 'token',
+ deviceId: 'deviceId',
+ }),
+ ).rejects.toThrow('Request failed with status code 400');
+ });
+ });
+
+ describe('getInfoDevice', () => {
+ it('should return stop information by device id', async () => {
+ mockAdapter
+ .onPost(`${BASE_URL}/api/dispositivos/getInfoDevice/`)
+ .reply(200, {
+ stopNumber: 'stopNumber',
+ stopName: 'stopName',
+ });
+
+ const response = await deviceAPI.getInfoDevice({
+ token: 'token',
+ deviceId: 'deviceId',
+ });
+
+ expect(response).toMatchObject({
+ stopNumber: 'stopNumber',
+ stopName: 'stopName',
+ });
+ });
+
+ it('should throw an error if token is not provided', async () => {
+ await expect(
+ deviceAPI.getInfoDevice({token: '', deviceId: 'deviceId'}),
+ ).rejects.toThrow('token is required');
+ });
+
+ it('should throw an error if deviceId is not provided', async () => {
+ await expect(
+ deviceAPI.getInfoDevice({token: 'token', deviceId: ''}),
+ ).rejects.toThrow('deviceId is required');
+ });
+
+ it('should return an error if it fails to request stop information', async () => {
+ mockAdapter
+ .onPost(`${BASE_URL}/api/dispositivos/getInfoDevice/`)
+ .reply(400, {
+ error: 'error',
+ });
+
+ await expect(
+ deviceAPI.getInfoDevice({
+ token: 'token',
+ deviceId: 'deviceId',
+ }),
+ ).rejects.toThrow('Request failed with status code 400');
+ });
+ });
+});
diff --git a/src/infraestructure/api/clients/response-devices-mock.json b/src/infraestructure/api/clients/response-devices-mock.json
new file mode 100644
index 0000000..ef4cb7c
--- /dev/null
+++ b/src/infraestructure/api/clients/response-devices-mock.json
@@ -0,0 +1,1368 @@
+{
+ "GetInfoDeviceResponse": {
+ "DetalleLineas": [
+ {
+ "Linea": "Vía Láctea 10K - Leonera",
+ "Descripcion": "10K",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "RW8962",
+ "Planificada": null,
+ "EstimadaGPS": "21:16:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DKSZ83",
+ "Planificada": null,
+ "EstimadaGPS": "21:28:58",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Láctea 10L - Los Bloques",
+ "Descripcion": "10L",
+ "TipoLocomocion": null,
+ "colorFondo": "4e0963",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "GCJW93",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:01",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "KLJL34",
+ "Planificada": null,
+ "EstimadaGPS": "21:10:21",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CWCK88",
+ "Planificada": null,
+ "EstimadaGPS": "21:30:40",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "XF4036",
+ "Planificada": null,
+ "EstimadaGPS": "21:36:28",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Láctea 10M - Los Bloques",
+ "Descripcion": "10M",
+ "TipoLocomocion": null,
+ "colorFondo": "ad0101",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DRFP53",
+ "Planificada": null,
+ "EstimadaGPS": "21:20:34",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Láctea 10N - Los Bloques",
+ "Descripcion": "10N",
+ "TipoLocomocion": null,
+ "colorFondo": "b10086",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "CPFC27",
+ "Planificada": null,
+ "EstimadaGPS": "20:36:30",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HFXZ79",
+ "Planificada": null,
+ "EstimadaGPS": "20:37:46",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FWJX76",
+ "Planificada": null,
+ "EstimadaGPS": "20:43:33",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DPZZ52",
+ "Planificada": null,
+ "EstimadaGPS": "21:13:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DYFY38",
+ "Planificada": null,
+ "EstimadaGPS": "21:30:33",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HYYX77",
+ "Planificada": null,
+ "EstimadaGPS": "21:37:31",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "RW9475",
+ "Planificada": null,
+ "EstimadaGPS": "21:39:04",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Láctea 10O - Pobl. Porvenir",
+ "Descripcion": "10O",
+ "TipoLocomocion": null,
+ "colorFondo": "0d7215",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "JCHL93",
+ "Planificada": null,
+ "EstimadaGPS": "20:45:13",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "XU2768",
+ "Planificada": null,
+ "EstimadaGPS": "21:17:44",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CSYZ74",
+ "Planificada": null,
+ "EstimadaGPS": "21:33:02",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Láctea 10P - Leonera",
+ "Descripcion": "10P",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "BTST46",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:33",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "RLKB76",
+ "Planificada": null,
+ "EstimadaGPS": "21:27:15",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Futuro 11Q - Los Bloques",
+ "Descripcion": "11Q",
+ "TipoLocomocion": null,
+ "colorFondo": "ad0101",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "LJKK86",
+ "Planificada": null,
+ "EstimadaGPS": "21:06:21",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "XW8423",
+ "Planificada": null,
+ "EstimadaGPS": "21:11:44",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HZRP10",
+ "Planificada": null,
+ "EstimadaGPS": "21:22:11",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Futuro 11R - Porvenir",
+ "Descripcion": "11R",
+ "TipoLocomocion": null,
+ "colorFondo": "b10086",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "CSYR79",
+ "Planificada": null,
+ "EstimadaGPS": "20:55:10",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BZLY10",
+ "Planificada": null,
+ "EstimadaGPS": "21:10:58",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "RYHY66",
+ "Planificada": null,
+ "EstimadaGPS": "21:18:11",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "XZ9717",
+ "Planificada": null,
+ "EstimadaGPS": "21:30:42",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Siglo XXI 13S - Leonera",
+ "Descripcion": "13S",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "FSYW10",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:24",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FYDV68",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:34",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HHBP53",
+ "Planificada": null,
+ "EstimadaGPS": "20:39:30",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "LHWX56",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:11",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FDCB32",
+ "Planificada": null,
+ "EstimadaGPS": "20:47:29",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "WV6705",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:02",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CVTG93",
+ "Planificada": null,
+ "EstimadaGPS": "21:02:20",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DPZZ21",
+ "Planificada": null,
+ "EstimadaGPS": "21:18:02",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HYCZ31",
+ "Planificada": null,
+ "EstimadaGPS": "21:19:13",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FZWC15",
+ "Planificada": null,
+ "EstimadaGPS": "21:21:56",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Chiguayante Sur 14T - Coquimbo",
+ "Descripcion": "14T",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "FCBR88",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DRTH95",
+ "Planificada": null,
+ "EstimadaGPS": "20:55:26",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DCRD27",
+ "Planificada": null,
+ "EstimadaGPS": "21:09:13",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CPHW48",
+ "Planificada": null,
+ "EstimadaGPS": "21:25:39",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Chiguayante Sur 14U - Los Altos",
+ "Descripcion": "14U",
+ "TipoLocomocion": null,
+ "colorFondo": "cc9b00",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "FDBY83",
+ "Planificada": null,
+ "EstimadaGPS": "20:36:31",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HFLS53",
+ "Planificada": null,
+ "EstimadaGPS": "20:37:14",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FFVP21",
+ "Planificada": null,
+ "EstimadaGPS": "20:39:44",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FKLS63",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:00",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Universo 16K - Leonera",
+ "Descripcion": "16K",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "BPDS42",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:51",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BJFK98",
+ "Planificada": null,
+ "EstimadaGPS": "21:02:49",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "GWZC19",
+ "Planificada": null,
+ "EstimadaGPS": "21:10:52",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BHZY40",
+ "Planificada": null,
+ "EstimadaGPS": "21:18:39",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CZBW17",
+ "Planificada": null,
+ "EstimadaGPS": "21:32:02",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Vía Universo 16V - Leonera",
+ "Descripcion": "16V",
+ "TipoLocomocion": null,
+ "colorFondo": "ad0101",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "WK4163",
+ "Planificada": null,
+ "EstimadaGPS": "20:48:11",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "ZV6766",
+ "Planificada": null,
+ "EstimadaGPS": "21:17:45",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Expresos Chiguayante 17C - Leonera",
+ "Descripcion": "17C",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DRTS98",
+ "Planificada": null,
+ "EstimadaGPS": "20:43:30",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "YG6214",
+ "Planificada": null,
+ "EstimadaGPS": "21:13:28",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Expresos Chiguayante 17W - Leonera",
+ "Descripcion": "17W",
+ "TipoLocomocion": null,
+ "colorFondo": "0d7215",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "HYCZ71",
+ "Planificada": null,
+ "EstimadaGPS": "20:36:23",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JXFY79",
+ "Planificada": null,
+ "EstimadaGPS": "20:47:02",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JHHJ90",
+ "Planificada": null,
+ "EstimadaGPS": "20:51:20",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "GWZC84",
+ "Planificada": null,
+ "EstimadaGPS": "21:18:00",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FVDC88",
+ "Planificada": null,
+ "EstimadaGPS": "21:18:39",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "LGVH69",
+ "Planificada": null,
+ "EstimadaGPS": "21:19:37",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Expresos Chiguayante 17X - Leonera",
+ "Descripcion": "17X",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DYSZ71",
+ "Planificada": null,
+ "EstimadaGPS": "20:35:52",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FCHP83",
+ "Planificada": null,
+ "EstimadaGPS": "20:50:21",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BBGF22",
+ "Planificada": null,
+ "EstimadaGPS": "20:52:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FFVP27",
+ "Planificada": null,
+ "EstimadaGPS": "20:52:31",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BBGL85",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:31",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HYZD26",
+ "Planificada": null,
+ "EstimadaGPS": "21:02:00",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Buses Palomares 18Y - Hualqui",
+ "Descripcion": "18Y",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "LZZG48",
+ "Planificada": null,
+ "EstimadaGPS": "20:51:14",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Nueva Llacolén 20A - Boca Sur",
+ "Descripcion": "20A",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "HYYX24",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:00",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "ZY4652",
+ "Planificada": null,
+ "EstimadaGPS": "21:00:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FPKV41",
+ "Planificada": null,
+ "EstimadaGPS": "21:20:51",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Nueva Llacolén 20M - San Pedro Costa",
+ "Descripcion": "20M",
+ "TipoLocomocion": null,
+ "colorFondo": "b10086",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "FXRL56",
+ "Planificada": null,
+ "EstimadaGPS": "20:45:32",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "RXFF50",
+ "Planificada": null,
+ "EstimadaGPS": "21:08:55",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "ZY3567",
+ "Planificada": null,
+ "EstimadaGPS": "21:14:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Riviera Biobío 21B - Candelaria",
+ "Descripcion": "21B",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "KHSX95",
+ "Planificada": null,
+ "EstimadaGPS": "20:35:51",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HYVR34",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:49",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "YT2138",
+ "Planificada": null,
+ "EstimadaGPS": "20:43:01",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Buses San Pedro 22D - Michaihue",
+ "Descripcion": "22D",
+ "TipoLocomocion": null,
+ "colorFondo": "b38800",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "FYDV31",
+ "Planificada": null,
+ "EstimadaGPS": "20:49:24",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "YR2002",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:26",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Ruta Las Playas 30Q - Higueras",
+ "Descripcion": "30Q",
+ "TipoLocomocion": null,
+ "colorFondo": "0d7215",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "ZT1825",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:58",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DCGT36",
+ "Planificada": null,
+ "EstimadaGPS": "20:52:56",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DJBB52",
+ "Planificada": null,
+ "EstimadaGPS": "21:17:48",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CJVG74",
+ "Planificada": null,
+ "EstimadaGPS": "21:27:27",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Ruta Las Playas 30R - Higueras",
+ "Descripcion": "30R",
+ "TipoLocomocion": null,
+ "colorFondo": "049684",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DPZY91",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:37",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HXKL13",
+ "Planificada": null,
+ "EstimadaGPS": "20:45:06",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JWXV66",
+ "Planificada": null,
+ "EstimadaGPS": "21:03:46",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JRZZ67",
+ "Planificada": null,
+ "EstimadaGPS": "21:23:56",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Ruta del Mar 31D - Lobos Viejos",
+ "Descripcion": "31D",
+ "TipoLocomocion": null,
+ "colorFondo": "ad0101",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "CFTD78",
+ "Planificada": null,
+ "EstimadaGPS": "20:39:41",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CLFX61",
+ "Planificada": null,
+ "EstimadaGPS": "20:44:07",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DDVZ66",
+ "Planificada": null,
+ "EstimadaGPS": "21:20:41",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Ruta del Mar 32E - Lobos Viejos",
+ "Descripcion": "32E",
+ "TipoLocomocion": null,
+ "colorFondo": "b10086",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "CTDG26",
+ "Planificada": null,
+ "EstimadaGPS": "20:41:14",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FFTL50",
+ "Planificada": null,
+ "EstimadaGPS": "21:17:51",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CFWC16",
+ "Planificada": null,
+ "EstimadaGPS": "21:36:01",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Ruta del Mar 32J - Lobos Viejos",
+ "Descripcion": "32J",
+ "TipoLocomocion": null,
+ "colorFondo": "598200",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "HFBC38",
+ "Planificada": null,
+ "EstimadaGPS": "20:36:34",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FYBB73",
+ "Planificada": null,
+ "EstimadaGPS": "20:58:20",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BZPT67",
+ "Planificada": null,
+ "EstimadaGPS": "21:29:34",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Golondrinas 40G - Candelaria",
+ "Descripcion": "40G",
+ "TipoLocomocion": null,
+ "colorFondo": "ad0101",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DWHG74",
+ "Planificada": null,
+ "EstimadaGPS": "20:36:34",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BLDT29",
+ "Planificada": null,
+ "EstimadaGPS": "20:42:28",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JVTK78",
+ "Planificada": null,
+ "EstimadaGPS": "21:06:34",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FXRL49",
+ "Planificada": null,
+ "EstimadaGPS": "21:19:39",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Buses Hualpencillo 42F - Concepción",
+ "Descripcion": "42F",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "RLLV59",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:15",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "BBVC71",
+ "Planificada": null,
+ "EstimadaGPS": "20:51:04",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "WK7487",
+ "Planificada": null,
+ "EstimadaGPS": "21:09:43",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FWTT75",
+ "Planificada": null,
+ "EstimadaGPS": "21:27:19",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Base Naval 56O - Pta. Los Leones",
+ "Descripcion": "56O",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "HZRP11",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:06",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "WW4900",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:53",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "KCFB59",
+ "Planificada": null,
+ "EstimadaGPS": "20:53:02",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Denavi Sur 57Y - Cosmito",
+ "Descripcion": "57Y",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DBHL17",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:20",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FCJS56",
+ "Planificada": null,
+ "EstimadaGPS": "21:13:07",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Mi Expreso 62M - San Vicente",
+ "Descripcion": "62M",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "HZGX71",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:39",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FFVP83",
+ "Planificada": null,
+ "EstimadaGPS": "20:43:41",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Bahías 70I - Centinela",
+ "Descripcion": "70I",
+ "TipoLocomocion": null,
+ "colorFondo": "613FA6",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "JRZZ56",
+ "Planificada": null,
+ "EstimadaGPS": "20:36:42",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JXJG49",
+ "Planificada": null,
+ "EstimadaGPS": "20:50:09",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FHZB99",
+ "Planificada": null,
+ "EstimadaGPS": "20:52:19",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "KFTK39",
+ "Planificada": null,
+ "EstimadaGPS": "20:53:14",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "KVJC80",
+ "Planificada": null,
+ "EstimadaGPS": "21:14:24",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Bahías 70J - Los Copihues",
+ "Descripcion": "70J",
+ "TipoLocomocion": null,
+ "colorFondo": "b38800",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "RTZT30",
+ "Planificada": null,
+ "EstimadaGPS": "20:44:12",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "CXSS25",
+ "Planificada": null,
+ "EstimadaGPS": "20:50:43",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DPZY99",
+ "Planificada": null,
+ "EstimadaGPS": "20:52:14",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Bahías 70K - Los Copihues",
+ "Descripcion": "70K",
+ "TipoLocomocion": null,
+ "colorFondo": "0d7215",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "BKKS46",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Pedro de Valdivia 72K - Lonco",
+ "Descripcion": "72K",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "RLVZ65",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "RVWC96",
+ "Planificada": null,
+ "EstimadaGPS": "20:56:36",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Galaxias 80H - Hualqui",
+ "Descripcion": "80H",
+ "TipoLocomocion": null,
+ "colorFondo": "0071ca",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "GJLW52",
+ "Planificada": null,
+ "EstimadaGPS": "20:39:25",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DLDW43",
+ "Planificada": null,
+ "EstimadaGPS": "20:49:45",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HFLR38",
+ "Planificada": null,
+ "EstimadaGPS": "21:11:22",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HYCZ20",
+ "Planificada": null,
+ "EstimadaGPS": "21:26:46",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Galaxias 80Q - Hualqui",
+ "Descripcion": "80Q",
+ "TipoLocomocion": null,
+ "colorFondo": "ce5504",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "DKYR64",
+ "Planificada": null,
+ "EstimadaGPS": "20:38:06",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "GYGK16",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:37",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JSBB39",
+ "Planificada": null,
+ "EstimadaGPS": "20:59:11",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HJXW59",
+ "Planificada": null,
+ "EstimadaGPS": "21:17:13",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Las Galaxias 80Z - Valle Piedra",
+ "Descripcion": "80Z",
+ "TipoLocomocion": null,
+ "colorFondo": "0d7215",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "GSRZ32",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:04",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FLVX57",
+ "Planificada": null,
+ "EstimadaGPS": "20:41:04",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DJJH69",
+ "Planificada": null,
+ "EstimadaGPS": "20:49:17",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HJXW56",
+ "Planificada": null,
+ "EstimadaGPS": "20:54:41",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "RFDS28",
+ "Planificada": null,
+ "EstimadaGPS": "21:08:28",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DPGK78",
+ "Planificada": null,
+ "EstimadaGPS": "21:10:49",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "DPGK86",
+ "Planificada": null,
+ "EstimadaGPS": "21:23:49",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "FTPC75",
+ "Planificada": null,
+ "EstimadaGPS": "21:30:39",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Nueva Sol Yet 90X - Parque Central",
+ "Descripcion": "90X",
+ "TipoLocomocion": null,
+ "colorFondo": "ad0101",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "YE3093",
+ "Planificada": null,
+ "EstimadaGPS": "20:40:10",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JVXY87",
+ "Planificada": null,
+ "EstimadaGPS": "20:45:13",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "JPRY91",
+ "Planificada": null,
+ "EstimadaGPS": "20:49:49",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "HVLT12",
+ "Planificada": null,
+ "EstimadaGPS": "20:53:22",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ },
+ {
+ "Linea": "Biobús B02 - Centro Concepción",
+ "Descripcion": "B02",
+ "TipoLocomocion": null,
+ "colorFondo": "0d7215",
+ "colorLetra": "ffffff",
+ "Llegadas": [
+ {
+ "patente": "KHXV29",
+ "Planificada": null,
+ "EstimadaGPS": "20:43:11",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "WF1304",
+ "Planificada": null,
+ "EstimadaGPS": "21:02:10",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ },
+ {
+ "patente": "STJZ94",
+ "Planificada": null,
+ "EstimadaGPS": "21:15:00",
+ "DistanciaGPS": null,
+ "Mensajelinea": null
+ }
+ ]
+ }
+ ],
+ "MensajeParadero": "No considerar, uso futuro"
+ }
+}
diff --git a/src/infraestructure/api/models/AuthRequest.ts b/src/infraestructure/api/models/AuthRequest.ts
new file mode 100644
index 0000000..7b02f71
--- /dev/null
+++ b/src/infraestructure/api/models/AuthRequest.ts
@@ -0,0 +1,6 @@
+interface AuthRequest {
+ username: string;
+ password: string;
+}
+
+export default AuthRequest;
diff --git a/src/infraestructure/api/models/AuthResponse.ts b/src/infraestructure/api/models/AuthResponse.ts
new file mode 100644
index 0000000..1438df0
--- /dev/null
+++ b/src/infraestructure/api/models/AuthResponse.ts
@@ -0,0 +1,5 @@
+interface AuthResponse {
+ token: string;
+}
+
+export default AuthResponse;
diff --git a/src/infraestructure/api/models/DetalleLinea.ts b/src/infraestructure/api/models/DetalleLinea.ts
new file mode 100644
index 0000000..21d300c
--- /dev/null
+++ b/src/infraestructure/api/models/DetalleLinea.ts
@@ -0,0 +1,13 @@
+import Llegada from './Llegada';
+
+interface DetalleLinea {
+ Linea: string;
+ Descripcion: string;
+ TipoLocomocion: number;
+ colorFondo: string;
+ colorLetra: string;
+ Llegadas: Llegada[];
+ Mensajelinea: string;
+}
+
+export default DetalleLinea;
diff --git a/src/infraestructure/api/models/DeviceInfoResponse.ts b/src/infraestructure/api/models/DeviceInfoResponse.ts
new file mode 100644
index 0000000..5a209da
--- /dev/null
+++ b/src/infraestructure/api/models/DeviceInfoResponse.ts
@@ -0,0 +1,8 @@
+import LineDetail from './LineDetail';
+
+interface DeviceInfoResponse {
+ stopMessage: string;
+ lineDetails: LineDetail[];
+}
+
+export default DeviceInfoResponse;
diff --git a/src/infraestructure/api/models/DeviceRequest.ts b/src/infraestructure/api/models/DeviceRequest.ts
new file mode 100644
index 0000000..df37ca9
--- /dev/null
+++ b/src/infraestructure/api/models/DeviceRequest.ts
@@ -0,0 +1,6 @@
+interface DeviceRequest {
+ token: string;
+ deviceId: string;
+}
+
+export default DeviceRequest;
diff --git a/src/infraestructure/api/models/GetInfoDeviceResponse.ts b/src/infraestructure/api/models/GetInfoDeviceResponse.ts
new file mode 100644
index 0000000..45588a4
--- /dev/null
+++ b/src/infraestructure/api/models/GetInfoDeviceResponse.ts
@@ -0,0 +1,8 @@
+import DetalleLinea from './DetalleLinea';
+
+export interface GetInfoDeviceResponse {
+ GetInfoDeviceResponse: {
+ DetalleLineas: DetalleLinea[];
+ MensajeParadero: string;
+ };
+}
diff --git a/src/infraestructure/api/models/Llegada.ts b/src/infraestructure/api/models/Llegada.ts
new file mode 100644
index 0000000..4df74a5
--- /dev/null
+++ b/src/infraestructure/api/models/Llegada.ts
@@ -0,0 +1,8 @@
+interface Llegada {
+ Patente: string;
+ Planificada: string;
+ EstimadaGPS: string;
+ DistanciaGPS: string;
+}
+
+export default Llegada;
diff --git a/src/infraestructure/api/models/WhoamiResponse.ts b/src/infraestructure/api/models/WhoamiResponse.ts
new file mode 100644
index 0000000..b7ac3b1
--- /dev/null
+++ b/src/infraestructure/api/models/WhoamiResponse.ts
@@ -0,0 +1,8 @@
+interface WhoamiResponse {
+ WhoamiResponse: {
+ NroParadero: string;
+ NombreParadero: string;
+ };
+}
+
+export default WhoamiResponse;
diff --git a/src/infraestructure/consts/urls.ts b/src/infraestructure/consts/urls.ts
new file mode 100644
index 0000000..c8eda4e
--- /dev/null
+++ b/src/infraestructure/consts/urls.ts
@@ -0,0 +1,6 @@
+const BASE_URL = 'https://transporte.hz.kursor.cl';
+const LOGIN_METHOD = '/api/auth/';
+const WHOAMI_METHOD = '/api/dispositivos/whoami/';
+const INFO_DEVICE_METHOD = '/api/dispositivos/getInfoDevice/';
+
+export {BASE_URL, LOGIN_METHOD, WHOAMI_METHOD, INFO_DEVICE_METHOD};
diff --git a/src/infraestructure/hooks/__tests__/useDevices.spec.ts b/src/infraestructure/hooks/__tests__/useDevices.spec.ts
new file mode 100644
index 0000000..0e14db7
--- /dev/null
+++ b/src/infraestructure/hooks/__tests__/useDevices.spec.ts
@@ -0,0 +1,13 @@
+describe('useDevices tests', () => {
+ it('should be defined', () => {
+ expect(true).toBeTruthy();
+ });
+
+ it('should return stop information', () => {
+ expect(true).toBeTruthy();
+ });
+
+ it('should return a list of devices', () => {
+ expect(true).toBeTruthy();
+ });
+});
diff --git a/src/infraestructure/hooks/__tests__/useLogin.spec.ts b/src/infraestructure/hooks/__tests__/useLogin.spec.ts
new file mode 100644
index 0000000..bb8af15
--- /dev/null
+++ b/src/infraestructure/hooks/__tests__/useLogin.spec.ts
@@ -0,0 +1,9 @@
+describe('useLogin tests', () => {
+ it('should be defined', () => {
+ expect(true).toBeTruthy();
+ });
+
+ it('should return a token', () => {
+ expect(true).toBeTruthy();
+ });
+});
diff --git a/src/infraestructure/hooks/useDevices.ts b/src/infraestructure/hooks/useDevices.ts
new file mode 100644
index 0000000..c7af1f5
--- /dev/null
+++ b/src/infraestructure/hooks/useDevices.ts
@@ -0,0 +1,212 @@
+import {useCallback, useEffect, useMemo, useState} from 'react';
+import DevicesRepositoryImpl from '../repositories/DevicesRepositoryImpl';
+import DevicesAPI from '../api/clients/DevicesAPI';
+import AuthRepositoryImpl from '../repositories/AuthRepositoryImpl';
+import AuthAPI from '../api/clients/AuthAPI';
+import LineDetail from '../../domain/repositories/LineDetail';
+
+import {Line} from '../../presentation/screens/BusStopInfoScreen';
+import BusStopInfoService from '../../domain/services/BusStopInfoService';
+
+export enum Status {
+ LOADING = 'LOADING',
+ SUCCESS = 'SUCCESS',
+ ERROR = 'ERROR',
+}
+
+interface State {
+ status: Status;
+ lines: LineDetail[];
+ displayedLines: Line[];
+ currentIndex: number;
+ stopMessage: string;
+ stopName: string;
+}
+
+const DEVICE_ID = 'TTM543870hyt';
+const BASE_URL = 'https://transporte.hz.kursor.cl';
+const USER = 'usuario1';
+const PASSWORD = 'usuario1';
+
+const useDevices = () => {
+ const [state, setState] = useState({
+ status: Status.LOADING,
+ currentIndex: 0,
+ stopMessage: '',
+ displayedLines: [],
+ lines: [],
+ stopName: 'Sin información - Sin información',
+ });
+
+ const baseUrl = BASE_URL; // TODO: remoteconfig ?
+ const username = USER;
+ const password = PASSWORD;
+ const deviceApi = useMemo(() => new DevicesAPI(baseUrl), [baseUrl]);
+ const authApi = useMemo(() => new AuthAPI(baseUrl), [baseUrl]);
+ const devicesRepository = useMemo(
+ () => new DevicesRepositoryImpl(deviceApi),
+ [deviceApi],
+ );
+ const authRepository = useMemo(
+ () => new AuthRepositoryImpl(authApi),
+ [authApi],
+ );
+
+ const setDisplayedLines = useCallback(
+ (lineDetails: LineDetail[], stopMessage: string, stopName: string) => {
+ if (!lineDetails || !stopName) {
+ return;
+ }
+
+ try {
+ let busStopInfoService = new BusStopInfoService(lineDetails);
+
+ const linesWithArrivals = lineDetails
+ .map(line => {
+ try {
+ busStopInfoService.getNextArraival(line.lineNumber);
+
+ return line;
+ } catch (error) {
+ return undefined;
+ }
+ })
+ .filter((line): line is LineDetail => line !== undefined);
+
+ busStopInfoService = new BusStopInfoService(linesWithArrivals);
+
+ const linesToDisplay: Line[] = busStopInfoService
+ .pruneBusList(state.currentIndex, 21) // result 7 * 3
+ .map(line => {
+ try {
+ const nextArraival = busStopInfoService.getNextArraival(
+ line.lineNumber,
+ );
+
+ const estimatedArrivalTimeInMinutes =
+ busStopInfoService.checkArraivalTime(nextArraival);
+
+ const lineLetter =
+ busStopInfoService.getLineLetterFromDescription(
+ line.description,
+ );
+ const lineNumber =
+ busStopInfoService.getLineNumberFromDescription(
+ line.description,
+ );
+
+ const lineDescription = busStopInfoService.getLineDescription(
+ line.description,
+ line.lineNumber,
+ );
+
+ return {
+ backgroundColor: line.backgroundColor,
+ estimatedArrivalTimeInMinutes,
+ letterColor: line.letterColor,
+ lineLetter,
+ lineNumber,
+ lineDescription,
+ };
+ } catch (error) {
+ return undefined;
+ }
+ })
+ .filter((line): line is Line => line !== undefined);
+
+ setState(prevState => {
+ const displayedLines =
+ linesToDisplay.length === 0
+ ? prevState.displayedLines
+ : linesToDisplay;
+
+ return {
+ ...prevState,
+ displayedLines,
+ stopMessage,
+ stopName,
+ lines: lineDetails,
+ };
+ });
+ } catch (error: unknown) {
+ setState(prevState => ({
+ ...prevState,
+ status: Status.ERROR,
+ }));
+ }
+ },
+ [state.currentIndex],
+ );
+
+ useEffect(() => {
+ const init = async () => {
+ try {
+ const token = await authRepository.auth({username, password});
+
+ const {lineDetails, stopMessage} =
+ await devicesRepository.getDeviceInfo({
+ deviceId: DEVICE_ID,
+ token,
+ });
+
+ const {stopName} = await devicesRepository.whoAmI({
+ deviceId: DEVICE_ID,
+ token,
+ });
+
+ if (!lineDetails) {
+ setState((prevState: State) => ({
+ ...prevState,
+ status: Status.ERROR,
+ }));
+ return;
+ }
+
+ setState((prevState: State) => ({
+ ...prevState,
+ ...{
+ lines: lineDetails,
+ stopMessage,
+ stopName,
+ status: Status.SUCCESS,
+ },
+ }));
+ } catch (error) {
+ setState((prevState: State) => ({
+ ...prevState,
+ status: Status.ERROR,
+ }));
+ }
+ };
+
+ init();
+ }, [authRepository, devicesRepository, password, username]);
+
+ useEffect(() => {
+ setDisplayedLines(state.lines, state.stopMessage, state.stopName);
+ }, [setDisplayedLines, state.lines, state.stopMessage, state.stopName]);
+
+ useEffect(() => {
+ const interval = setInterval(() => {
+ setState(prevState => {
+ const isGreatherThanLinesLength =
+ (prevState.currentIndex || 1) + 21 >= state.lines.length;
+
+ return {
+ ...prevState,
+ currentIndex: isGreatherThanLinesLength
+ ? 0
+ : (prevState.currentIndex || 1 + 21) % state.lines.length,
+ };
+ });
+ }, 5000);
+
+ return () => {
+ clearInterval(interval);
+ };
+ }, [state.lines, state.status]);
+
+ return {state};
+};
+
+export default useDevices;
diff --git a/src/infraestructure/hooks/useLogin.ts b/src/infraestructure/hooks/useLogin.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/infraestructure/repositories/AuthRepositoryImpl.ts b/src/infraestructure/repositories/AuthRepositoryImpl.ts
new file mode 100644
index 0000000..adc8d10
--- /dev/null
+++ b/src/infraestructure/repositories/AuthRepositoryImpl.ts
@@ -0,0 +1,19 @@
+import AuthRepository from '../../domain/repositories/AuthRepository';
+import AuthAPI from '../api/clients/AuthAPI';
+import AuthRequest from '../api/models/AuthRequest';
+
+class AuthRepositoryImpl implements AuthRepository {
+ private authAPI: AuthAPI;
+
+ constructor(authAPI: AuthAPI) {
+ this.authAPI = authAPI;
+ }
+
+ async auth(request: AuthRequest): Promise {
+ const {token} = await this.authAPI.auth(request);
+
+ return token;
+ }
+}
+
+export default AuthRepositoryImpl;
diff --git a/src/infraestructure/repositories/DevicesRepositoryImpl.ts b/src/infraestructure/repositories/DevicesRepositoryImpl.ts
new file mode 100644
index 0000000..02a536b
--- /dev/null
+++ b/src/infraestructure/repositories/DevicesRepositoryImpl.ts
@@ -0,0 +1,29 @@
+import DevicesRepository from '../../domain/repositories/DevicesRepository';
+import DevicesAPI from '../api/clients/DevicesAPI';
+import DeviceInfoResponse from '../api/models/DeviceInfoResponse';
+import toDeviceInfoResponse from './mappers/toDeviceInfoResponse';
+import WhoAmIResponse from '../../domain/repositories/WhoAmIResponse';
+import DeviceRequest from '../api/models/DeviceRequest';
+import toWhoAmIResponse from './mappers/toWhoAmIResponse';
+
+class DevicesRepositoryImpl implements DevicesRepository {
+ private devicesAPI: DevicesAPI;
+
+ constructor(devicesAPI: DevicesAPI) {
+ this.devicesAPI = devicesAPI;
+ }
+
+ async whoAmI(request: DeviceRequest): Promise {
+ const response = await this.devicesAPI.whoami(request);
+
+ return toWhoAmIResponse(response);
+ }
+
+ async getDeviceInfo(request: DeviceRequest): Promise {
+ const response = await this.devicesAPI.getInfoDevice(request);
+
+ return toDeviceInfoResponse(response);
+ }
+}
+
+export default DevicesRepositoryImpl;
diff --git a/src/infraestructure/repositories/__tests__/AuthRepositoryImpl.spec.ts b/src/infraestructure/repositories/__tests__/AuthRepositoryImpl.spec.ts
new file mode 100644
index 0000000..a47a938
--- /dev/null
+++ b/src/infraestructure/repositories/__tests__/AuthRepositoryImpl.spec.ts
@@ -0,0 +1,24 @@
+import AuthAPI from '../../api/clients/AuthAPI';
+import AuthRepositoryImpl from '../AuthRepositoryImpl';
+
+jest.mock('../../api/clients/AuthAPI');
+
+describe('AuthRepositoryImpl tests', () => {
+ it('should be defined', () => {
+ expect(AuthRepositoryImpl).toBeDefined();
+ });
+
+ it('should return a token', async () => {
+ const mockedAuthAPI = new AuthAPI(
+ 'https://api.example.com',
+ ) as jest.Mocked;
+
+ mockedAuthAPI.auth.mockResolvedValue({token: 'TOKEN'});
+
+ const repo = new AuthRepositoryImpl(mockedAuthAPI);
+
+ const token = await repo.auth({username: 'username', password: 'password'});
+
+ expect(token).toBe('TOKEN');
+ });
+});
diff --git a/src/infraestructure/repositories/__tests__/DevicesRepositoryImpl.spec.ts b/src/infraestructure/repositories/__tests__/DevicesRepositoryImpl.spec.ts
new file mode 100644
index 0000000..51b635b
--- /dev/null
+++ b/src/infraestructure/repositories/__tests__/DevicesRepositoryImpl.spec.ts
@@ -0,0 +1,93 @@
+import DevicesRepositoryImpl from '../DevicesRepositoryImpl';
+import DevicesAPI from '../../api/clients/DevicesAPI';
+import DeviceInfoResponse from '../../api/models/DeviceInfoResponse';
+import LineDetail from '../../../domain/repositories/LineDetail';
+
+jest.mock('../../api/clients/DevicesAPI');
+
+describe('DevicesRepositoryImpl tests', () => {
+ it('should be defined', () => {
+ expect(DevicesRepositoryImpl).toBeDefined();
+ });
+
+ it('should return a whoami response', async () => {
+ const mockedDevicesAPI = new DevicesAPI(
+ 'https://api.example.com',
+ ) as jest.Mocked;
+
+ mockedDevicesAPI.whoami.mockResolvedValue({
+ WhoamiResponse: {NombreParadero: 'stopName', NroParadero: 'stopNumber'},
+ });
+
+ const repo = new DevicesRepositoryImpl(mockedDevicesAPI);
+
+ const whoami = await repo.whoAmI({
+ token: 'token',
+ deviceId: 'deviceId',
+ });
+
+ expect(whoami).toMatchObject({
+ stopNumber: 'stopNumber',
+ stopName: 'stopName',
+ });
+ });
+
+ it('should return a device info response', async () => {
+ const mockedDevicesAPI = new DevicesAPI(
+ 'https://api.example.com',
+ ) as jest.Mocked;
+
+ mockedDevicesAPI.getInfoDevice.mockResolvedValue({
+ GetInfoDeviceResponse: {
+ MensajeParadero: 'stopMessage',
+ DetalleLineas: [
+ {
+ colorFondo: 'colorFondo',
+ colorLetra: 'colorLetra',
+ Descripcion: 'Descripcion',
+ Linea: 'Linea',
+ Llegadas: [
+ {
+ DistanciaGPS: 'DistanciaGPS',
+ EstimadaGPS: 'EstimadaGPS',
+ Patente: 'Patente',
+ Planificada: 'Planificada',
+ },
+ ],
+ Mensajelinea: 'Mensajelinea',
+ TipoLocomocion: 0,
+ },
+ ],
+ },
+ });
+
+ const repo = new DevicesRepositoryImpl(mockedDevicesAPI);
+
+ const deviceInfo = await repo.getDeviceInfo({
+ token: 'token',
+ deviceId: 'deviceId',
+ });
+
+ expect(deviceInfo).toMatchObject({
+ lineDetails: [
+ {
+ arrivals: [
+ {
+ carPlate: 'Patente',
+ distanceGPS: 'DistanciaGPS',
+ estimatedGPS: 'EstimadaGPS',
+ planned: 'Planificada',
+ },
+ ],
+ backgroundColor: 'colorFondo',
+ description: 'Descripcion',
+ letterColor: 'colorLetra',
+ lineMessage: 'Mensajelinea',
+ lineNumber: 'Linea',
+ locomotionType: 0,
+ } as LineDetail,
+ ],
+ stopMessage: 'stopMessage',
+ } as DeviceInfoResponse);
+ });
+});
diff --git a/src/infraestructure/repositories/mappers/__tests__/deviceInfoMapper.spec.ts b/src/infraestructure/repositories/mappers/__tests__/deviceInfoMapper.spec.ts
new file mode 100644
index 0000000..c9e7865
--- /dev/null
+++ b/src/infraestructure/repositories/mappers/__tests__/deviceInfoMapper.spec.ts
@@ -0,0 +1,136 @@
+import {GetInfoDeviceResponse} from '../../../api/models/GetInfoDeviceResponse';
+import toDeviceInfoResponse from '../toDeviceInfoResponse';
+
+describe('toDeviceInfoResponse tests', () => {
+ it('should be defined', () => {});
+
+ it('should map to DeviceInfoResponse', () => {
+ const responseFromBackEnd: GetInfoDeviceResponse = {
+ GetInfoDeviceResponse: {
+ DetalleLineas: [
+ {
+ Linea: '803010',
+ Descripcion: 'Tucapel',
+ TipoLocomocion: 1,
+ colorFondo: 'Hexadecimal',
+ colorLetra: 'Hexadecimal',
+ Llegadas: [
+ {
+ Patente: 'RPDA-98',
+ Planificada: '',
+ EstimadaGPS: '15:08',
+ DistanciaGPS: '1.0 KM',
+ },
+ {
+ Patente: 'WYXYZ-22',
+ Planificada: '',
+ EstimadaGPS: '15:42',
+ DistanciaGPS: '5.0 KM',
+ },
+ {
+ Patente: 'ABCA-65',
+ Planificada: '',
+ EstimadaGPS: '16:18',
+ DistanciaGPS: '13.4 KM',
+ },
+ ],
+ Mensajelinea: '',
+ },
+ {
+ Linea: '5487',
+ Descripcion: 'Centauro',
+ TipoLocomocion: 1,
+ colorFondo: 'Hexadecimal',
+ colorLetra: 'Hexadecimal',
+ Llegadas: [
+ {
+ Patente: 'PLKJ-32',
+ Planificada: '15:13',
+ EstimadaGPS: '',
+ DistanciaGPS: '',
+ },
+ {
+ Patente: 'GHLK-11',
+ Planificada: '15:39',
+ EstimadaGPS: '',
+ DistanciaGPS: '',
+ },
+ {
+ Patente: 'DFQW-55',
+ Planificada: '16:22',
+ EstimadaGPS: '',
+ DistanciaGPS: '',
+ },
+ ],
+ Mensajelinea: 'Sin info. GPS, la informacion es estimada',
+ },
+ ],
+ MensajeParadero: 'No considerar, uso futuro',
+ },
+ };
+
+ const mappedResponse = toDeviceInfoResponse(responseFromBackEnd);
+
+ expect(mappedResponse).toMatchObject({
+ lineDetails: [
+ {
+ lineNumber: '803010',
+ description: 'Tucapel',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: '',
+ arrivals: [
+ {
+ carPlate: 'RPDA-98',
+ planned: '',
+ estimatedGPS: '15:08',
+ distanceGPS: '1.0 KM',
+ },
+ {
+ carPlate: 'WYXYZ-22',
+ planned: '',
+ estimatedGPS: '15:42',
+ distanceGPS: '5.0 KM',
+ },
+ {
+ carPlate: 'ABCA-65',
+ planned: '',
+ estimatedGPS: '16:18',
+ distanceGPS: '13.4 KM',
+ },
+ ],
+ },
+ {
+ lineNumber: '5487',
+ description: 'Centauro',
+ locomotionType: 1,
+ backgroundColor: 'Hexadecimal',
+ letterColor: 'Hexadecimal',
+ lineMessage: 'Sin info. GPS, la informacion es estimada',
+ arrivals: [
+ {
+ carPlate: 'PLKJ-32',
+ planned: '15:13',
+ estimatedGPS: '',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'GHLK-11',
+ planned: '15:39',
+ estimatedGPS: '',
+ distanceGPS: '',
+ },
+ {
+ carPlate: 'DFQW-55',
+ planned: '16:22',
+ estimatedGPS: '',
+ distanceGPS: '',
+ },
+ ],
+ },
+ ],
+ stopMessage: 'No considerar, uso futuro',
+ });
+ });
+});
diff --git a/src/infraestructure/repositories/mappers/__tests__/toWhoAmIResponse.spec.ts b/src/infraestructure/repositories/mappers/__tests__/toWhoAmIResponse.spec.ts
new file mode 100644
index 0000000..9b8ca31
--- /dev/null
+++ b/src/infraestructure/repositories/mappers/__tests__/toWhoAmIResponse.spec.ts
@@ -0,0 +1,21 @@
+import toWhoAmIResponse from '../toWhoAmIResponse';
+
+describe('whoamiMapper', () => {
+ it('should be defined', () => {
+ expect(toWhoAmIResponse).toBeDefined();
+ });
+
+ it('should map to WhoamIResponse', () => {
+ expect(
+ toWhoAmIResponse({
+ WhoamiResponse: {
+ NroParadero: '37477',
+ NombreParadero: "O'Higgins - entre Angol y Salas",
+ },
+ }),
+ ).toMatchObject({
+ stopNumber: '37477',
+ stopName: "O'Higgins - entre Angol y Salas",
+ });
+ });
+});
diff --git a/src/infraestructure/repositories/mappers/toDeviceInfoResponse.ts b/src/infraestructure/repositories/mappers/toDeviceInfoResponse.ts
new file mode 100644
index 0000000..a6cb82c
--- /dev/null
+++ b/src/infraestructure/repositories/mappers/toDeviceInfoResponse.ts
@@ -0,0 +1,52 @@
+import Arrival from '../../../domain/repositories/Arrival';
+import LineDetail from '../../../domain/repositories/LineDetail';
+import DeviceInfoResponse from '../../api/models/DeviceInfoResponse';
+import {GetInfoDeviceResponse} from '../../api/models/GetInfoDeviceResponse';
+
+const toDeviceInfoResponse = (
+ response: GetInfoDeviceResponse,
+): DeviceInfoResponse => {
+ const {
+ GetInfoDeviceResponse: {DetalleLineas, MensajeParadero},
+ } = response;
+
+ const mappedLines: LineDetail[] = DetalleLineas.map(linea => {
+ const {
+ Linea,
+ Descripcion,
+ TipoLocomocion,
+ colorFondo,
+ colorLetra,
+ Mensajelinea,
+ Llegadas,
+ } = linea;
+
+ const mappedArrivals: Arrival[] = Llegadas.map(llegada => {
+ const {Patente, Planificada, EstimadaGPS, DistanciaGPS} = llegada;
+
+ return {
+ carPlate: Patente,
+ planned: Planificada,
+ estimatedGPS: EstimadaGPS,
+ distanceGPS: DistanciaGPS,
+ };
+ });
+
+ return {
+ lineNumber: Linea,
+ description: Descripcion,
+ locomotionType: TipoLocomocion,
+ backgroundColor: colorFondo,
+ letterColor: colorLetra,
+ lineMessage: Mensajelinea,
+ arrivals: mappedArrivals,
+ };
+ });
+
+ return {
+ lineDetails: mappedLines,
+ stopMessage: MensajeParadero,
+ };
+};
+
+export default toDeviceInfoResponse;
diff --git a/src/infraestructure/repositories/mappers/toWhoAmIResponse.ts b/src/infraestructure/repositories/mappers/toWhoAmIResponse.ts
new file mode 100644
index 0000000..2e216e0
--- /dev/null
+++ b/src/infraestructure/repositories/mappers/toWhoAmIResponse.ts
@@ -0,0 +1,13 @@
+import WhoAmIResponse from '../../../domain/repositories/WhoAmIResponse';
+import WhoamiResponse from '../../api/models/WhoamiResponse';
+
+const toWhoAmIResponse = (response: WhoamiResponse): WhoAmIResponse => {
+ const {NroParadero, NombreParadero} = response.WhoamiResponse;
+
+ return {
+ stopNumber: NroParadero,
+ stopName: NombreParadero,
+ };
+};
+
+export default toWhoAmIResponse;
diff --git a/src/presentation/components/Banner.tsx b/src/presentation/components/Banner.tsx
new file mode 100644
index 0000000..3531013
--- /dev/null
+++ b/src/presentation/components/Banner.tsx
@@ -0,0 +1,27 @@
+import {View, Text, StyleSheet, StyleProp, ViewStyle} from 'react-native';
+
+interface BannerProps {
+ text: string;
+ style?: StyleProp;
+}
+
+const Banner = ({text, style}: BannerProps) => {
+ return (
+
+ {text}
+
+ );
+};
+
+const styles = StyleSheet.create({
+ bannerContainer: {
+ justifyContent: 'center',
+ paddingLeft: 8,
+ },
+ bannerText: {
+ color: 'white',
+ fontWeight: 'bold',
+ },
+});
+
+export default Banner;
diff --git a/src/presentation/components/Container.tsx b/src/presentation/components/Container.tsx
new file mode 100644
index 0000000..2f3122d
--- /dev/null
+++ b/src/presentation/components/Container.tsx
@@ -0,0 +1,21 @@
+import {ReactNode} from 'react';
+import {View, StyleSheet, StyleProp, ViewStyle} from 'react-native';
+
+interface ContainerProps {
+ children: ReactNode;
+ style?: StyleProp;
+}
+
+const Container = ({children, style}: ContainerProps) => {
+ return (
+ {children}
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ },
+});
+
+export default Container;
diff --git a/src/presentation/components/Header.tsx b/src/presentation/components/Header.tsx
new file mode 100644
index 0000000..c76bb80
--- /dev/null
+++ b/src/presentation/components/Header.tsx
@@ -0,0 +1,66 @@
+import {View, Text, StyleSheet, StyleProp, ViewStyle} from 'react-native';
+import Container from './Container';
+import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
+
+interface HeaderProps {
+ title?: string;
+ subTitle?: string;
+ style?: StyleProp;
+}
+const Header = ({title, subTitle, style}: HeaderProps) => {
+ return (
+
+
+
+
+
+
+ {title}
+ {subTitle && {subTitle}}
+
+
+
+ );
+};
+
+const defaultProps = {
+ title: 'Sin información',
+ subTitle: 'Sin información',
+};
+
+Header.defaultProps = defaultProps;
+
+const styles = StyleSheet.create({
+ container: {
+ backgroundColor: 'orange',
+ },
+ contentContainer: {
+ flex: 1,
+ flexDirection: 'row',
+ alignItems: 'stretch',
+ },
+ iconContainer: {
+ justifyContent: 'center',
+ alignContent: 'center',
+ overflow: 'hidden',
+ },
+ titleContainer: {
+ flex: 1,
+ flexDirection: 'column',
+ justifyContent: 'center',
+ alignItems: 'center',
+ marginRight: 16,
+ },
+ title: {
+ fontSize: 24,
+ fontWeight: 'bold',
+ color: 'white',
+ },
+ subTitle: {
+ fontSize: 16,
+ fontWeight: 'normal',
+ color: 'white',
+ },
+});
+
+export default Header;
diff --git a/src/presentation/components/__tests__/Banner.spec.tsx b/src/presentation/components/__tests__/Banner.spec.tsx
new file mode 100644
index 0000000..97f0b92
--- /dev/null
+++ b/src/presentation/components/__tests__/Banner.spec.tsx
@@ -0,0 +1,20 @@
+import {render} from '@testing-library/react-native';
+import Banner from '../Banner';
+
+describe('Banner tests', () => {
+ it('should be defined', () => {
+ expect(Banner).toBeDefined();
+ });
+
+ it('should render correctly', () => {
+ const {toJSON} = render();
+
+ expect(toJSON()).toMatchSnapshot();
+ });
+
+ it('should get text correctly', () => {
+ const {getByText} = render();
+
+ expect(getByText('text')).toBeDefined();
+ });
+});
diff --git a/src/presentation/components/__tests__/Container.spec.tsx b/src/presentation/components/__tests__/Container.spec.tsx
new file mode 100644
index 0000000..3c5e5c1
--- /dev/null
+++ b/src/presentation/components/__tests__/Container.spec.tsx
@@ -0,0 +1,19 @@
+import {render} from '@testing-library/react-native';
+import Container from '../Container';
+import {Text} from 'react-native';
+
+describe('Container tests', () => {
+ it('should be defined', () => {
+ expect(Container).toBeDefined();
+ });
+
+ it('should render correctly', () => {
+ const {toJSON} = render(
+
+ Test
+ ,
+ );
+
+ expect(toJSON()).toMatchSnapshot();
+ });
+});
diff --git a/src/presentation/components/__tests__/Header.spec.tsx b/src/presentation/components/__tests__/Header.spec.tsx
new file mode 100644
index 0000000..b18c178
--- /dev/null
+++ b/src/presentation/components/__tests__/Header.spec.tsx
@@ -0,0 +1,21 @@
+import {render} from '@testing-library/react-native';
+import Header from '../Header';
+
+describe('Header tests', () => {
+ it('should be defined', () => {
+ expect(Header).toBeDefined();
+ });
+
+ it('should render correctly', () => {
+ const {toJSON} = render();
+
+ expect(toJSON()).toMatchSnapshot();
+ });
+
+ it('should render a title and a subtitle', () => {
+ const {getByText} = render();
+
+ expect(getByText('Title')).toBeDefined();
+ expect(getByText('Subtitle')).toBeDefined();
+ });
+});
diff --git a/src/presentation/components/__tests__/__snapshots__/Banner.spec.tsx.snap b/src/presentation/components/__tests__/__snapshots__/Banner.spec.tsx.snap
new file mode 100644
index 0000000..9b03bea
--- /dev/null
+++ b/src/presentation/components/__tests__/__snapshots__/Banner.spec.tsx.snap
@@ -0,0 +1,23 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Banner tests should render correctly 1`] = `
+
+
+ text
+
+
+`;
diff --git a/src/presentation/components/__tests__/__snapshots__/Container.spec.tsx.snap b/src/presentation/components/__tests__/__snapshots__/Container.spec.tsx.snap
new file mode 100644
index 0000000..435c279
--- /dev/null
+++ b/src/presentation/components/__tests__/__snapshots__/Container.spec.tsx.snap
@@ -0,0 +1,15 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Container tests should render correctly 1`] = `
+
+
+ Test
+
+
+`;
diff --git a/src/presentation/components/__tests__/__snapshots__/Header.spec.tsx.snap b/src/presentation/components/__tests__/__snapshots__/Header.spec.tsx.snap
new file mode 100644
index 0000000..ed78955
--- /dev/null
+++ b/src/presentation/components/__tests__/__snapshots__/Header.spec.tsx.snap
@@ -0,0 +1,87 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Header tests should render correctly 1`] = `
+
+
+
+
+
+
+
+
+
+ Title
+
+
+ Subtitle
+
+
+
+
+`;
diff --git a/src/presentation/screens/App.tsx b/src/presentation/screens/App.tsx
new file mode 100644
index 0000000..2ca278a
--- /dev/null
+++ b/src/presentation/screens/App.tsx
@@ -0,0 +1,18 @@
+import {SafeAreaView, StyleSheet} from 'react-native';
+import BusStopInfoScreen from './BusStopInfoScreen';
+
+const App = () => {
+ return (
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ },
+});
+
+export default App;
diff --git a/src/presentation/screens/BusStopInfoScreen.tsx b/src/presentation/screens/BusStopInfoScreen.tsx
new file mode 100644
index 0000000..189d2fd
--- /dev/null
+++ b/src/presentation/screens/BusStopInfoScreen.tsx
@@ -0,0 +1,197 @@
+import {ActivityIndicator, StyleSheet, View} from 'react-native';
+import Container from '../components/Container';
+import Header from '../components/Header';
+import {Text} from 'react-native';
+import useDevices, {Status} from '../../infraestructure/hooks/useDevices';
+import Banner from '../components/Banner';
+
+export interface Line {
+ lineNumber: string;
+ lineLetter: string;
+ letterColor: string;
+ backgroundColor: string;
+ estimatedArrivalTimeInMinutes: string;
+ lineDescription: string;
+}
+
+interface TableProps {
+ data: Line[];
+}
+
+const Table = ({data}: TableProps) => {
+ const rows = 7;
+ const columns = 3;
+
+ const baseTableData: Line[][] = Array.from({length: rows}, () =>
+ new Array(columns).fill({
+ lineNumber: '',
+ lineLetter: '',
+ letterColor: '',
+ backgroundColor: '',
+ estimatedArrivalTimeInMinutes: '',
+ }),
+ );
+
+ data.map((item, index) => {
+ const row = Math.floor(index / columns);
+ const column = index % columns;
+ baseTableData[row][column] = item;
+ });
+
+ return (
+
+ {baseTableData.map((row, rowIndex) => (
+
+ {row.map((cell, cellIndex) => {
+ if (cell.lineNumber === '') {
+ return ;
+ }
+
+ return (
+
+
+ {cell.lineNumber}
+
+
+ {cell.lineLetter}
+
+
+
+
+
+ {cell.lineDescription}
+
+
+ {cell.estimatedArrivalTimeInMinutes}
+
+
+
+ );
+ })}
+
+ ))}
+
+ );
+};
+
+const BusStopInfoScreen = () => {
+ const {
+ state: {status, displayedLines, stopName},
+ } = useDevices();
+
+ const splitStopName = stopName.split('-');
+ let title = splitStopName[0] ? `${splitStopName[0].trim()}` : '';
+ const subTitle = splitStopName[1] ? `${splitStopName[1].trim()}` : '';
+
+ return (
+
+
+
+
+
+ {status === Status.LOADING ? (
+
+ ) : (
+
+ )}
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ justifyContent: 'center',
+ },
+ headerContainer: {
+ flex: 1.5,
+ backgroundColor: 'orange',
+ },
+ bannerContainer: {
+ flex: 0.5,
+ backgroundColor: 'grey',
+ },
+ bodyContainer: {
+ flex: 10,
+ justifyContent: 'center',
+ },
+ busContainer: {
+ backgroundColor: 'brown',
+ flexDirection: 'column',
+ },
+ footerContainer: {
+ flex: 1,
+ backgroundColor: 'grey',
+ },
+});
+
+const tableStyles = StyleSheet.create({
+ table: {
+ flex: 1,
+ backgroundColor: 'white',
+ },
+ row: {
+ flex: 1,
+ flexDirection: 'row',
+ },
+ cell: {
+ flex: 1,
+ borderWidth: 1,
+ flexDirection: 'column',
+ borderColor: 'grey',
+ },
+ lineInformationContainer: {
+ flex: 1,
+ flexDirection: 'row',
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ timeContainer: {
+ alignItems: 'center',
+ backgroundColor: 'blue',
+ },
+ lineNumber: {
+ fontSize: 20,
+ marginRight: 8,
+ fontWeight: 'bold',
+ color: 'grey',
+ },
+ lineLetter: {
+ fontSize: 14,
+ color: 'white',
+ fontWeight: 'bold',
+ },
+ letterContainer: {
+ paddingHorizontal: 16,
+ paddingVertical: 8,
+ borderRadius: 50,
+ },
+ time: {
+ fontSize: 12,
+ fontWeight: 'bold',
+ color: 'white',
+ },
+ lineDescription: {
+ fontSize: 12,
+ fontWeight: 'bold',
+ color: 'white',
+ },
+});
+
+export default BusStopInfoScreen;
diff --git a/src/utils/DateUtils.ts b/src/utils/DateUtils.ts
new file mode 100644
index 0000000..389f7ea
--- /dev/null
+++ b/src/utils/DateUtils.ts
@@ -0,0 +1,22 @@
+/**
+ * @param {date} string in format 'HH:mm:ss'
+ */
+const getHours = (date: string): number => {
+ return Number.parseInt(date.split(':')[0], 10);
+};
+
+/**
+ * @param {date} string in format 'HH:mm:ss'
+ */
+const getMinutes = (date: string): number => {
+ return Number.parseInt(date.split(':')[1], 10);
+};
+
+/**
+ * @param {date} string in format 'HH:mm:ss'
+ */
+const getSeconds = (date: string): number => {
+ return Number.parseInt(date.split(':')[2], 10);
+};
+
+export {getHours, getMinutes, getSeconds};
diff --git a/src/utils/__tests__/DateUtils.spec.ts b/src/utils/__tests__/DateUtils.spec.ts
new file mode 100644
index 0000000..234a10c
--- /dev/null
+++ b/src/utils/__tests__/DateUtils.spec.ts
@@ -0,0 +1,33 @@
+import {getHours, getMinutes, getSeconds} from '../DateUtils';
+
+describe('DateUtils tests', () => {
+ describe('getHours tests', () => {
+ it('should be defined', () => {
+ expect(getHours).toBeDefined();
+ });
+
+ it('should return 13', () => {
+ expect(getHours('13:00:00')).toBe(13);
+ });
+ });
+
+ describe('getMinutes tests', () => {
+ it('should be defined', () => {
+ expect(getMinutes).toBeDefined();
+ });
+
+ it('should return 30', () => {
+ expect(getMinutes('13:30:00')).toBe(30);
+ });
+ });
+
+ describe('getSeconds tests', () => {
+ it('should be defined', () => {
+ expect(getSeconds).toBeDefined();
+ });
+
+ it('should return 13', () => {
+ expect(getSeconds('13:30:13')).toBe(13);
+ });
+ });
+});
diff --git a/yarn.lock b/yarn.lock
index eadda83..ba02373 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -15,34 +15,34 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13":
- version "7.22.13"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
- integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.4.tgz#03ae5af150be94392cb5c7ccd97db5a19a5da6aa"
+ integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==
dependencies:
- "@babel/highlight" "^7.22.13"
+ "@babel/highlight" "^7.23.4"
chalk "^2.4.2"
-"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc"
- integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==
+"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11"
+ integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==
"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.0":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94"
- integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.3.tgz#5ec09c8803b91f51cc887dedc2654a35852849c9"
+ integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@babel/code-frame" "^7.22.13"
- "@babel/generator" "^7.23.0"
+ "@babel/generator" "^7.23.3"
"@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-module-transforms" "^7.23.0"
+ "@babel/helper-module-transforms" "^7.23.3"
"@babel/helpers" "^7.23.2"
- "@babel/parser" "^7.23.0"
+ "@babel/parser" "^7.23.3"
"@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.2"
- "@babel/types" "^7.23.0"
+ "@babel/traverse" "^7.23.3"
+ "@babel/types" "^7.23.3"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@@ -50,20 +50,20 @@
semver "^6.3.1"
"@babel/eslint-parser@^7.18.2", "@babel/eslint-parser@^7.20.0":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34"
- integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz#7bf0db1c53b54da0c8a12627373554a0828479ca"
+ integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==
dependencies:
"@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
eslint-visitor-keys "^2.1.0"
semver "^6.3.1"
-"@babel/generator@^7.20.0", "@babel/generator@^7.23.0", "@babel/generator@^7.7.2":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
- integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
+"@babel/generator@^7.20.0", "@babel/generator@^7.23.3", "@babel/generator@^7.23.4", "@babel/generator@^7.7.2":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.4.tgz#4a41377d8566ec18f807f42962a7f3551de83d1c"
+ integrity sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==
dependencies:
- "@babel/types" "^7.23.0"
+ "@babel/types" "^7.23.4"
"@jridgewell/gen-mapping" "^0.3.2"
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
@@ -75,14 +75,14 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5":
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956"
integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==
dependencies:
"@babel/types" "^7.22.15"
-"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6":
+"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52"
integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==
@@ -93,7 +93,7 @@
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5":
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4"
integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==
@@ -108,7 +108,7 @@
"@babel/helper-split-export-declaration" "^7.22.6"
semver "^6.3.1"
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5":
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1"
integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==
@@ -155,17 +155,17 @@
dependencies:
"@babel/types" "^7.23.0"
-"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5":
+"@babel/helper-module-imports@^7.22.15":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
dependencies:
"@babel/types" "^7.22.15"
-"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e"
- integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==
+"@babel/helper-module-transforms@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
+ integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-module-imports" "^7.22.15"
@@ -185,7 +185,7 @@
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
-"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5":
+"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0"
integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==
@@ -194,7 +194,7 @@
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-wrap-function" "^7.22.20"
-"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9":
+"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
@@ -224,10 +224,10 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-string-parser@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
- integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
+"@babel/helper-string-parser@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
+ integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
@@ -249,43 +249,51 @@
"@babel/types" "^7.22.19"
"@babel/helpers@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767"
- integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.4.tgz#7d2cfb969aa43222032193accd7329851facf3c1"
+ integrity sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==
dependencies:
"@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.2"
- "@babel/types" "^7.23.0"
+ "@babel/traverse" "^7.23.4"
+ "@babel/types" "^7.23.4"
-"@babel/highlight@^7.22.13":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
- integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
+"@babel/highlight@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
+ integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
- integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
+"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.4.tgz#409fbe690c333bb70187e2de4021e1e47a026661"
+ integrity sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962"
- integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a"
+ integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f"
- integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d"
+ integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/plugin-transform-optional-chaining" "^7.22.15"
+ "@babel/plugin-transform-optional-chaining" "^7.23.3"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098"
+ integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-proposal-async-generator-functions@^7.0.0":
version "7.20.7"
@@ -306,12 +314,12 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-proposal-export-default-from@^7.0.0":
- version "7.22.17"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz#91b60cd338f501cccdf549af2308768911ec5fbb"
- integrity sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz#6f511a676c540ccc8d17a8553dbba9230b0ddac0"
+ integrity sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-export-default-from" "^7.22.5"
+ "@babel/plugin-syntax-export-default-from" "^7.23.3"
"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0":
version "7.18.6"
@@ -397,10 +405,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz#ac3a24b362a04415a017ab96b9b4483d0e2a6e44"
- integrity sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==
+"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz#7e6d4bf595d5724230200fb2b7401d4734b15335"
+ integrity sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
@@ -411,24 +419,24 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859"
- integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==
+"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a"
+ integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-syntax-import-assertions@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98"
- integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==
+"@babel/plugin-syntax-import-assertions@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc"
+ integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-syntax-import-attributes@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb"
- integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==
+"@babel/plugin-syntax-import-attributes@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06"
+ integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
@@ -446,10 +454,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918"
- integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==
+"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473"
+ integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
@@ -509,10 +517,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.22.5", "@babel/plugin-syntax-typescript@^7.7.2":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272"
- integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==
+"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f"
+ integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
@@ -524,219 +532,219 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958"
- integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==
+"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b"
+ integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-async-generator-functions@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb"
- integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==
+"@babel/plugin-transform-async-generator-functions@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a"
+ integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-remap-async-to-generator" "^7.22.20"
"@babel/plugin-syntax-async-generators" "^7.8.4"
-"@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775"
- integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==
+"@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa"
+ integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==
dependencies:
- "@babel/helper-module-imports" "^7.22.5"
+ "@babel/helper-module-imports" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-remap-async-to-generator" "^7.22.5"
+ "@babel/helper-remap-async-to-generator" "^7.22.20"
-"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024"
- integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==
+"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77"
+ integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022"
- integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==
+"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5"
+ integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-class-properties@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77"
- integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==
+"@babel/plugin-transform-class-properties@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48"
+ integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-class-static-block@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974"
- integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==
+"@babel/plugin-transform-class-static-block@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5"
+ integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.11"
+ "@babel/helper-create-class-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b"
- integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==
+"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz#73380c632c095b03e8503c24fd38f95ad41ffacb"
+ integrity sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-environment-visitor" "^7.22.5"
- "@babel/helper-function-name" "^7.22.5"
+ "@babel/helper-environment-visitor" "^7.22.20"
+ "@babel/helper-function-name" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.9"
+ "@babel/helper-replace-supers" "^7.22.20"
"@babel/helper-split-export-declaration" "^7.22.6"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869"
- integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==
+"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474"
+ integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/template" "^7.22.5"
+ "@babel/template" "^7.22.15"
-"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c"
- integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==
+"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311"
+ integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-dotall-regex@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165"
- integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==
+"@babel/plugin-transform-dotall-regex@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50"
+ integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+ "@babel/helper-create-regexp-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-duplicate-keys@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285"
- integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==
+"@babel/plugin-transform-duplicate-keys@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce"
+ integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-dynamic-import@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa"
- integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==
+"@babel/plugin-transform-dynamic-import@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143"
+ integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
-"@babel/plugin-transform-exponentiation-operator@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a"
- integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==
+"@babel/plugin-transform-exponentiation-operator@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18"
+ integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-export-namespace-from@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c"
- integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==
+"@babel/plugin-transform-export-namespace-from@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191"
+ integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2"
- integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==
+"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff"
+ integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-flow" "^7.22.5"
+ "@babel/plugin-syntax-flow" "^7.23.3"
-"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29"
- integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==
+"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559"
+ integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143"
- integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==
+"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc"
+ integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==
dependencies:
- "@babel/helper-compilation-targets" "^7.22.5"
- "@babel/helper-function-name" "^7.22.5"
+ "@babel/helper-compilation-targets" "^7.22.15"
+ "@babel/helper-function-name" "^7.23.0"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-json-strings@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835"
- integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==
+"@babel/plugin-transform-json-strings@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d"
+ integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920"
- integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==
+"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4"
+ integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-logical-assignment-operators@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c"
- integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==
+"@babel/plugin-transform-logical-assignment-operators@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5"
+ integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def"
- integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==
+"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc"
+ integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-modules-amd@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88"
- integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==
+"@babel/plugin-transform-modules-amd@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d"
+ integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==
dependencies:
- "@babel/helper-module-transforms" "^7.23.0"
+ "@babel/helper-module-transforms" "^7.23.3"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481"
- integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==
+"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4"
+ integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
dependencies:
- "@babel/helper-module-transforms" "^7.23.0"
+ "@babel/helper-module-transforms" "^7.23.3"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-simple-access" "^7.22.5"
-"@babel/plugin-transform-modules-systemjs@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160"
- integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==
+"@babel/plugin-transform-modules-systemjs@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81"
+ integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==
dependencies:
"@babel/helper-hoist-variables" "^7.22.5"
- "@babel/helper-module-transforms" "^7.23.0"
+ "@babel/helper-module-transforms" "^7.23.3"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-validator-identifier" "^7.22.20"
-"@babel/plugin-transform-modules-umd@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98"
- integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==
+"@babel/plugin-transform-modules-umd@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9"
+ integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==
dependencies:
- "@babel/helper-module-transforms" "^7.22.5"
+ "@babel/helper-module-transforms" "^7.23.3"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
@@ -747,148 +755,148 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-new-target@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d"
- integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==
+"@babel/plugin-transform-new-target@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980"
+ integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc"
- integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e"
+ integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-transform-numeric-separator@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd"
- integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==
+"@babel/plugin-transform-numeric-separator@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29"
+ integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-transform-object-rest-spread@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f"
- integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==
+"@babel/plugin-transform-object-rest-spread@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83"
+ integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==
dependencies:
- "@babel/compat-data" "^7.22.9"
+ "@babel/compat-data" "^7.23.3"
"@babel/helper-compilation-targets" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.22.15"
+ "@babel/plugin-transform-parameters" "^7.23.3"
-"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c"
- integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==
+"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd"
+ integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.5"
+ "@babel/helper-replace-supers" "^7.22.20"
-"@babel/plugin-transform-optional-catch-binding@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0"
- integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==
+"@babel/plugin-transform-optional-catch-binding@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017"
+ integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158"
- integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==
+"@babel/plugin-transform-optional-chaining@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017"
+ integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114"
- integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af"
+ integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-private-methods@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722"
- integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==
+"@babel/plugin-transform-private-methods@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4"
+ integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-private-property-in-object@^7.22.11":
- version "7.22.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1"
- integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==
+"@babel/plugin-transform-private-property-in-object@^7.23.3":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5"
+ integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.22.11"
+ "@babel/helper-create-class-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766"
- integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==
+"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875"
+ integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-react-display-name@^7.0.0":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b"
- integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200"
+ integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-react-jsx-self@^7.0.0":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e"
- integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9"
+ integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-react-jsx-source@^7.0.0":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c"
- integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e"
+ integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-react-jsx@^7.0.0":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6"
- integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312"
+ integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-module-imports" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-jsx" "^7.22.5"
- "@babel/types" "^7.22.15"
+ "@babel/plugin-syntax-jsx" "^7.23.3"
+ "@babel/types" "^7.23.4"
-"@babel/plugin-transform-regenerator@^7.22.10":
- version "7.22.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca"
- integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==
+"@babel/plugin-transform-regenerator@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c"
+ integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
regenerator-transform "^0.15.2"
-"@babel/plugin-transform-reserved-words@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb"
- integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==
+"@babel/plugin-transform-reserved-words@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8"
+ integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/plugin-transform-runtime@^7.0.0":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990"
- integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz#5132b388580002fc5cb7c84eccfb968acdc231cb"
+ integrity sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==
dependencies:
"@babel/helper-module-imports" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
@@ -897,102 +905,103 @@
babel-plugin-polyfill-regenerator "^0.5.3"
semver "^6.3.1"
-"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624"
- integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==
+"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210"
+ integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b"
- integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==
+"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c"
+ integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa"
- integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==
+"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04"
+ integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff"
- integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==
+"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07"
+ integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-typeof-symbol@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34"
- integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==
+"@babel/plugin-transform-typeof-symbol@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4"
+ integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-typescript@^7.22.15", "@babel/plugin-transform-typescript@^7.5.0":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127"
- integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==
+"@babel/plugin-transform-typescript@^7.23.3", "@babel/plugin-transform-typescript@^7.5.0":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz#da12914d17b3c4b307f32c5fd91fbfdf17d56f86"
+ integrity sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-create-class-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-typescript" "^7.22.5"
+ "@babel/plugin-syntax-typescript" "^7.23.3"
-"@babel/plugin-transform-unicode-escapes@^7.22.10":
- version "7.22.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9"
- integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==
+"@babel/plugin-transform-unicode-escapes@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925"
+ integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-unicode-property-regex@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81"
- integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==
+"@babel/plugin-transform-unicode-property-regex@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad"
+ integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+ "@babel/helper-create-regexp-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183"
- integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==
+"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc"
+ integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+ "@babel/helper-create-regexp-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-unicode-sets-regex@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91"
- integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==
+"@babel/plugin-transform-unicode-sets-regex@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e"
+ integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.5"
+ "@babel/helper-create-regexp-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/preset-env@^7.20.0":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059"
- integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.3.tgz#d299e0140a7650684b95c62be2db0ef8c975143e"
+ integrity sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==
dependencies:
- "@babel/compat-data" "^7.23.2"
+ "@babel/compat-data" "^7.23.3"
"@babel/helper-compilation-targets" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-validator-option" "^7.22.15"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3"
"@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-class-properties" "^7.12.13"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.22.5"
- "@babel/plugin-syntax-import-attributes" "^7.22.5"
+ "@babel/plugin-syntax-import-assertions" "^7.23.3"
+ "@babel/plugin-syntax-import-attributes" "^7.23.3"
"@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
@@ -1004,56 +1013,55 @@
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
"@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.22.5"
- "@babel/plugin-transform-async-generator-functions" "^7.23.2"
- "@babel/plugin-transform-async-to-generator" "^7.22.5"
- "@babel/plugin-transform-block-scoped-functions" "^7.22.5"
- "@babel/plugin-transform-block-scoping" "^7.23.0"
- "@babel/plugin-transform-class-properties" "^7.22.5"
- "@babel/plugin-transform-class-static-block" "^7.22.11"
- "@babel/plugin-transform-classes" "^7.22.15"
- "@babel/plugin-transform-computed-properties" "^7.22.5"
- "@babel/plugin-transform-destructuring" "^7.23.0"
- "@babel/plugin-transform-dotall-regex" "^7.22.5"
- "@babel/plugin-transform-duplicate-keys" "^7.22.5"
- "@babel/plugin-transform-dynamic-import" "^7.22.11"
- "@babel/plugin-transform-exponentiation-operator" "^7.22.5"
- "@babel/plugin-transform-export-namespace-from" "^7.22.11"
- "@babel/plugin-transform-for-of" "^7.22.15"
- "@babel/plugin-transform-function-name" "^7.22.5"
- "@babel/plugin-transform-json-strings" "^7.22.11"
- "@babel/plugin-transform-literals" "^7.22.5"
- "@babel/plugin-transform-logical-assignment-operators" "^7.22.11"
- "@babel/plugin-transform-member-expression-literals" "^7.22.5"
- "@babel/plugin-transform-modules-amd" "^7.23.0"
- "@babel/plugin-transform-modules-commonjs" "^7.23.0"
- "@babel/plugin-transform-modules-systemjs" "^7.23.0"
- "@babel/plugin-transform-modules-umd" "^7.22.5"
+ "@babel/plugin-transform-arrow-functions" "^7.23.3"
+ "@babel/plugin-transform-async-generator-functions" "^7.23.3"
+ "@babel/plugin-transform-async-to-generator" "^7.23.3"
+ "@babel/plugin-transform-block-scoped-functions" "^7.23.3"
+ "@babel/plugin-transform-block-scoping" "^7.23.3"
+ "@babel/plugin-transform-class-properties" "^7.23.3"
+ "@babel/plugin-transform-class-static-block" "^7.23.3"
+ "@babel/plugin-transform-classes" "^7.23.3"
+ "@babel/plugin-transform-computed-properties" "^7.23.3"
+ "@babel/plugin-transform-destructuring" "^7.23.3"
+ "@babel/plugin-transform-dotall-regex" "^7.23.3"
+ "@babel/plugin-transform-duplicate-keys" "^7.23.3"
+ "@babel/plugin-transform-dynamic-import" "^7.23.3"
+ "@babel/plugin-transform-exponentiation-operator" "^7.23.3"
+ "@babel/plugin-transform-export-namespace-from" "^7.23.3"
+ "@babel/plugin-transform-for-of" "^7.23.3"
+ "@babel/plugin-transform-function-name" "^7.23.3"
+ "@babel/plugin-transform-json-strings" "^7.23.3"
+ "@babel/plugin-transform-literals" "^7.23.3"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.23.3"
+ "@babel/plugin-transform-member-expression-literals" "^7.23.3"
+ "@babel/plugin-transform-modules-amd" "^7.23.3"
+ "@babel/plugin-transform-modules-commonjs" "^7.23.3"
+ "@babel/plugin-transform-modules-systemjs" "^7.23.3"
+ "@babel/plugin-transform-modules-umd" "^7.23.3"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
- "@babel/plugin-transform-new-target" "^7.22.5"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11"
- "@babel/plugin-transform-numeric-separator" "^7.22.11"
- "@babel/plugin-transform-object-rest-spread" "^7.22.15"
- "@babel/plugin-transform-object-super" "^7.22.5"
- "@babel/plugin-transform-optional-catch-binding" "^7.22.11"
- "@babel/plugin-transform-optional-chaining" "^7.23.0"
- "@babel/plugin-transform-parameters" "^7.22.15"
- "@babel/plugin-transform-private-methods" "^7.22.5"
- "@babel/plugin-transform-private-property-in-object" "^7.22.11"
- "@babel/plugin-transform-property-literals" "^7.22.5"
- "@babel/plugin-transform-regenerator" "^7.22.10"
- "@babel/plugin-transform-reserved-words" "^7.22.5"
- "@babel/plugin-transform-shorthand-properties" "^7.22.5"
- "@babel/plugin-transform-spread" "^7.22.5"
- "@babel/plugin-transform-sticky-regex" "^7.22.5"
- "@babel/plugin-transform-template-literals" "^7.22.5"
- "@babel/plugin-transform-typeof-symbol" "^7.22.5"
- "@babel/plugin-transform-unicode-escapes" "^7.22.10"
- "@babel/plugin-transform-unicode-property-regex" "^7.22.5"
- "@babel/plugin-transform-unicode-regex" "^7.22.5"
- "@babel/plugin-transform-unicode-sets-regex" "^7.22.5"
+ "@babel/plugin-transform-new-target" "^7.23.3"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.3"
+ "@babel/plugin-transform-numeric-separator" "^7.23.3"
+ "@babel/plugin-transform-object-rest-spread" "^7.23.3"
+ "@babel/plugin-transform-object-super" "^7.23.3"
+ "@babel/plugin-transform-optional-catch-binding" "^7.23.3"
+ "@babel/plugin-transform-optional-chaining" "^7.23.3"
+ "@babel/plugin-transform-parameters" "^7.23.3"
+ "@babel/plugin-transform-private-methods" "^7.23.3"
+ "@babel/plugin-transform-private-property-in-object" "^7.23.3"
+ "@babel/plugin-transform-property-literals" "^7.23.3"
+ "@babel/plugin-transform-regenerator" "^7.23.3"
+ "@babel/plugin-transform-reserved-words" "^7.23.3"
+ "@babel/plugin-transform-shorthand-properties" "^7.23.3"
+ "@babel/plugin-transform-spread" "^7.23.3"
+ "@babel/plugin-transform-sticky-regex" "^7.23.3"
+ "@babel/plugin-transform-template-literals" "^7.23.3"
+ "@babel/plugin-transform-typeof-symbol" "^7.23.3"
+ "@babel/plugin-transform-unicode-escapes" "^7.23.3"
+ "@babel/plugin-transform-unicode-property-regex" "^7.23.3"
+ "@babel/plugin-transform-unicode-regex" "^7.23.3"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.23.3"
"@babel/preset-modules" "0.1.6-no-external-plugins"
- "@babel/types" "^7.23.0"
babel-plugin-polyfill-corejs2 "^0.4.6"
babel-plugin-polyfill-corejs3 "^0.8.5"
babel-plugin-polyfill-regenerator "^0.5.3"
@@ -1061,13 +1069,13 @@
semver "^6.3.1"
"@babel/preset-flow@^7.13.13":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.15.tgz#30318deb9b3ebd9f5738e96da03a531e0cd3165d"
- integrity sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.23.3.tgz#8084e08b9ccec287bd077ab288b286fab96ffab1"
+ integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-validator-option" "^7.22.15"
- "@babel/plugin-transform-flow-strip-types" "^7.22.5"
+ "@babel/plugin-transform-flow-strip-types" "^7.23.3"
"@babel/preset-modules@0.1.6-no-external-plugins":
version "0.1.6-no-external-plugins"
@@ -1079,15 +1087,15 @@
esutils "^2.0.2"
"@babel/preset-typescript@^7.13.0":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4"
- integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913"
+ integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/helper-validator-option" "^7.22.15"
- "@babel/plugin-syntax-jsx" "^7.22.5"
- "@babel/plugin-transform-modules-commonjs" "^7.23.0"
- "@babel/plugin-transform-typescript" "^7.22.15"
+ "@babel/plugin-syntax-jsx" "^7.23.3"
+ "@babel/plugin-transform-modules-commonjs" "^7.23.3"
+ "@babel/plugin-transform-typescript" "^7.23.3"
"@babel/register@^7.13.16":
version "7.22.15"
@@ -1106,13 +1114,13 @@
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
"@babel/runtime@^7.0.0", "@babel/runtime@^7.20.0", "@babel/runtime@^7.8.4":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
- integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e"
+ integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3":
+"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.3.3":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
@@ -1121,28 +1129,28 @@
"@babel/parser" "^7.22.15"
"@babel/types" "^7.22.15"
-"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
- integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
+"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.3", "@babel/traverse@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.4.tgz#c2790f7edf106d059a0098770fe70801417f3f85"
+ integrity sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==
dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/generator" "^7.23.0"
+ "@babel/code-frame" "^7.23.4"
+ "@babel/generator" "^7.23.4"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/parser" "^7.23.0"
- "@babel/types" "^7.23.0"
+ "@babel/parser" "^7.23.4"
+ "@babel/types" "^7.23.4"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
- integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
+"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.4.tgz#7206a1810fc512a7f7f7d4dace4cb4c1c9dbfb8e"
+ integrity sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==
dependencies:
- "@babel/helper-string-parser" "^7.22.5"
+ "@babel/helper-string-parser" "^7.23.4"
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
@@ -1152,15 +1160,15 @@
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@commitlint/cli@^18.2.0":
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.2.0.tgz#c2dc8f0a834b5c4befa48cad6396f694f28d2b5f"
- integrity sha512-F/DCG791kMFmWg5eIdogakuGeg4OiI2kD430ed1a1Hh3epvrJdeIAgcGADAMIOmF+m0S1+VlIYUKG2dvQQ1Izw==
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.4.3.tgz#5b6112035f2cb17b76244cde5f1587ab853c2365"
+ integrity sha512-zop98yfB3A6NveYAZ3P1Mb6bIXuCeWgnUfVNkH4yhIMQpQfzFwseadazOuSn0OOfTt0lWuFauehpm9GcqM5lww==
dependencies:
- "@commitlint/format" "^18.1.0"
- "@commitlint/lint" "^18.1.0"
- "@commitlint/load" "^18.2.0"
- "@commitlint/read" "^18.1.0"
- "@commitlint/types" "^18.1.0"
+ "@commitlint/format" "^18.4.3"
+ "@commitlint/lint" "^18.4.3"
+ "@commitlint/load" "^18.4.3"
+ "@commitlint/read" "^18.4.3"
+ "@commitlint/types" "^18.4.3"
execa "^5.0.0"
lodash.isfunction "^3.0.9"
resolve-from "5.0.0"
@@ -1168,148 +1176,155 @@
yargs "^17.0.0"
"@commitlint/config-conventional@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.1.0.tgz#f8f37b0de4090ebd3f9418672184814fab520205"
- integrity sha512-8vvvtV3GOLEMHeKc8PjRL1lfP1Y4B6BG0WroFd9PJeRiOc3nFX1J0wlJenLURzl9Qus6YXVGWf+a/ZlbCKT3AA==
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.4.3.tgz#8158e6bd874a86ff46a6424f45acd803bc5fef1b"
+ integrity sha512-729eRRaNta7JZF07qf6SAGSghoDEp9mH7yHU0m7ff0q89W97wDrWCyZ3yoV3mcQJwbhlmVmZPTkPcm7qiAu8WA==
dependencies:
conventional-changelog-conventionalcommits "^7.0.2"
-"@commitlint/config-validator@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.1.0.tgz#e717151ab99206bdf70d2b526a32e530cec72512"
- integrity sha512-kbHkIuItXn93o2NmTdwi5Mk1ujyuSIysRE/XHtrcps/27GuUKEIqBJp6TdJ4Sq+ze59RlzYSHMKuDKZbfg9+uQ==
+"@commitlint/config-validator@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.4.3.tgz#cf71d36383cd5241e3b74097e7110514d5d43860"
+ integrity sha512-FPZZmTJBARPCyef9ohRC9EANiQEKSWIdatx5OlgeHKu878dWwpyeFauVkhzuBRJFcCA4Uvz/FDtlDKs008IHcA==
dependencies:
- "@commitlint/types" "^18.1.0"
+ "@commitlint/types" "^18.4.3"
ajv "^8.11.0"
-"@commitlint/ensure@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.1.0.tgz#3342fdaf42210166a6ca8779c0028298dd60b4b7"
- integrity sha512-CkPzJ9UBumIo54VDcpmBlaVX81J++wzEhN3DJH9+6PaLeiIG+gkSx8t7C2gfwG7PaiW4HzQtdQlBN5ab+c4vFQ==
+"@commitlint/ensure@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.4.3.tgz#1193a6418fe05edc8d5eff91f3129db345fa1d38"
+ integrity sha512-MI4fwD9TWDVn4plF5+7JUyLLbkOdzIRBmVeNlk4dcGlkrVA+/l5GLcpN66q9LkFsFv6G2X31y89ApA3hqnqIFg==
dependencies:
- "@commitlint/types" "^18.1.0"
+ "@commitlint/types" "^18.4.3"
lodash.camelcase "^4.3.0"
lodash.kebabcase "^4.1.1"
lodash.snakecase "^4.1.1"
lodash.startcase "^4.4.0"
lodash.upperfirst "^4.3.1"
-"@commitlint/execute-rule@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.1.0.tgz#1dcacf8da1981dd2e6da76988fdac9f48cdccd46"
- integrity sha512-w3Vt4K+O7+nSr9/gFSEfZ1exKUOPSlJaRpnk7Y+XowEhvwT7AIk1HNANH+gETf0zGZ020+hfiMW/Ome+SNCUsg==
+"@commitlint/execute-rule@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.4.3.tgz#4dca5412dc8fdeb4210432961f209d9eb65008f5"
+ integrity sha512-t7FM4c+BdX9WWZCPrrbV5+0SWLgT3kCq7e7/GhHCreYifg3V8qyvO127HF796vyFql75n4TFF+5v1asOOWkV1Q==
-"@commitlint/format@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.1.0.tgz#fe0d03b47cf2eda98a5bd9819d595935f53576de"
- integrity sha512-So/w217tGWMZZb1yXcUFNF2qFLyYtSVqbnGoMbX8a+JKcG4oB11Gc1adS0ssUOMivtiNpaLtkSHFynyiwtJtiQ==
+"@commitlint/format@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.4.3.tgz#3478bc2980eb178e13881834e290f12362ec6357"
+ integrity sha512-8b+ItXYHxAhRAXFfYki5PpbuMMOmXYuzLxib65z2XTqki59YDQJGpJ/wB1kEE5MQDgSTQWtKUrA8n9zS/1uIDQ==
dependencies:
- "@commitlint/types" "^18.1.0"
+ "@commitlint/types" "^18.4.3"
chalk "^4.1.0"
-"@commitlint/is-ignored@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.1.0.tgz#f43501fcf853a35d5d1062c63694b2fbb88a72d6"
- integrity sha512-fa1fY93J/Nx2GH6r6WOLdBOiL7x9Uc1N7wcpmaJ1C5Qs6P+rPSUTkofe2IOhSJIJoboHfAH6W0ru4xtK689t0Q==
+"@commitlint/is-ignored@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.4.3.tgz#443e1791af9a13a62299c54f836ad25da42f2663"
+ integrity sha512-ZseOY9UfuAI32h9w342Km4AIaTieeFskm2ZKdrG7r31+c6zGBzuny9KQhwI9puc0J3GkUquEgKJblCl7pMnjwg==
dependencies:
- "@commitlint/types" "^18.1.0"
+ "@commitlint/types" "^18.4.3"
semver "7.5.4"
-"@commitlint/lint@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.1.0.tgz#fb4a93340224e44fff4b5e7fc703d1dac390a32e"
- integrity sha512-LGB3eI5UYu5LLayibNrRM4bSbowr1z9uyqvp0c7+0KaSJi+xHxy/QEhb6fy4bMAtbXEvygY0sUu9HxSWg41rVQ==
+"@commitlint/lint@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.4.3.tgz#1c5a912c2c3785e21d499821c4b70c58ff9a2cfb"
+ integrity sha512-18u3MRgEXNbnYkMOWoncvq6QB8/90m9TbERKgdPqVvS+zQ/MsuRhdvHYCIXGXZxUb0YI4DV2PC4bPneBV/fYuA==
dependencies:
- "@commitlint/is-ignored" "^18.1.0"
- "@commitlint/parse" "^18.1.0"
- "@commitlint/rules" "^18.1.0"
- "@commitlint/types" "^18.1.0"
+ "@commitlint/is-ignored" "^18.4.3"
+ "@commitlint/parse" "^18.4.3"
+ "@commitlint/rules" "^18.4.3"
+ "@commitlint/types" "^18.4.3"
-"@commitlint/load@^18.2.0":
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.2.0.tgz#ca2428c306d0b7f5ae9bac91991efaa359ba0ad6"
- integrity sha512-xjX3d3CRlOALwImhOsmLYZh14/+gW/KxsY7+bPKrzmGuFailf9K7ckhB071oYZVJdACnpY4hDYiosFyOC+MpAA==
+"@commitlint/load@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.4.3.tgz#de156698ddf6e9719ecc49159890834490f61bff"
+ integrity sha512-v6j2WhvRQJrcJaj5D+EyES2WKTxPpxENmNpNG3Ww8MZGik3jWRXtph0QTzia5ZJyPh2ib5aC/6BIDymkUUM58Q==
dependencies:
- "@commitlint/config-validator" "^18.1.0"
- "@commitlint/execute-rule" "^18.1.0"
- "@commitlint/resolve-extends" "^18.1.0"
- "@commitlint/types" "^18.1.0"
+ "@commitlint/config-validator" "^18.4.3"
+ "@commitlint/execute-rule" "^18.4.3"
+ "@commitlint/resolve-extends" "^18.4.3"
+ "@commitlint/types" "^18.4.3"
"@types/node" "^18.11.9"
chalk "^4.1.0"
- cosmiconfig "^8.0.0"
+ cosmiconfig "^8.3.6"
cosmiconfig-typescript-loader "^5.0.0"
lodash.isplainobject "^4.0.6"
lodash.merge "^4.6.2"
lodash.uniq "^4.5.0"
resolve-from "^5.0.0"
-"@commitlint/message@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.1.0.tgz#841f5b3a72922407ca3e3a1668568c2cf22e2cd0"
- integrity sha512-8dT/jJg73wf3o2Mut/fqEDTpBYSIEVtX5PWyuY/0uviEYeheZAczFo/VMIkeGzhJJn1IrcvAwWsvJ1lVGY2I/w==
+"@commitlint/message@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.4.3.tgz#1e0985ae7c751a620f01b2cfe8f0e875354805e2"
+ integrity sha512-ddJ7AztWUIoEMAXoewx45lKEYEOeOlBVWjk8hDMUGpprkuvWULpaXczqdjwVtjrKT3JhhN+gMs8pm5G3vB2how==
-"@commitlint/parse@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.1.0.tgz#d5b019f47f090b0f82931a5ea1d5eeb0fc2a140e"
- integrity sha512-23yv8uBweXWYn8bXk4PjHIsmVA+RkbqPh2h7irupBo2LthVlzMRc4LM6UStasScJ4OlXYYaWOmuP7jcExUF50Q==
+"@commitlint/parse@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.4.3.tgz#f96515b0fa9b7a05dca52be8b214ab50eadfd9c9"
+ integrity sha512-eoH7CXM9L+/Me96KVcfJ27EIIbA5P9sqw3DqjJhRYuhaULIsPHFs5S5GBDCqT0vKZQDx0DgxhMpW6AQbnKrFtA==
dependencies:
- "@commitlint/types" "^18.1.0"
- conventional-changelog-angular "^6.0.0"
+ "@commitlint/types" "^18.4.3"
+ conventional-changelog-angular "^7.0.0"
conventional-commits-parser "^5.0.0"
-"@commitlint/read@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.1.0.tgz#646dc66b0784f864f663b5ad82fabf8789fb41d8"
- integrity sha512-rzfzoKUwxmvYO81tI5o1371Nwt3vhcQR36oTNfupPdU1jgSL3nzBIS3B93LcZh3IYKbCIMyMPN5WZ10BXdeoUg==
+"@commitlint/read@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.4.3.tgz#269fb814bb914bf23c8719690bd01c9ad4a6c09a"
+ integrity sha512-H4HGxaYA6OBCimZAtghL+B+SWu8ep4X7BwgmedmqWZRHxRLcX2q0bWBtUm5FsMbluxbOfrJwOs/Z0ah4roP/GQ==
dependencies:
- "@commitlint/top-level" "^18.1.0"
- "@commitlint/types" "^18.1.0"
+ "@commitlint/top-level" "^18.4.3"
+ "@commitlint/types" "^18.4.3"
fs-extra "^11.0.0"
git-raw-commits "^2.0.11"
minimist "^1.2.6"
-"@commitlint/resolve-extends@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.1.0.tgz#f134b679c3dfdd4006d2d6c9ace36237b7b0ffed"
- integrity sha512-3mZpzOEJkELt7BbaZp6+bofJyxViyObebagFn0A7IHaLARhPkWTivXdjvZHS12nAORftv88Yhbh8eCPKfSvB7g==
+"@commitlint/resolve-extends@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.4.3.tgz#741c42381ea48f4624209bfc0da0a15b5fba75b5"
+ integrity sha512-30sk04LZWf8+SDgJrbJCjM90gTg2LxsD9cykCFeFu+JFHvBFq5ugzp2eO/DJGylAdVaqxej3c7eTSE64hR/lnw==
dependencies:
- "@commitlint/config-validator" "^18.1.0"
- "@commitlint/types" "^18.1.0"
+ "@commitlint/config-validator" "^18.4.3"
+ "@commitlint/types" "^18.4.3"
import-fresh "^3.0.0"
lodash.mergewith "^4.6.2"
resolve-from "^5.0.0"
resolve-global "^1.0.0"
-"@commitlint/rules@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.1.0.tgz#772fe47c5ff78482881f5238b17f129027f06cdb"
- integrity sha512-VJNQ674CRv4znI0DbsjZLVnn647J+BTxHGcrDIsYv7c99gW7TUGeIe5kL80G7l8+5+N0se8v9yn+Prr8xEy6Yw==
+"@commitlint/rules@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.4.3.tgz#2ae1f16ea1ede20e01ca81ad187fdc65ccc9a5f1"
+ integrity sha512-8KIeukDf45BiY+Lul1T0imSNXF0sMrlLG6JpLLKolkmYVQ6PxxoNOriwyZ3UTFFpaVbPy0rcITaV7U9JCAfDTA==
dependencies:
- "@commitlint/ensure" "^18.1.0"
- "@commitlint/message" "^18.1.0"
- "@commitlint/to-lines" "^18.1.0"
- "@commitlint/types" "^18.1.0"
+ "@commitlint/ensure" "^18.4.3"
+ "@commitlint/message" "^18.4.3"
+ "@commitlint/to-lines" "^18.4.3"
+ "@commitlint/types" "^18.4.3"
execa "^5.0.0"
-"@commitlint/to-lines@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-18.1.0.tgz#6dc3784cd49843e05bc5939696aaa0cd2f4b58a1"
- integrity sha512-aHIoSDjG0ckxPLYDpODUeSLbEKmF6Jrs1B5JIssbbE9eemBtXtjm9yzdiAx9ZXcwoHlhbTp2fbndDb3YjlvJag==
+"@commitlint/to-lines@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-18.4.3.tgz#b6cac1eff3d93f0791791a9f8db7b13c6136a350"
+ integrity sha512-fy1TAleik4Zfru1RJ8ZU6cOSvgSVhUellxd3WZV1D5RwHZETt1sZdcA4mQN2y3VcIZsUNKkW0Mq8CM9/L9harQ==
-"@commitlint/top-level@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-18.1.0.tgz#ddbfa15baecac424f3d64bf0a29eed9ac4e48eb1"
- integrity sha512-1/USHlolIxJlsfLKecSXH+6PDojIvnzaJGPYwF7MtnTuuXCNQ4izkeqDsRuNMe9nU2VIKpK9OT8Q412kGNmgGw==
+"@commitlint/top-level@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-18.4.3.tgz#f4c6fb8ab98de9240c3ed3e4b330d8c50a0fee3a"
+ integrity sha512-E6fJPBLPFL5R8+XUNSYkj4HekIOuGMyJo3mIx2PkYc3clel+pcWQ7TConqXxNWW4x1ugigiIY2RGot55qUq1hw==
dependencies:
find-up "^5.0.0"
-"@commitlint/types@^18.1.0":
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.1.0.tgz#7d0d0227ee28b5bacbafa648601ee51e8604f03e"
- integrity sha512-65vGxZmbs+2OVwEItxhp3Ul7X2m2LyLfifYI/NdPwRqblmuES2w2aIRhIjb7cwUIBHHSTT8WXj4ixVHQibmvLQ==
+"@commitlint/types@^18.4.3":
+ version "18.4.3"
+ resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.4.3.tgz#bb50de49330ddff2adcc8ccabb840c8e660336b3"
+ integrity sha512-cvzx+vtY/I2hVBZHCLrpoh+sA0hfuzHwDc+BAFPimYLjJkpHnghQM+z8W/KyLGkygJh3BtI3xXXq+dKjnSWEmA==
dependencies:
chalk "^4.1.0"
+"@cspotcode/source-map-support@^0.8.0":
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
+ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
+ dependencies:
+ "@jridgewell/trace-mapping" "0.3.9"
+
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -1337,10 +1352,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.53.0":
- version "8.53.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.53.0.tgz#bea56f2ed2b5baea164348ff4d5a879f6f81f20d"
- integrity sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==
+"@eslint/js@8.54.0":
+ version "8.54.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf"
+ integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==
"@hapi/hoek@^9.0.0":
version "9.3.0"
@@ -1619,7 +1634,7 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/resolve-uri@^3.1.0":
+"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0":
version "3.1.1"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
@@ -1642,6 +1657,14 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+"@jridgewell/trace-mapping@0.3.9":
+ version "0.3.9"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
+ integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.20"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
@@ -1979,15 +2002,44 @@
dependencies:
"@sinonjs/commons" "^3.0.0"
+"@testing-library/react-native@^12.4.1":
+ version "12.4.1"
+ resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-12.4.1.tgz#f15d0b6727e5e1af8bc35049aa95ce24b4420fe7"
+ integrity sha512-HDHwGTJwBB9//Flv0HhApghFsUYZvaKTemXOs9PCMk6P8mUl4IJby8zAud8rq7bT/ZMnehgIak8QK+mJCH6+5Q==
+ dependencies:
+ jest-matcher-utils "^29.7.0"
+ pretty-format "^29.7.0"
+ redent "^3.0.0"
+
+"@tsconfig/node10@^1.0.7":
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
+ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
+
+"@tsconfig/node12@^1.0.7":
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
+ integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
+
+"@tsconfig/node14@^1.0.0":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
+ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
+
+"@tsconfig/node16@^1.0.2":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
+ integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
+
"@tsconfig/react-native@^3.0.0":
version "3.0.2"
resolved "https://registry.yarnpkg.com/@tsconfig/react-native/-/react-native-3.0.2.tgz#f7db242eee4820f5a3d0edcc86c920bb7d9ec0f2"
integrity sha512-F7IoHEqf741lut4Z2K+IkWQRvXAhBiZMeY5L7BysG7Z2Z3MlIyFR+AagD8jQ/CqC1vowGnRwfLjeuwIpaeoJxA==
"@types/babel__core@^7.1.14":
- version "7.20.4"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.4.tgz#26a87347e6c6f753b3668398e34496d6d9ac6ac0"
- integrity sha512-mLnSC22IC4vcWiuObSRjrLd9XcBTGf59vUSoq2jkQDJ/QQ8PMI9rSuzE+aEV8karUMbskw07bKYoUJCKTUaygg==
+ version "7.20.5"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
+ integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
dependencies:
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
@@ -2043,6 +2095,14 @@
dependencies:
"@types/istanbul-lib-report" "*"
+"@types/jest@^29.5.8":
+ version "29.5.10"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.10.tgz#a10fc5bab9e426081c12b2ef73d24d4f0c9b7f50"
+ integrity sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==
+ dependencies:
+ expect "^29.0.0"
+ pretty-format "^29.0.0"
+
"@types/json-schema@^7.0.9":
version "7.0.15"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
@@ -2054,16 +2114,23 @@
integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==
"@types/node@*":
- version "20.9.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.0.tgz#bfcdc230583aeb891cf51e73cfdaacdd8deae298"
- integrity sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==
+ version "20.10.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.0.tgz#16ddf9c0a72b832ec4fcce35b8249cf149214617"
+ integrity sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==
dependencies:
undici-types "~5.26.4"
"@types/node@^18.11.9":
- version "18.18.9"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.9.tgz#5527ea1832db3bba8eb8023ce8497b7d3f299592"
- integrity sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==
+ version "18.18.13"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.13.tgz#ae0f76c0bfe79d8fad0f910b78ae3e59b333c6e8"
+ integrity sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==
+ dependencies:
+ undici-types "~5.26.4"
+
+"@types/node@^20.10.3":
+ version "20.10.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.3.tgz#4900adcc7fc189d5af5bb41da8f543cea6962030"
+ integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==
dependencies:
undici-types "~5.26.4"
@@ -2073,35 +2140,50 @@
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
"@types/prop-types@*":
- version "15.7.10"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.10.tgz#892afc9332c4d62a5ea7e897fe48ed2085bbb08a"
- integrity sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==
+ version "15.7.11"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563"
+ integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==
+
+"@types/react-native-vector-icons@^6.4.17":
+ version "6.4.18"
+ resolved "https://registry.yarnpkg.com/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.18.tgz#18671c617b9d0958747bc959903470dde91a8c79"
+ integrity sha512-YGlNWb+k5laTBHd7+uZowB9DpIK3SXUneZqAiKQaj1jnJCZM0x71GDim5JCTMi4IFkhc9m8H/Gm28T5BjyivUw==
+ dependencies:
+ "@types/react" "*"
+ "@types/react-native" "^0.70"
+
+"@types/react-native@^0.70":
+ version "0.70.18"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.18.tgz#b4080f22995f61491c7404196f6e5379869591d2"
+ integrity sha512-M06e2opOY8PyLVfVSWd70X2yrIDZrgiOw677HsOrI/fT27aqvKGuFE44tDUBLEvQ8XEPC+T5pW2h5Az6gX7hdA==
+ dependencies:
+ "@types/react" "*"
"@types/react-test-renderer@^18.0.0":
- version "18.0.6"
- resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.6.tgz#1db32c09d3931a7f4ed7f31612f6cccb2910d28f"
- integrity sha512-O2JT1J3/v/NaYHYmPf2DXBSqUGmp6iwhFPicES6Pc1Y90B9Qgu99mmaBGqfZFpVuXLzF/pNJB4K9ySL3iqFeXA==
+ version "18.0.7"
+ resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.7.tgz#2cfe657adb3688cdf543995eceb2e062b5a68728"
+ integrity sha512-1+ANPOWc6rB3IkSnElhjv6VLlKg2dSv/OWClUyZimbLsQyBn8Js9Vtdsi3UICJ2rIQ3k2la06dkB+C92QfhKmg==
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@^18.0.24":
- version "18.2.37"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.37.tgz#0f03af69e463c0f19a356c2660dbca5d19c44cae"
- integrity sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==
+ version "18.2.38"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.38.tgz#3605ca41d3daff2c434e0b98d79a2469d4c2dd52"
+ integrity sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/scheduler@*":
- version "0.16.6"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.6.tgz#eb26db6780c513de59bee0b869ef289ad3068711"
- integrity sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==
+ version "0.16.8"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff"
+ integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==
"@types/semver@^7.3.12":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.5.tgz#deed5ab7019756c9c90ea86139106b0346223f35"
- integrity sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==
+ version "7.5.6"
+ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339"
+ integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
"@types/stack-utils@^2.0.0":
version "2.0.3"
@@ -2114,23 +2196,23 @@
integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==
"@types/yargs@^15.0.0":
- version "15.0.18"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.18.tgz#b7dda4339f4dde367ffe99650e18967108cea321"
- integrity sha512-DDi2KmvAnNsT/EvU8jp1UR7pOJojBtJ3GLZ/uw1MUq4VbbESppPWoHUY4h0OB4BbEbGJiyEsmUcuZDZtoR+ZwQ==
+ version "15.0.19"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9"
+ integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==
dependencies:
"@types/yargs-parser" "*"
"@types/yargs@^16.0.0":
- version "16.0.8"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.8.tgz#0d57a5a491d85ae75d372a32e657b1779b86c65d"
- integrity sha512-1GwLEkmFafeb/HbE6pC7tFlgYSQ4Iqh2qlWCq8xN+Qfaiaxr2PcLfuhfRFRYqI6XJyeFoLYyKnhFbNsst9FMtQ==
+ version "16.0.9"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e"
+ integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==
dependencies:
"@types/yargs-parser" "*"
"@types/yargs@^17.0.8":
- version "17.0.31"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.31.tgz#8fd0089803fd55d8a285895a18b88cb71a99683c"
- integrity sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==
+ version "17.0.32"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229"
+ integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==
dependencies:
"@types/yargs-parser" "*"
@@ -2251,7 +2333,12 @@ acorn-jsx@^5.3.2:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-acorn@^8.8.2, acorn@^8.9.0:
+acorn-walk@^8.1.1:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f"
+ integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==
+
+acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.11.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
@@ -2339,6 +2426,11 @@ appdirsjs@^1.2.4:
resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3"
integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -2463,11 +2555,33 @@ asynciterator.prototype@^1.0.0:
dependencies:
has-symbols "^1.0.3"
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
available-typed-arrays@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+axios-mock-adapter@^1.22.0:
+ version "1.22.0"
+ resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz#0f3e6be0fc9b55baab06f2d49c0b71157e7c053d"
+ integrity sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ is-buffer "^2.0.5"
+
+axios@^1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
+ integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
+ dependencies:
+ follow-redirects "^1.15.0"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
babel-core@^7.0.0-bridge.0:
version "7.0.0-bridge.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
@@ -2724,9 +2838,9 @@ camelcase@^6.2.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001541:
- version "1.0.30001561"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da"
- integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==
+ version "1.0.30001564"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz#eaa8bbc58c0cbccdcb7b41186df39dd2ba591889"
+ integrity sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==
chalk@^2.4.2:
version "2.4.2"
@@ -2773,9 +2887,9 @@ cli-cursor@^3.1.0:
restore-cursor "^3.1.0"
cli-spinners@^2.5.0:
- version "2.9.1"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35"
- integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41"
+ integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
cliui@^6.0.0:
version "6.0.0"
@@ -2786,6 +2900,15 @@ cliui@^6.0.0:
strip-ansi "^6.0.0"
wrap-ansi "^6.2.0"
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
cliui@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
@@ -2848,6 +2971,13 @@ colorette@^1.0.7:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
command-exists@^1.2.8:
version "1.2.9"
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
@@ -2916,10 +3046,10 @@ connect@^3.6.5:
parseurl "~1.3.3"
utils-merge "1.0.1"
-conventional-changelog-angular@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz#a9a9494c28b7165889144fd5b91573c4aa9ca541"
- integrity sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==
+conventional-changelog-angular@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a"
+ integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==
dependencies:
compare-func "^2.0.0"
@@ -2946,9 +3076,9 @@ convert-source-map@^2.0.0:
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
core-js-compat@^3.31.0, core-js-compat@^3.33.1:
- version "3.33.2"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.2.tgz#3ea4563bfd015ad4e4b52442865b02c62aba5085"
- integrity sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==
+ version "3.33.3"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.3.tgz#ec678b772c5a2d8a7c60a91c3a81869aa704ae01"
+ integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==
dependencies:
browserslist "^4.22.1"
@@ -2974,7 +3104,7 @@ cosmiconfig@^5.0.5, cosmiconfig@^5.1.0:
js-yaml "^3.13.1"
parse-json "^4.0.0"
-cosmiconfig@^8.0.0:
+cosmiconfig@^8.3.6:
version "8.3.6"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
@@ -2997,6 +3127,11 @@ create-jest@^29.7.0:
jest-util "^29.7.0"
prompts "^2.0.1"
+create-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -3088,6 +3223,11 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, de
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
denodeify@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631"
@@ -3122,6 +3262,11 @@ diff-sequences@^29.6.3:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921"
integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
+diff@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -3156,9 +3301,9 @@ ee-first@1.1.1:
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
electron-to-chromium@^1.4.535:
- version "1.4.578"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.578.tgz#7a3510f333bcd55e87882799ebeb7518d6ab4d95"
- integrity sha512-V0ZhSu1BQZKfG0yNEL6Dadzik8E1vAzfpVOapdSiT9F6yapEJ3Bk+4tZ4SMPdWiUchCgnM/ByYtBzp5ntzDMIA==
+ version "1.4.594"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.594.tgz#f69f207fba80735a44a988df42f3f439115d0515"
+ integrity sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==
emittery@^0.13.1:
version "0.13.1"
@@ -3418,14 +3563,14 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@^8.19.0:
- version "8.53.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce"
- integrity sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==
+ version "8.54.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537"
+ integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@eslint-community/regexpp" "^4.6.1"
"@eslint/eslintrc" "^2.1.3"
- "@eslint/js" "8.53.0"
+ "@eslint/js" "8.54.0"
"@humanwhocodes/config-array" "^0.11.13"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
@@ -3534,7 +3679,7 @@ exit@^0.1.2:
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
-expect@^29.7.0:
+expect@^29.0.0, expect@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc"
integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
@@ -3657,9 +3802,9 @@ find-up@^5.0.0:
path-exists "^4.0.0"
flat-cache@^3.0.4:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b"
- integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
+ integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
dependencies:
flatted "^3.2.9"
keyv "^4.5.3"
@@ -3676,15 +3821,20 @@ flow-enums-runtime@^0.0.5:
integrity sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==
flow-parser@0.*:
- version "0.220.1"
- resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.220.1.tgz#8302ef224e2efb549cccb69fcfb8fb8fb2346668"
- integrity sha512-RoM3ARqVYvxnwtkM36RjQFzo5Z9p22jUqtuMrN8gzA/8fU6iMLFE3cXkdSFPyfHRXLU8ILH8TCtSFADk1ACPCg==
+ version "0.222.0"
+ resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.222.0.tgz#88decc0e35bc11c011af66dbc2f669589d69a6b2"
+ integrity sha512-Fq5OkFlFRSMV2EOZW+4qUYMTE0uj8pcLsYJMxXYriSBDpHAF7Ofx3PibCTy3cs5P6vbsry7eYj7Z7xFD49GIOQ==
flow-parser@^0.206.0:
version "0.206.0"
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef"
integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==
+follow-redirects@^1.15.0:
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
+ integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
+
for-each@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@@ -3692,6 +3842,15 @@ for-each@^0.3.3:
dependencies:
is-callable "^1.1.3"
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
@@ -3989,9 +4148,9 @@ ieee754@^1.1.13:
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ignore@^5.0.5, ignore@^5.2.0:
- version "5.2.4"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
- integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
+ integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
image-size@^1.0.2:
version "1.0.2"
@@ -4109,6 +4268,11 @@ is-boolean-object@^1.1.0:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
+is-buffer@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
+ integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+
is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
@@ -4327,9 +4491,9 @@ isobject@^3.0.1:
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.1.tgz#c680fd1544600460367af5811866c34c44c6f3b1"
- integrity sha512-opCrKqbthmq3SKZ10mFMQG9dk3fTa3quaOLD35kJa5ejwZHd9xAr+kLuziiZz2cG32s4lMZxNdmdcEQnTDP4+g==
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756"
+ integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
istanbul-lib-instrument@^5.0.4:
version "5.2.1"
@@ -5096,6 +5260,11 @@ make-dir@^4.0.0:
dependencies:
semver "^7.5.3"
+make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
makeerror@1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
@@ -5429,7 +5598,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.27, mime-types@~2.1.34:
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
@@ -5484,6 +5653,11 @@ mkdirp@^0.5.1:
dependencies:
minimist "^1.2.6"
+moment@^2.29.4:
+ version "2.29.4"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
+ integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -5888,7 +6062,7 @@ pretty-format@^26.5.2, pretty-format@^26.6.2:
ansi-styles "^4.0.0"
react-is "^17.0.1"
-pretty-format@^29.7.0:
+pretty-format@^29.0.0, pretty-format@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812"
integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
@@ -5917,7 +6091,7 @@ prompts@^2.0.1, prompts@^2.4.0:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@*, prop-types@^15.8.1:
+prop-types@*, prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -5926,6 +6100,11 @@ prop-types@*, prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
punycode@^2.1.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
@@ -5981,6 +6160,19 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+react-native-device-info@^10.11.0:
+ version "10.11.0"
+ resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-10.11.0.tgz#2c9f378f1c3c5eb9aafa803d015b84325991a9aa"
+ integrity sha512-qRzhuYOm5ZXQi5dhfJFjDq157oipxcEW/fo0QyMm5+TI6V6/+P/tju+Hif6z0rpLCf7MV7iDVRv2Kqha4D/yvQ==
+
+react-native-vector-icons@^10.0.2:
+ version "10.0.2"
+ resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-10.0.2.tgz#44724e0787fb13899efce3510698d1ff69aceefb"
+ integrity sha512-ZwhUkJhIMkGL3cW7IT4sEEHu2AOzerqsRQ73UzXsB+ecBpVK5bRmp0XswiQleZKZalZfs/WIfWLXLfTQHcQo6A==
+ dependencies:
+ prop-types "^15.7.2"
+ yargs "^16.1.1"
+
react-native@0.72.6:
version "0.72.6"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.72.6.tgz#9f8d090694907e2f83af22e115cc0e4a3d5fa626"
@@ -6812,12 +7004,31 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
+ts-node@^10.9.1:
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
+ integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
+ dependencies:
+ "@cspotcode/source-map-support" "^0.8.0"
+ "@tsconfig/node10" "^1.0.7"
+ "@tsconfig/node12" "^1.0.7"
+ "@tsconfig/node14" "^1.0.0"
+ "@tsconfig/node16" "^1.0.2"
+ acorn "^8.4.1"
+ acorn-walk "^8.1.1"
+ arg "^4.1.0"
+ create-require "^1.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ v8-compile-cache-lib "^3.0.1"
+ yn "3.1.1"
+
tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.1:
+tslib@^2.0.1, tslib@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
@@ -7006,10 +7217,15 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+v8-compile-cache-lib@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
+ integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
+
v8-to-istanbul@^9.0.1:
- version "9.1.3"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b"
- integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad"
+ integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==
dependencies:
"@jridgewell/trace-mapping" "^0.3.12"
"@types/istanbul-lib-coverage" "^2.0.1"
@@ -7217,7 +7433,7 @@ yargs-parser@^18.1.2:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^20.2.3:
+yargs-parser@^20.2.2, yargs-parser@^20.2.3:
version "20.2.9"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
@@ -7244,6 +7460,19 @@ yargs@^15.1.0:
y18n "^4.0.0"
yargs-parser "^18.1.2"
+yargs@^16.1.1:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
+ integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.0"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
+
yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2:
version "17.7.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
@@ -7257,6 +7486,11 @@ yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2:
y18n "^5.0.5"
yargs-parser "^21.1.1"
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"