diff --git a/.eslintrc.js b/.eslintrc.js index 5e523f5..0e18db3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -36,7 +36,11 @@ module.exports = { { extensions: ['.js', '.jsx', '.ts', '.tsx'] } ], 'class-methods-use-this': 'off', - 'import/prefer-default-export': 'off' + 'import/prefer-default-export': 'off', + 'no-param-reassign': 'off', + 'prefer-arrow-callback': 'off', + 'react/prop-types': 'off', + 'react/jsx-props-no-spreading': 'off' }, globals: { __DEV__: true diff --git a/.github/workflows/check-build-deploy-to-test-users.yml b/.github/workflows/check-build-deploy-to-test-users.yml index 7e2f68e..d9b4349 100644 --- a/.github/workflows/check-build-deploy-to-test-users.yml +++ b/.github/workflows/check-build-deploy-to-test-users.yml @@ -46,6 +46,12 @@ jobs: rm -rf Gemfile.lock gem install bundler -v 2.4.22 bundle install + - name: Update .netrc + run: | + touch .netrc + echo $NETRC >> .netrc + env: + NETRC: ${{ secrets.NETRC }} - name: Install Pods run: | cd ios diff --git a/App.tsx b/App.tsx index c3611ab..ab44081 100644 --- a/App.tsx +++ b/App.tsx @@ -1,13 +1,22 @@ +import { GestureHandlerRootView } from 'react-native-gesture-handler'; + import React, { ReactElement } from 'react'; +import { Provider } from 'react-redux'; +import { store } from '@state/store'; import { MainRouterNavigation } from './app/navigation/MainRouter.tsx'; /** * This is main app point - * r * @constructor */ function App(): ReactElement { - return ; + return ( + + + + + + ); } export default App; diff --git a/app/http/WeatherApi.ts b/app/http/WeatherApi.ts index 33f816d..5002c94 100644 --- a/app/http/WeatherApi.ts +++ b/app/http/WeatherApi.ts @@ -1,20 +1,26 @@ -import weatherApiBase from './weatherApiBase.ts'; -import { WeatherResponse } from './types.ts'; +import weatherApiBase from '@http/weatherApiBase.ts'; +import { WeatherResponse } from '@http/types.ts'; class WeatherApi { - findCitiesWeatherInRadiusByLatLng( - lat: number, - lon: number, - numberOfCities: number, - radiusInKm: number - ) { + findCitiesWeatherInRadiusByLatLng({ + lat, + lon, + numberOfCities, + radiusInKm + }: { + lat: number; + lon: number; + numberOfCities: number; + radiusInKm: number; + }) { return weatherApiBase.get('data/2.5/find', { params: { lat, lon, cnt: numberOfCities, radius: radiusInKm, - cluster: 'yes' + cluster: 'yes', + units: 'metric' } }); } diff --git a/app/navigation/MainRouter.tsx b/app/navigation/MainRouter.tsx index 1ce751e..3d47e92 100644 --- a/app/navigation/MainRouter.tsx +++ b/app/navigation/MainRouter.tsx @@ -1,26 +1,36 @@ import { createNativeStackNavigator } from '@react-navigation/native-stack'; -import { createStaticNavigation } from '@react-navigation/native'; +import { + createStaticNavigation, + StaticParamList +} from '@react-navigation/native'; import { MapCityListScreen } from '@screens/MapCityListScreen/MapCityListScreen.tsx'; import { WeatherDetailsScreen } from '@screens/WeatherDetailsScreen/WeatherDetailsScreen.tsx'; - -/** - * Add here types for the screens that are passed by navigation - */ -type RootStackParamList = { - MapCityList: {}; - WeatherDetails: {}; -}; +import { RootStackParamList, RouteNames } from '@navigation/types.ts'; const RootStack = createNativeStackNavigator({ screens: { - MapCityList: { + [RouteNames.MapCityList]: { screen: MapCityListScreen, options: { headerShown: false } }, - WeatherDetails: WeatherDetailsScreen + [RouteNames.WeatherDetails]: WeatherDetailsScreen } }); +type RootStackStaticParamList = StaticParamList; + +/** + * Override static props for navigation purposes + * useNavigation use it for checking possible routes + */ +declare global { + // eslint-disable-next-line no-unused-vars + namespace ReactNavigation { + // eslint-disable-next-line no-unused-vars + interface RootParamList extends RootStackStaticParamList {} + } +} + export const MainRouterNavigation = createStaticNavigation(RootStack); diff --git a/app/navigation/types.ts b/app/navigation/types.ts new file mode 100644 index 0000000..02c75c0 --- /dev/null +++ b/app/navigation/types.ts @@ -0,0 +1,16 @@ +/** + * Vars are used but airbnb config doesnt respect ts - TODO: tweak/fix eslint plugins + */ +export enum RouteNames { + // eslint-disable-next-line no-unused-vars + MapCityList = 'MapCityList', + // eslint-disable-next-line no-unused-vars + WeatherDetails = 'WeatherDetails' +} +/** + * Add here types for the screens that are passed by navigation + */ +export type RootStackParamList = { + [RouteNames.MapCityList]: {}; + [RouteNames.WeatherDetails]: {}; +}; diff --git a/app/screens/MapCityListScreen/MapCityListScreen.tsx b/app/screens/MapCityListScreen/MapCityListScreen.tsx index e9d3fd8..978a0f8 100644 --- a/app/screens/MapCityListScreen/MapCityListScreen.tsx +++ b/app/screens/MapCityListScreen/MapCityListScreen.tsx @@ -1,10 +1,47 @@ -import React from 'react'; -import { View, Text } from 'react-native'; +import React, { useCallback, useEffect, useRef } from 'react'; +import { MapView, Camera } from '@rnmapbox/maps'; + +import { useAppDispatch } from '@state/hooks.ts'; +import { fetchCitiesWeatherInRadiusByLatLngThunk } from '@state/features/weatherCityList/weatherCityListThunks.ts'; +import { mapCityListScreenStyles } from '@screens/MapCityListScreen/mapCityListScreenStyles.ts'; +import { MapCityListBottomSheet } from '@screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListBottomSheet.tsx'; +import { + FallbackBounds, + FallbackLatLng +} from '@screens/MapCityListScreen/constants.ts'; export function MapCityListScreen() { + const cameraRef = useRef(null); + const dispatch = useAppDispatch(); + const isCameraInit = useRef(false); + + useEffect(function onInit() { + dispatch( + fetchCitiesWeatherInRadiusByLatLngThunk({ + lat: FallbackLatLng.lat, + lon: FallbackLatLng.lng, + numberOfCities: 20, + radiusInKm: 20 + }) + ); + }, []); + + const onCameraChanged = useCallback(() => { + if (isCameraInit.current) { + return; + } + + isCameraInit.current = true; + cameraRef.current?.fitBounds(FallbackBounds.ne, FallbackBounds.sw, 20, 10); + }, []); + return ( - - Konichiwa I am Map City List screen - + + + + ); } diff --git a/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListBottomSheet.tsx b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListBottomSheet.tsx new file mode 100644 index 0000000..5cd5ebc --- /dev/null +++ b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListBottomSheet.tsx @@ -0,0 +1,27 @@ +import React, { useCallback } from 'react'; +import BottomSheet, { BottomSheetView } from '@gorhom/bottom-sheet'; +import { FlatList } from 'react-native-gesture-handler'; + +import { mapCityListScreenStyles } from '@screens/MapCityListScreen/mapCityListScreenStyles.ts'; +import { useAppSelector } from '@state/hooks.ts'; +import { weatherCityListSelector } from '@state/features/weatherCityList/weatherCityListSelectors.ts'; +import { MapCityListItem } from '@screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/MapCityListItem.tsx'; +import type { ListRenderItem } from '@react-native/virtualized-lists'; +import { WeatherItem } from '@http/types.ts'; + +export function MapCityListBottomSheet() { + const cities = useAppSelector(weatherCityListSelector); + + const renderItem: ListRenderItem = useCallback( + ({ ...info }) => , + [] + ); + + return ( + + + + + + ); +} diff --git a/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/MapCityListItem.tsx b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/MapCityListItem.tsx new file mode 100644 index 0000000..f3e2d60 --- /dev/null +++ b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/MapCityListItem.tsx @@ -0,0 +1,46 @@ +import React, { useCallback } from 'react'; +import { Image, Text, View, ListRenderItemInfo } from 'react-native'; +import { TouchableOpacity } from 'react-native-gesture-handler'; + +import { WeatherItem } from '@http/types.ts'; +import { mapCityListItemStyles } from '@screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/mapCityListItemStyles.ts'; +import { getWeatherIconUri } from '@screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/utils/getWeatherIconUri.ts'; +import { useNavigation } from '@react-navigation/native'; +import { RouteNames } from '@navigation/types.ts'; + +export function MapCityListItem({ + item +}: ListRenderItemInfo): React.ReactElement { + const { navigate } = useNavigation(); + const { + name, + main: { temp }, + weather: [{ main: weatherType, icon }] + } = item; + + const source = { uri: getWeatherIconUri(icon) }; + + const onItemPress = useCallback(() => { + navigate(RouteNames.WeatherDetails); + }, []); + + return ( + + + + {name} + {weatherType} + + + {temp}°C + + + ); +} diff --git a/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/mapCityListItemStyles.ts b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/mapCityListItemStyles.ts new file mode 100644 index 0000000..4f01075 --- /dev/null +++ b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/mapCityListItemStyles.ts @@ -0,0 +1,35 @@ +import { StyleSheet } from 'react-native'; + +export const mapCityListItemStyles = StyleSheet.create({ + container: { + height: 60, + width: '100%', + flexDirection: 'row', + paddingBottom: 6, + borderBottomWidth: 1, + borderColor: 'grey' + }, + image: { width: 60, height: 60, marginRight: 8 }, + name: { + fontSize: 25 + }, + weatherType: { + fontSize: 18 + }, + tempContainer: { + backgroundColor: 'lightblue', + height: 40, + borderRadius: 20, + paddingHorizontal: 12, + marginLeft: 'auto', + marginRight: 12, + justifyContent: 'center', + alignSelf: 'center' + }, + temp: { + fontSize: 20, + color: 'white', + fontWeight: 'bold', + textAlign: 'center' + } +}); diff --git a/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/utils/getWeatherIconUri.ts b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/utils/getWeatherIconUri.ts new file mode 100644 index 0000000..1757a47 --- /dev/null +++ b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/MapCityListItem/utils/getWeatherIconUri.ts @@ -0,0 +1,6 @@ +/** + * return full uri of weatherApi icon + * @param iconName - name of icon from weatherApi + */ +export const getWeatherIconUri = (iconName: string) => + `https://openweathermap.org/img/w/${iconName}.png`; diff --git a/app/screens/MapCityListScreen/components/MapCityListBottomSheet/mapCityListBottomSheetStyles.ts b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/mapCityListBottomSheetStyles.ts new file mode 100644 index 0000000..b34db47 --- /dev/null +++ b/app/screens/MapCityListScreen/components/MapCityListBottomSheet/mapCityListBottomSheetStyles.ts @@ -0,0 +1,7 @@ +import { StyleSheet } from 'react-native'; + +export const mapCityListBottomSheetStyles = StyleSheet.create({ + container: { + flex: 1 + } +}); diff --git a/app/screens/MapCityListScreen/constants.ts b/app/screens/MapCityListScreen/constants.ts new file mode 100644 index 0000000..00bcdb6 --- /dev/null +++ b/app/screens/MapCityListScreen/constants.ts @@ -0,0 +1,27 @@ +import { getCenter } from 'geolib'; + +import { latLngTupleToObject } from '@utils/latLngTupleToObject.ts'; + +// [LNG, LAT] +export const FallbackBounds: { + ne: [number, number]; + sw: [number, number]; +} = { + ne: [14.156001300148233, 53.96161914863009], + sw: [22.892223645326283, 49.05142736914263] +}; + +const centerOfBounds = getCenter([ + latLngTupleToObject(FallbackBounds.ne), + latLngTupleToObject(FallbackBounds.sw) +]); + +export const FallbackLatLng = { + lng: 0, + lat: 0 +}; + +if (centerOfBounds) { + FallbackLatLng.lng = centerOfBounds.longitude; + FallbackLatLng.lat = centerOfBounds.latitude; +} diff --git a/app/screens/MapCityListScreen/mapCityListScreenStyles.ts b/app/screens/MapCityListScreen/mapCityListScreenStyles.ts new file mode 100644 index 0000000..0ad2e6b --- /dev/null +++ b/app/screens/MapCityListScreen/mapCityListScreenStyles.ts @@ -0,0 +1,17 @@ +import { StyleSheet } from 'react-native'; + +export const mapCityListScreenStyles = StyleSheet.create({ + map: { + flex: 1 + }, + container: { + flex: 1, + backgroundColor: 'grey' + }, + contentContainer: { + flex: 1, + paddingHorizontal: 4, + paddingTop: 4, + paddingBottom: 36 + } +}); diff --git a/app/state/features/weatherCityList/weatherCityListSelectors.ts b/app/state/features/weatherCityList/weatherCityListSelectors.ts new file mode 100644 index 0000000..12845c6 --- /dev/null +++ b/app/state/features/weatherCityList/weatherCityListSelectors.ts @@ -0,0 +1,23 @@ +import { weatherCityListAdapter } from '@state/features/weatherCityList/weatherCityListSlice.ts'; +import { RootState } from '@state/store.ts'; +import { createSelector } from '@reduxjs/toolkit'; + +/** + * return entity selectors + */ +export const weatherCityListEntitySelectors = + weatherCityListAdapter.getSelectors( + (state) => state.weatherCityList + ); + +/** + * list of entities instead of object + * WeatherItem[] + */ +export const weatherCityListSelector = createSelector( + [ + weatherCityListEntitySelectors.selectIds, + weatherCityListEntitySelectors.selectEntities + ], + (allIds, entities) => allIds.map((id) => entities[id]) +); diff --git a/app/state/features/weatherCityList/weatherCityListSlice.ts b/app/state/features/weatherCityList/weatherCityListSlice.ts new file mode 100644 index 0000000..6bd860b --- /dev/null +++ b/app/state/features/weatherCityList/weatherCityListSlice.ts @@ -0,0 +1,34 @@ +import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; +import { WeatherItem } from '@http/types.ts'; +import { fetchCitiesWeatherInRadiusByLatLngThunk } from '@state/features/weatherCityList/weatherCityListThunks.ts'; + +export interface WeatherCityListSliceState { + entities: Record; + isLoading: boolean; +} + +export const weatherCityListAdapter = createEntityAdapter({ + selectId: (item: WeatherItem) => item.id, + sortComparer: (a: WeatherItem, b: WeatherItem) => + a.name.toLowerCase().localeCompare(b.name.toLowerCase()) +}); + +const weatherCityListSlice = createSlice({ + name: 'weatherCityList', + initialState: + weatherCityListAdapter.getInitialState({ + isLoading: false, + entities: {} + }), + reducers: {}, + extraReducers: (builder) => { + builder.addCase( + fetchCitiesWeatherInRadiusByLatLngThunk.fulfilled, + (state, action) => { + weatherCityListAdapter.addMany(state, action.payload.list); + } + ); + } +}); + +export const weatherCityListReducer = weatherCityListSlice.reducer; diff --git a/app/state/features/weatherCityList/weatherCityListThunks.ts b/app/state/features/weatherCityList/weatherCityListThunks.ts new file mode 100644 index 0000000..e5dc15b --- /dev/null +++ b/app/state/features/weatherCityList/weatherCityListThunks.ts @@ -0,0 +1,15 @@ +import { createAsyncThunk } from '@reduxjs/toolkit'; +import WeatherApi from '@http/WeatherApi.ts'; + +type FetchCitiesInRadiusByLatLngProps = Parameters< + typeof WeatherApi.findCitiesWeatherInRadiusByLatLng +>[0]; + +export const fetchCitiesWeatherInRadiusByLatLngThunk = createAsyncThunk( + 'weatherCityList/fetchCitiesInRadiusByLatLng', + async (args: FetchCitiesInRadiusByLatLngProps) => { + const response = await WeatherApi.findCitiesWeatherInRadiusByLatLng(args); + + return response.data; + } +); diff --git a/app/state/hooks.ts b/app/state/hooks.ts new file mode 100644 index 0000000..a4f0a98 --- /dev/null +++ b/app/state/hooks.ts @@ -0,0 +1,5 @@ +import { useDispatch, useSelector } from 'react-redux'; +import { AppDispatch, RootState } from '@state/store.ts'; + +export const useAppDispatch = useDispatch.withTypes(); +export const useAppSelector = useSelector.withTypes(); diff --git a/app/state/store.ts b/app/state/store.ts new file mode 100644 index 0000000..f3fda9c --- /dev/null +++ b/app/state/store.ts @@ -0,0 +1,11 @@ +import { configureStore } from '@reduxjs/toolkit'; +import { weatherCityListReducer } from '@state/features/weatherCityList/weatherCityListSlice.ts'; + +export const store = configureStore({ + reducer: { + weatherCityList: weatherCityListReducer + } +}); + +export type RootState = ReturnType; +export type AppDispatch = typeof store.dispatch; diff --git a/app/types/env.d.ts b/app/types/env.d.ts index 2e4816e..f9047c4 100644 --- a/app/types/env.d.ts +++ b/app/types/env.d.ts @@ -1,3 +1,4 @@ declare module 'react-native-dotenv' { export const OPEN_WEATHER_MAP_API_KEY: string; + export const MAPBOX_API_KEY: string; } diff --git a/app/utils/SimpleXMLDebugger.ts b/app/utils/SimpleXMLDebugger.ts index eb7c9c0..de8383a 100644 --- a/app/utils/SimpleXMLDebugger.ts +++ b/app/utils/SimpleXMLDebugger.ts @@ -6,6 +6,7 @@ export class SimpleXMLDebugger extends XMLHttpRequest { user?: string | null, password?: string | null ) { + // eslint-disable-next-line no-console console.log( `method: ${method}\n url: ${url}\n async: ${async}\n user: ${user}\n password: ${password}\n` ); diff --git a/app/utils/latLngTupleToObject.ts b/app/utils/latLngTupleToObject.ts new file mode 100644 index 0000000..ad2220c --- /dev/null +++ b/app/utils/latLngTupleToObject.ts @@ -0,0 +1,4 @@ +export const latLngTupleToObject = ([lng, lat]: [number, number]) => ({ + lng, + lat +}); diff --git a/app/utils/preInit.ts b/app/utils/preInit.ts new file mode 100644 index 0000000..2cc761c --- /dev/null +++ b/app/utils/preInit.ts @@ -0,0 +1,4 @@ +import { MAPBOX_API_KEY } from 'react-native-dotenv'; +import Mapbox from '@rnmapbox/maps'; + +Mapbox.setAccessToken(MAPBOX_API_KEY); diff --git a/babel.config.js b/babel.config.js index a35ec1f..b9b108a 100644 --- a/babel.config.js +++ b/babel.config.js @@ -19,9 +19,10 @@ module.exports = { '@screens': './app/screens', '@state': './app/state', '@types': './app/types', - '@utils': './app/types' + '@utils': './app/utils' } } - ] + ], + 'react-native-reanimated/plugin' ] }; diff --git a/index.js b/index.js index 9941ea9..e78603a 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,9 @@ -/** - * @format - */ - import { AppRegistry } from 'react-native'; import { SimpleXMLDebugger } from './app/utils/SimpleXMLDebugger.ts'; import App from './App.tsx'; import { name as appName } from './app.json'; +import './app/utils/preInit.ts'; if (__DEV__) { global.XMLHttpRequest = SimpleXMLDebugger; diff --git a/ios/CkOnboardinApp.xcodeproj/project.pbxproj b/ios/CkOnboardinApp.xcodeproj/project.pbxproj index da73a27..93486b3 100644 --- a/ios/CkOnboardinApp.xcodeproj/project.pbxproj +++ b/ios/CkOnboardinApp.xcodeproj/project.pbxproj @@ -608,7 +608,10 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; @@ -681,7 +684,10 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; diff --git a/ios/CkOnboardinApp/Info.plist b/ios/CkOnboardinApp/Info.plist index c60111b..722c1f0 100644 --- a/ios/CkOnboardinApp/Info.plist +++ b/ios/CkOnboardinApp/Info.plist @@ -24,6 +24,9 @@ $(CURRENT_PROJECT_VERSION) LSRequiresIPhoneOS + MBXAccessToken + pk.eyJ1IjoiZGF3aWRjYWxsc3RhY2siLCJhIjoiY20xandhczM0MDJuNDJrczQ0aDV3ZHp1MSJ9.yWuGxhtuQTQQm3wWr-olzA +pk.eyJ1IjoiZGF3aWRjYWxsc3RhY2siLCJhIjoiY20xandhczM0MDJuNDJrczQ0aDV3ZHp1MSJ9.yWuGxhtuQTQQm3wWr-olzA NSAppTransportSecurity NSAllowsArbitraryLoads diff --git a/ios/CkOnboardinApp/PrivacyInfo.xcprivacy b/ios/CkOnboardinApp/PrivacyInfo.xcprivacy index 41b8317..bad3276 100644 --- a/ios/CkOnboardinApp/PrivacyInfo.xcprivacy +++ b/ios/CkOnboardinApp/PrivacyInfo.xcprivacy @@ -6,18 +6,18 @@ NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPICategoryUserDefaults NSPrivacyAccessedAPITypeReasons - C617.1 + CA92.1 NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPICategoryFileTimestamp NSPrivacyAccessedAPITypeReasons - CA92.1 + C617.1 diff --git a/ios/Gemfile b/ios/Gemfile index 62d7b58..bf1e26f 100644 --- a/ios/Gemfile +++ b/ios/Gemfile @@ -2,3 +2,4 @@ source "https://rubygems.org" gem "fastlane", '~> 2.224.0' gem "dotenv" +gem "cocoapods", '~> 1.13.0' diff --git a/ios/Gemfile.lock b/ios/Gemfile.lock index 1739457..ddbaa5f 100644 --- a/ios/Gemfile.lock +++ b/ios/Gemfile.lock @@ -5,39 +5,99 @@ GEM base64 nkf rexml + activesupport (7.2.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.991.0) - aws-sdk-core (3.209.1) + aws-partitions (1.1009.0) + aws-sdk-core (3.213.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) + aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.94.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-kms (1.95.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.168.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-s3 (1.171.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.10.0) + aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) claide (1.1.0) + cocoapods (1.13.0) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.13.0) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.6.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.23.0, < 2.0) + cocoapods-core (1.13.0) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix (~> 4.0) + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (1.6.3) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) colored (1.2) colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) declarative (0.0.20) digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) domain_name (0.6.20240107) dotenv (2.8.1) + drb (2.2.1) emoji_regex (3.2.3) + escape (0.0.4) + ethon (0.16.0) + ffi (>= 1.15.0) excon (0.112.0) faraday (1.10.4) faraday-em_http (~> 1.0) @@ -109,6 +169,9 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + ffi (1.17.0-arm64-darwin) + fourflusher (2.3.1) + fuzzy_match (2.0.4) gh_inspector (1.1.3) google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) @@ -150,31 +213,40 @@ GEM http-cookie (1.0.7) domain_name (~> 0.5) httpclient (2.8.3) + i18n (1.14.6) + concurrent-ruby (~> 1.0) jmespath (1.6.2) - json (2.7.2) + json (2.8.2) jwt (2.9.3) base64 + logger (1.6.1) mini_magick (4.13.2) mini_mime (1.1.5) + minitest (5.25.1) + molinillo (0.8.0) multi_json (1.15.0) multipart-post (2.4.1) - nanaimo (0.3.0) + nanaimo (0.4.0) + nap (1.1.0) naturally (2.2.1) + netrc (0.11.0) nkf (0.2.0) - optparse (0.5.0) + optparse (0.6.0) os (1.1.4) plist (3.7.1) - public_suffix (6.0.1) + public_suffix (4.0.7) rake (13.2.1) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.3.8) + rexml (3.3.9) rouge (2.0.7) + ruby-macho (2.5.1) ruby2_keywords (0.0.5) rubyzip (2.3.2) + securerandom (0.3.2) security (0.1.5) signet (0.19.0) addressable (~> 2.8) @@ -192,15 +264,19 @@ GEM tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uber (0.1.0) unicode-display_width (2.6.0) word_wrap (1.0.0) - xcodeproj (1.25.1) + xcodeproj (1.27.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.3.0) + nanaimo (~> 0.4.0) rexml (>= 3.3.6, < 4.0) xcpretty (0.3.0) rouge (~> 2.0.7) @@ -211,6 +287,7 @@ PLATFORMS arm64-darwin-23 DEPENDENCIES + cocoapods (~> 1.13.0) dotenv fastlane (~> 2.224.0) diff --git a/ios/Podfile b/ios/Podfile index f468790..f74e143 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -28,8 +28,13 @@ target 'CkOnboardinApp' do # Pods for testing end + pre_install do |installer| + $RNMapboxMaps.pre_install(installer) + end + post_install do |installer| # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 + $RNMapboxMaps.post_install(installer) react_native_post_install( installer, config[:reactNativePath], diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 85b8d62..a8743c3 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -7,6 +7,15 @@ PODS: - hermes-engine (0.75.1): - hermes-engine/Pre-built (= 0.75.1) - hermes-engine/Pre-built (0.75.1) + - MapboxCommon (23.10.1) + - MapboxCoreMaps (10.18.0): + - MapboxCommon (~> 23.10) + - MapboxMaps (10.18.2): + - MapboxCommon (= 23.10.1) + - MapboxCoreMaps (= 10.18.0) + - MapboxMobileEvents (= 1.0.10) + - Turf (= 2.8.0) + - MapboxMobileEvents (1.0.10) - RCT-Folly (2024.01.01.00): - boost - DoubleConversion @@ -1499,7 +1508,126 @@ PODS: - React-logger (= 0.75.1) - React-perflogger (= 0.75.1) - React-utils (= 0.75.1) - - RNScreens (3.34.0): + - RNGestureHandler (2.21.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - rnmapbox-maps (10.1.31): + - MapboxMaps (~> 10.18.2) + - React + - React-Core + - rnmapbox-maps/DynamicLibrary (= 10.1.31) + - Turf + - rnmapbox-maps/DynamicLibrary (10.1.31): + - MapboxMaps (~> 10.18.2) + - React + - React-Core + - Turf + - RNReanimated (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 3.16.1) + - RNReanimated/worklets (= 3.16.1) + - Yoga + - RNReanimated/reanimated (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated/apple (= 3.16.1) + - Yoga + - RNReanimated/reanimated/apple (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNReanimated/worklets (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (3.29.0): - DoubleConversion - glog - hermes-engine @@ -1514,7 +1642,6 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric - - React-RCTImage - React-rendererdebug - React-utils - ReactCodegen @@ -1522,6 +1649,7 @@ PODS: - ReactCommon/turbomodule/core - Yoga - SocketRocket (0.7.0) + - Turf (2.8.0) - Yoga (0.0.0) DEPENDENCIES: @@ -1589,12 +1717,20 @@ DEPENDENCIES: - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - "rnmapbox-maps (from `../node_modules/@rnmapbox/maps`)" + - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: + - MapboxCommon + - MapboxCoreMaps + - MapboxMaps + - MapboxMobileEvents - SocketRocket + - Turf EXTERNAL SOURCES: boost: @@ -1722,6 +1858,12 @@ EXTERNAL SOURCES: :path: build/generated/ios ReactCommon: :path: "../node_modules/react-native/ReactCommon" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + rnmapbox-maps: + :path: "../node_modules/@rnmapbox/maps" + RNReanimated: + :path: "../node_modules/react-native-reanimated" RNScreens: :path: "../node_modules/react-native-screens" Yoga: @@ -1734,66 +1876,74 @@ SPEC CHECKSUMS: fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: 69ef571f3de08433d766d614c73a9838a06bf7eb hermes-engine: e949b1da40409c52aa7bd79ff32cec045f5b4650 - RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 + MapboxCommon: 0ff437e44988da6856e280d00ffb266564ed0487 + MapboxCoreMaps: f1bd9405f5b9d3e343f2fe4138775299699a22fb + MapboxMaps: e76b14f52c54c40b76ddecd04f40448e6f35a864 + MapboxMobileEvents: de50b3a4de180dd129c326e09cd12c8adaaa46d6 + RCT-Folly: 34124ae2e667a0e5f0ea378db071d27548124321 RCTDeprecation: bc01aeeb7acc314fc615a092001050d2e97c353a RCTRequired: a511d4665e1f7ac044aad6486aa19d061bd2d365 RCTTypeSafety: e77969bb08d920251de98b1fc1df223d7039c1ff React: d7184b3f39c367504fe746f26b9d68a1dff0085b React-callinvoker: 45fca04012bbc94978d3655007339dcf1a5232fd - React-Core: 1f79ea2071f8ac48ff56b2aff9b849a5ef25292a - React-CoreModules: 67f22193aa2ada01f1497a68f16ee940f69661e5 - React-cxxreact: 8ec017ccd74352fb814501707f81ba011d37459f + React-Core: f29aa5a11399a06d4604fa19b7a9a42672e92b77 + React-CoreModules: 984c3c8c5633cd51d385e74c1d0232a48f4ca91c + React-cxxreact: 586b99147cb95554032b61307b1f16842a9ab632 React-debug: 352c197132c626eddc6a1cd76e2697d1f2c8aaf2 - React-defaultsnativemodule: 794b7b45463b7eb6550194d24dfab90ed6c6d240 - React-domnativemodule: a25e07b5a169ff01847d46c51b66be67e9805fb9 - React-Fabric: 2dfa25f9dc66beb09d2ed0d0d05061c2f42ba352 - React-FabricComponents: f4551cba79793f3996265dfd56ca8031a75c091f - React-FabricImage: d464ec4461429c5d6aae9cda11635b4519aeb17b + React-defaultsnativemodule: 20499e69bd8e772ff2b0d33d9eafd0e1133ae64b + React-domnativemodule: b6770222363b4a1efeface8ee0510a96d32229af + React-Fabric: 62e898d7e1b6e8796d16cbcd090c052bc925199d + React-FabricComponents: ea8cd47f0e7ecc7575919c7b1270ad9f5d9f363a + React-FabricImage: b636c0c182685ff997a6e69cb6da67f5bb215920 React-featureflags: eb9f39413a653bd71a3eade6cafcefbc90bf7453 - React-featureflagsnativemodule: e2dea6751669d670ed11ba3fda37ef0756cb2adb - React-graphics: ec9d045f0f25e588d97899f6f5b92aee3dbcca8d - React-hermes: 3a250e0191116de7ef757b74d39386e83c609775 - React-idlecallbacksnativemodule: a401d60bda48a7cdbe2d4c5dc9e968dc37e2cc65 - React-ImageManager: 4ea61bac6827c3339ded2e3ec0752865975a1b40 - React-jserrorhandler: dd8ceb17410423e1b0f92742b105d8a4e30a988e - React-jsi: 66a12cec67ef950655b881d545018f08fa38a2d9 - React-jsiexecutor: 79d2789093ab9b821ceee0e15a79b21115cdbd4d - React-jsinspector: 929691bef04499c30fca9374ed6954ca30919cff - React-jsitracing: 8003b1956692fdd34b737a95ffd8efbb12f9986f - React-logger: 0a81d1a40650bbdafb255fe4616edb83feed0ee9 - React-Mapbuffer: b758bec0d9994c10a2841dfd5ec70673665fd3e2 - React-microtasksnativemodule: f25dba9c8c3f8be0b3368d52b99abd6e381dee1d - react-native-safe-area-context: 851c62c48dce80ccaa5637b6aa5991a1bc36eca9 + React-featureflagsnativemodule: 0e55cb4f68c8de37b12966793df2134ad9e2f580 + React-graphics: 146003496c10b3fcb928e53a43d54a90a871a1bc + React-hermes: 4a18803737f2332dc35d895bec765d642433b08c + React-idlecallbacksnativemodule: 73d467840261d38b1309917919b159d49bf61ea0 + React-ImageManager: c0a9bb2be7602e31c8bb51554bc2ff3cc266fab9 + React-jserrorhandler: 44c17947a0f723f9092d7c5ad1de1c4024829a97 + React-jsi: 5748b5650fbd60bdb45fe6e54b44989dae1cc34f + React-jsiexecutor: 8118b48576d215094ca27abe5fb55b7f4c9cd796 + React-jsinspector: 68aec6d3d6057ba3d25851238c1d87a6967eb9e4 + React-jsitracing: ffe8e4616d556e27c0932bbc2b3a418da5aebb17 + React-logger: 11533686221afc574eeee73f7e0ad1f9787dd52f + React-Mapbuffer: 256f4499192c75419e788e1dc0510d7eb2ca2fb6 + React-microtasksnativemodule: f00aca09de0180639040ba7823bd56d295bebd2c + react-native-safe-area-context: ca0ebcd9798c5a45863c608c961d4f3f984b6ed2 React-nativeconfig: 7af2ccce165f86b233a9f9d63295f6207e62640e - React-NativeModulesApple: db1c1ee9dda26c9e58d824b4100fed83add82ae9 + React-NativeModulesApple: 6861baf05010ce6aa9fb407ed0a54f5b29552f73 React-perflogger: 7c4e97b47d8bc58c03fad1a6b97d96181b59aa41 - React-performancetimeline: ff6c906204f8efe69a43385389179812124fee3e + React-performancetimeline: 21e2172fc988e71a9a288fa57c41da4870770ce6 React-RCTActionSheet: 4d320d60f7343d15c681b4a3cb44fcf1e1d319a7 - React-RCTAnimation: 523261cf9e7852bb627d12f89e423ee4839428fb - React-RCTAppDelegate: f0bcfe72d53195d16defd6b4cd8ce0591190c4a1 - React-RCTBlob: c9aa6336d7a0195fa8960cdae1806a80d1a56083 - React-RCTFabric: ff72c45356b1089ffc9d241618a04cbe0302ae0d - React-RCTImage: 2c4f61a43046c6098c17ed998189729b78e2c9e1 - React-RCTLinking: 17fc004f09b77265e34351afc4a501d5dc3a4d17 - React-RCTNetwork: 1590882206f723a2b50e7a492b592696e28dc05e - React-RCTSettings: bca2756c3b9ad9fefc789276be734fc49c3287fc - React-RCTText: ec488070f17fbab655abb3e102b79d1b1dc7b007 - React-RCTVibration: d84f562d6b14a6cb2b082225f55f47cbd190482f + React-RCTAnimation: 8e286f1bdf2ce49be337cd88d487ca75c5be7b17 + React-RCTAppDelegate: 000dd400a0796549698511cf9960957a377f277d + React-RCTBlob: ad1988b6ec8adb557ea705cb364e9a75112bacf6 + React-RCTFabric: 4e7d671cc9b6961a4331e607fa8ac86f03f11b3f + React-RCTImage: 1da26c1cfb7594847ff4c6874e076a63f3290508 + React-RCTLinking: 87dc35744c32db2578f63a7454a2a8f87d788142 + React-RCTNetwork: 96530e272e24a374e942bfcb0e0d9395fc6a9da5 + React-RCTSettings: 181f949ad273bdc1915ececfe9258d36f51e1b77 + React-RCTText: c977f49e85e46ee1b109633fccac50d6738bec1d + React-RCTVibration: e1ce7248ef1b820d6d2fe11e6690263c88dc54bd React-rendererconsistency: 10d49d3d663e52b28fac749543473207f0dd411e - React-rendererdebug: f3f5b36ae16b859ae4fc3354dc4436067265fff9 + React-rendererdebug: b3eb4e09a3f7d09acc9c0ff00ba527fe88dc1fd0 React-rncore: 2f9b482f627d8854a0b247e78119764d73d42335 - React-RuntimeApple: 4749c1ffc84765252ee2d2f8d8fd0b01e4d5e63a - React-RuntimeCore: 1d44cd3189d61fa91ae6bb46e374c097ce5d8873 + React-RuntimeApple: 9f28ce7a5c58657fcc7285b59b69af3c8a26d13a + React-RuntimeCore: cf5ed9e0282fb3235805df42b5fb62c07426cc32 React-runtimeexecutor: 7f3bb572e57574f0e45338f2e33339d1b712e7ea - React-RuntimeHermes: 11f77829525f1371b2b9aad060f6bf31fafd60a1 - React-runtimescheduler: 5bdbfb4e9c4efc508f9f1da8ef0a9e62362d9713 - React-utils: 0ae17a2fe87b43a939826410d2fcbb28d44f1bfc - ReactCodegen: e9156d86a166f3e10dc8fb6160764048df3528bc - ReactCommon: 3ae48fa4cfa7052a270c2150ececfc94e541fb8a - RNScreens: 19719a9c326e925498ac3b2d35c4e50fe87afc06 + React-RuntimeHermes: 97e3ecb2a84308268ff43c32fdadb725bb0eb216 + React-runtimescheduler: 9dd943100ab75bf6d444ffa30cfccdcc62a3b063 + React-utils: eae7aa27b3c164329f3f66384a8cdb70c4d8cf44 + ReactCodegen: 402359d3205477a4475bc1628077e44a44fde994 + ReactCommon: f28ff9e3fc196dae898b463ed40f241621a023ef + RNGestureHandler: d1a436997768c4d8518dcb9d38fa3cda4d0efec8 + rnmapbox-maps: e07d03977b24cce5954888f6c914ddc747360fcc + RNReanimated: 8bf536bd3964d10a9bacabf179897e79f6bea34f + RNScreens: f7656034912d7171175c2e37108f333d7f9ca1a4 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d - Yoga: d36331de5ab7fb61bc9d91fbbd76307464418323 + Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e + Yoga: 06fc4b2c3664ae0e278964b8fbcb0ee9d21f0a5a -PODFILE CHECKSUM: 4e3a4a334edc170b5328fa58f9e9aac6f2d385c9 +PODFILE CHECKSUM: c05ad030948d4bf95845fadf7276c16d31774b12 -COCOAPODS: 1.13.0 +COCOAPODS: 1.16.2 diff --git a/metro.config.js b/metro.config.js index 72fcb3c..6a1d620 100644 --- a/metro.config.js +++ b/metro.config.js @@ -1,11 +1,12 @@ const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); +const { + wrapWithReanimatedMetroConfig +} = require('react-native-reanimated/metro-config'); -/** - * Metro configuration - * https://reactnative.dev/docs/metro - * - * @type {import('metro-config').MetroConfig} - */ -const config = {}; +const config = { + // Your existing Metro configuration options +}; -module.exports = mergeConfig(getDefaultConfig(__dirname), config); +const mergedConfig = mergeConfig(getDefaultConfig(__dirname), config); + +module.exports = wrapWithReanimatedMetroConfig(mergedConfig); diff --git a/package.json b/package.json index 17496bd..268fd77 100644 --- a/package.json +++ b/package.json @@ -12,16 +12,22 @@ "prettier:fix": "prettier --write '**/*.{ts,tsx,js}'" }, "dependencies": { + "@gorhom/bottom-sheet": "^5", "@react-navigation/native": "next", "@react-navigation/native-stack": "next", - "@reduxjs/toolkit": "^2.2.7", + "@reduxjs/toolkit": "^2.3.0", + "@rnmapbox/maps": "^10.1.31", "axios": "^1.7.4", + "geolib": "^3.3.4", "react": "18.3.1", "react-native": "0.75.1", "react-native-dotenv": "^3.4.11", + "react-native-gesture-handler": "^2.21.0", + "react-native-reanimated": "^3.16.1", "react-native-safe-area-context": "^4.11.0", - "react-native-screens": "^3.34.0", - "react-redux": "^9.1.2" + "react-native-screens": "3.29.0", + "react-redux": "^9.1.2", + "turf": "^3.0.14" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/tsconfig.json b/tsconfig.json index 8245d61..1f36645 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,7 +14,7 @@ "@state/*": ["state/*"], "@types/*": ["types/*"], "@utils/*": ["utils/*"] - } + }, }, "include": ["app/**/*.ts", "app/**/*.tsx"], "exclude": ["node_modules"] diff --git a/yarn.lock b/yarn.lock index a6ac690..d681bd9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,6 +25,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.25.9": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": ^7.25.9 + js-tokens: ^4.0.0 + picocolors: ^1.0.0 + checksum: db13f5c42d54b76c1480916485e6900748bbcb0014a8aca87f50a091f70ff4e0d0a6db63cade75eb41fcc3d2b6ba0a7f89e343def4f96f00269b41b8ab8dd7b8 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.2": version: 7.25.2 resolution: "@babel/compat-data@npm:7.25.2" @@ -39,6 +50,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.25.9": + version: 7.26.2 + resolution: "@babel/compat-data@npm:7.26.2" + checksum: d52fae9b0dc59b409d6005ae6b172e89329f46d68136130065ebe923a156fc633e0f1c8600b3e319b9e0f99fd948f64991a5419e2e9431d00d9d235d5f7a7618 + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2": version: 7.25.2 resolution: "@babel/core@npm:7.25.2" @@ -100,6 +118,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.25.9": + version: 7.26.2 + resolution: "@babel/generator@npm:7.26.2" + dependencies: + "@babel/parser": ^7.26.2 + "@babel/types": ^7.26.0 + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.25 + jsesc: ^3.0.2 + checksum: 6ff850b7d6082619f8c2f518d993cf7254cfbaa20b026282cbef5c9b2197686d076a432b18e36c4d1a42721c016df4f77a8f62c67600775d9683621d534b91b4 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" @@ -109,6 +140,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": ^7.25.9 + checksum: 41edda10df1ae106a9b4fe617bf7c6df77db992992afd46192534f5cff29f9e49a303231733782dd65c5f9409714a529f215325569f14282046e9d3b7a1ffb6c + languageName: node + linkType: hard + "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" @@ -132,6 +172,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" + dependencies: + "@babel/compat-data": ^7.25.9 + "@babel/helper-validator-option": ^7.25.9 + browserslist: ^4.24.0 + lru-cache: ^5.1.1 + semver: ^6.3.1 + checksum: 3af536e2db358b38f968abdf7d512d425d1018fef2f485d6f131a57a7bcaed32c606b4e148bb230e1508fa42b5b2ac281855a68eb78270f54698c48a83201b9b + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-create-class-features-plugin@npm:7.25.0" @@ -166,6 +219,23 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-member-expression-to-functions": ^7.25.9 + "@babel/helper-optimise-call-expression": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + "@babel/traverse": ^7.25.9 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 91dd5f203ed04568c70b052e2f26dfaac7c146447196c00b8ecbb6d3d2f3b517abadb985d3321a19d143adaed6fe17f7f79f8f50e0c20e9d8ad83e1027b42424 + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0, @babel/helper-create-regexp-features-plugin@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" @@ -179,6 +249,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.25.9 + regexpu-core: ^6.1.1 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 563ed361ceed3d7a9d64dd58616bf6f0befcc23620ab22d31dd6d8b751d3f99d6d210487b1a5a1e209ab4594df67bacfab7445cbfa092bfe2b719cd42ae1ba6f + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" @@ -204,6 +287,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 8e2f1979b6d596ac2a8cbf17f2cf709180fefc274ac3331408b48203fe19134ed87800774ef18838d0275c3965130bae22980d90caed756b7493631d4b2cf961 + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-imports@npm:7.24.7" @@ -214,6 +307,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 1b411ce4ca825422ef7065dffae7d8acef52023e51ad096351e3e2c05837e9bf9fca2af9ca7f28dc26d596a588863d0fedd40711a88e350b736c619a80e704e6 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.0, @babel/helper-module-transforms@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-module-transforms@npm:7.25.2" @@ -228,6 +331,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" + dependencies: + "@babel/helper-module-imports": ^7.25.9 + "@babel/helper-validator-identifier": ^7.25.9 + "@babel/traverse": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 942eee3adf2b387443c247a2c190c17c4fd45ba92a23087abab4c804f40541790d51ad5277e4b5b1ed8d5ba5b62de73857446b7742f835c18ebd350384e63917 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" @@ -237,6 +353,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": ^7.25.9 + checksum: f09d0ad60c0715b9a60c31841b3246b47d67650c512ce85bbe24a3124f1a4d66377df793af393273bc6e1015b0a9c799626c48e53747581c1582b99167cc65dc + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.24.8 resolution: "@babel/helper-plugin-utils@npm:7.24.8" @@ -244,6 +369,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-plugin-utils@npm:7.25.9" + checksum: e19ec8acf0b696756e6d84531f532c5fe508dce57aa68c75572a77798bd04587a844a9a6c8ea7d62d673e21fdc174d091c9097fb29aea1c1b49f9c6eaa80f022 + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.24.7, @babel/helper-remap-async-to-generator@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" @@ -270,6 +402,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.25.9 + "@babel/helper-optimise-call-expression": ^7.25.9 + "@babel/traverse": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 84f40e12520b7023e52d289bf9d569a06284879fe23bbbacad86bec5d978b2669769f11b073fcfeb1567d8c547168323005fda88607a4681ecaeb4a5cdd48bb9 + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-simple-access@npm:7.24.7" @@ -280,6 +425,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" + dependencies: + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 6d96c94b88e8288d15e5352c1221486bd4f62de8c7dc7c7b9f5b107ce2c79f67fec5ed71a0476e146f1fefbbbf1d69abe35dc821d80ce01fc7f472286c342421 + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" @@ -290,6 +445,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: fdbb5248932198bc26daa6abf0d2ac42cab9c2dbb75b7e9f40d425c8f28f09620b886d40e7f9e4e08ffc7aaa2cefe6fc2c44be7c20e81f7526634702fb615bdc + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-string-parser@npm:7.24.8" @@ -297,6 +462,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 6435ee0849e101681c1849868278b5aee82686ba2c1e27280e5e8aca6233af6810d39f8e4e693d2f2a44a3728a6ccfd66f72d71826a94105b86b731697cdfa99 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-identifier@npm:7.24.7" @@ -304,6 +476,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 5b85918cb1a92a7f3f508ea02699e8d2422fe17ea8e82acd445006c0ef7520fbf48e3dbcdaf7b0a1d571fc3a2715a29719e5226636cb6042e15fe6ed2a590944 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-validator-option@npm:7.24.8" @@ -311,6 +490,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-wrap-function@npm:7.25.0" @@ -366,6 +552,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/parser@npm:7.26.2" + dependencies: + "@babel/types": ^7.26.0 + bin: + parser: ./bin/babel-parser.js + checksum: c88b5ea0adf357ef909cdc2c31e284a154943edc59f63f6e8a4c20bf773a1b2f3d8c2205e59c09ca7cdad91e7466300114548876529277a80651b6436a48d5d9 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": version: 7.25.3 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.3" @@ -626,6 +823,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bb609d1ffb50b58f0c1bac8810d0e46a4f6c922aa171c458f3a19d66ee545d36e782d3bffbbc1fed0dc65a558bdce1caf5279316583c0fff5a2c1658982a8563 + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -725,6 +933,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0e9821e8ba7d660c36c919654e4144a70546942ae184e85b8102f2322451eae102cbfadbcadd52ce077a2b44b400ee52394c616feab7b5b9f791b910e933fd33 + languageName: node + linkType: hard + "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -748,6 +967,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-arrow-functions@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c29f081224859483accf55fb4d091db2aac0dcd0d7954bac5ca889030cc498d3f771aa20eb2e9cd8310084ec394d85fa084b97faf09298b6bc9541182b3eb5bb + languageName: node + linkType: hard + "@babel/plugin-transform-async-generator-functions@npm:^7.24.3": version: 7.25.0 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.0" @@ -811,6 +1041,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a8d69e2c285486b63f49193cbcf7a15e1d3a5f632c1c07d7a97f65306df7f554b30270b7378dde143f8b557d1f8f6336c643377943dec8ec405e4cd11e90b9ea + languageName: node + linkType: hard + "@babel/plugin-transform-class-properties@npm:^7.24.1": version: 7.24.7 resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" @@ -864,6 +1106,22 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 + "@babel/traverse": ^7.25.9 + globals: ^11.1.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d12584f72125314cc0fa8c77586ece2888d677788ac75f7393f5da574dfe4e45a556f7e3488fab29c8777ab3e5856d7a2d79f6df02834083aaa9d766440e3c68 + languageName: node + linkType: hard + "@babel/plugin-transform-classes@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-classes@npm:7.25.4" @@ -1082,6 +1340,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-simple-access": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4f101f0ea4a57d1d27a7976d668c63a7d0bbb0d9c1909d8ac43c785fd1496c31e6552ffd9673730c088873df1bc64f1cc4aad7c3c90413ac5e80b33e336d80e4 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-systemjs@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" @@ -1131,6 +1402,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 26e03b1c2c0408cc300e46d8f8cb639653ff3a7b03456d0d8afbb53c44f33a89323f51d99991dade3a5676921119bbdf869728bb7911799b5ef99ffafa2cdd24 + languageName: node + linkType: hard + "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.1, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" @@ -1193,6 +1475,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f1642a7094456067e82b176e1e9fd426fda7ed9df54cb6d10109fc512b622bf4b3c83acc5875125732b8622565107fdbe2d60fe3ec8685e1d1c22c38c1b57782 + languageName: node + linkType: hard + "@babel/plugin-transform-optional-chaining@npm:^7.24.5, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" @@ -1364,6 +1658,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-shorthand-properties@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f774995d58d4e3a992b732cf3a9b8823552d471040e280264dd15e0735433d51b468fef04d75853d061309389c66bda10ce1b298297ce83999220eb0ad62741d + languageName: node + linkType: hard + "@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-spread@npm:7.24.7" @@ -1387,6 +1692,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-template-literals@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 92eb1d6e2d95bd24abbb74fa7640d02b66ff6214e0bb616d7fda298a7821ce15132a4265d576a3502a347a3c9e94b6c69ed265bb0784664592fa076785a3d16a + languageName: node + linkType: hard + "@babel/plugin-transform-template-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" @@ -1424,6 +1740,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typescript@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + "@babel/plugin-syntax-typescript": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6dd1303f1b9f314e22c6c54568a8b9709a081ce97be757d4004f960e3e73d6b819e6b49cee6cf1fc8455511e41127a8b580fa34602de62d17ab8a0b2d0ccf183 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-escapes@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" @@ -1459,6 +1790,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-regex@npm:^7.0.0-0": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e8baae867526e179467c6ef5280d70390fa7388f8763a19a27c21302dd59b121032568be080749514b097097ceb9af716bf4b90638f1b3cf689aa837ba20150f + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": version: 7.25.4 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.4" @@ -1605,6 +1948,21 @@ __metadata: languageName: node linkType: hard +"@babel/preset-typescript@npm:^7.16.7": + version: 7.26.0 + resolution: "@babel/preset-typescript@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-validator-option": ^7.25.9 + "@babel/plugin-syntax-jsx": ^7.25.9 + "@babel/plugin-transform-modules-commonjs": ^7.25.9 + "@babel/plugin-transform-typescript": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6d8641fa6efd0e10eec5e8f92cd164b916a06d57131cfa5216c281404289c87d2b4995140a1c1d9c3bad171ff6ef2226be5f0585e09577ffff349706e991ec71 + languageName: node + linkType: hard + "@babel/register@npm:^7.13.16": version: 7.24.6 resolution: "@babel/register@npm:7.24.6" @@ -1647,6 +2005,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" + dependencies: + "@babel/code-frame": ^7.25.9 + "@babel/parser": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 103641fea19c7f4e82dc913aa6b6ac157112a96d7c724d513288f538b84bae04fb87b1f1e495ac1736367b1bc30e10f058b30208fb25f66038e1f1eb4e426472 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.1, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3": version: 7.25.3 resolution: "@babel/traverse@npm:7.25.3" @@ -1677,6 +2046,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" + dependencies: + "@babel/code-frame": ^7.25.9 + "@babel/generator": ^7.25.9 + "@babel/parser": ^7.25.9 + "@babel/template": ^7.25.9 + "@babel/types": ^7.25.9 + debug: ^4.3.1 + globals: ^11.1.0 + checksum: 901d325662ff1dd9bc51de00862e01055fa6bc374f5297d7e3731f2f0e268bbb1d2141f53fa82860aa308ee44afdcf186a948f16c83153927925804b95a9594d + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.25.2 resolution: "@babel/types@npm:7.25.2" @@ -1699,6 +2083,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" + dependencies: + "@babel/helper-string-parser": ^7.25.9 + "@babel/helper-validator-identifier": ^7.25.9 + checksum: a3dd37dabac693018872da96edb8c1843a605c1bfacde6c3f504fba79b972426a6f24df70aa646356c0c1b19bdd2c722c623c684a996c002381071680602280d + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1706,6 +2100,15 @@ __metadata: languageName: node linkType: hard +"@egjs/hammerjs@npm:^2.0.17": + version: 2.0.17 + resolution: "@egjs/hammerjs@npm:2.0.17" + dependencies: + "@types/hammerjs": ^2.0.36 + checksum: 8945137cec5837edd70af3f2e0ea621543eb0aa3b667e6269ec6485350f4d120c2434b37c7c30b1cf42a65275dd61c1f24626749c616696d3956ac0c008c4766 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -1748,6 +2151,40 @@ __metadata: languageName: node linkType: hard +"@gorhom/bottom-sheet@npm:^5": + version: 5.0.5 + resolution: "@gorhom/bottom-sheet@npm:5.0.5" + dependencies: + "@gorhom/portal": 1.0.14 + invariant: ^2.2.4 + peerDependencies: + "@types/react": "*" + "@types/react-native": "*" + react: "*" + react-native: "*" + react-native-gesture-handler: ">=2.16.1" + react-native-reanimated: ">=3.10.1" + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-native": + optional: true + checksum: 52c4b1abf0e5d3ec2956cc86e1deabb080fba39d84a1695fe74d3a899ad114f664ca5bc41e6617678531c70f19d25beeefb33aa9fc8925467f2e3c9d3070a50c + languageName: node + linkType: hard + +"@gorhom/portal@npm:1.0.14": + version: 1.0.14 + resolution: "@gorhom/portal@npm:1.0.14" + dependencies: + nanoid: ^3.3.1 + peerDependencies: + react: "*" + react-native: "*" + checksum: 227bb96a2db854ab29bb9da8d4f3823c7f7448358de459709dd1b78522110da564c9a8734c6bc7d7153ed7c99320e0fb5d60b420c2ebb75ecaf2f0d757f410f9 + languageName: node + linkType: hard + "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -2735,9 +3172,9 @@ __metadata: languageName: node linkType: hard -"@reduxjs/toolkit@npm:^2.2.7": - version: 2.2.7 - resolution: "@reduxjs/toolkit@npm:2.2.7" +"@reduxjs/toolkit@npm:^2.3.0": + version: 2.3.0 + resolution: "@reduxjs/toolkit@npm:2.3.0" dependencies: immer: ^10.0.3 redux: ^5.0.1 @@ -2751,7 +3188,35 @@ __metadata: optional: true react-redux: optional: true - checksum: 039d61d94cec25d07c7813f9cd234cbe83478f65df7622f2dafed609f2f0cbe00565999e33e7d22bf915c3c5bceb7be606ca17a9c55b51ce1841f541f63a3395 + checksum: 1a0d85978f99a44f7ceabec8623f46cdd2a2dc25d809dfb0d5c9cd13e2aa12cf116cffe34a4ed949169804dc6125ef9cf68143225e9527f861b597ea701e8bb5 + languageName: node + linkType: hard + +"@rnmapbox/maps@npm:^10.1.31": + version: 10.1.31 + resolution: "@rnmapbox/maps@npm:10.1.31" + dependencies: + "@turf/along": 6.5.0 + "@turf/distance": 6.5.0 + "@turf/helpers": 6.5.0 + "@turf/length": 6.5.0 + "@turf/nearest-point-on-line": 6.5.0 + "@types/geojson": ^7946.0.7 + debounce: ^1.2.0 + peerDependencies: + expo: ">=47.0.0" + mapbox-gl: ^2.9.0 + react: ">=16.6.1" + react-dom: ">= 17.0.0" + react-native: ">=0.59.9" + peerDependenciesMeta: + expo: + optional: true + mapbox-gl: + optional: true + react-dom: + optional: true + checksum: f4ac56f9dbc3128b2bfeedd3980668f2c05e92b965297a0be1556b0059fcf15e7c84d9127b32383d6608d65b6986e5e3ed6ef08499091f0a31a6fbb72c0819fb languageName: node linkType: hard @@ -2810,66 +3275,237 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" +"@turf/along@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/along@npm:6.5.0" dependencies: - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - "@types/babel__generator": "*" - "@types/babel__template": "*" - "@types/babel__traverse": "*" - checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 + "@turf/bearing": ^6.5.0 + "@turf/destination": ^6.5.0 + "@turf/distance": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: ea0b4d03d6dc51afa051e8ad625856cf6204679225311f95f5a9707996672866c39b702b69df6d4779e475b3bc09b48514940313fc18fec091d78ca0eabdcba4 languageName: node linkType: hard -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" +"@turf/bbox@npm:*": + version: 7.1.0 + resolution: "@turf/bbox@npm:7.1.0" dependencies: - "@babel/types": ^7.0.0 - checksum: 5b332ea336a2efffbdeedb92b6781949b73498606ddd4205462f7d96dafd45ff3618770b41de04c4881e333dd84388bfb8afbdf6f2764cbd98be550d85c6bb48 + "@turf/helpers": ^7.1.0 + "@turf/meta": ^7.1.0 + "@types/geojson": ^7946.0.10 + tslib: ^2.6.2 + checksum: 8223d30660340a18d9a5814a664167a9d76076bf3a7fe9c3ab37cebb1d0761c209fb461c9949bec8ca7d58adf333f36f222ec1b980132fdb13d0eaba81340c8f languageName: node linkType: hard -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" +"@turf/bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bearing@npm:6.5.0" dependencies: - "@babel/parser": ^7.1.0 - "@babel/types": ^7.0.0 - checksum: d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f2883fb56d3017f9d0190937a92a2dae174e48f5165ea5540a5032caa03dd7980e5a95d298fd25e6bcc74cdf812d411af0e0c146112518ed3cd0d19795a1b645 languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" +"@turf/destination@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/destination@npm:6.5.0" dependencies: - "@babel/types": ^7.20.7 - checksum: 2bdc65eb62232c2d5c1086adeb0c31e7980e6fd7e50a3483b4a724a1a1029c84d9cb59749cf8de612f9afa2bc14c85b8f50e64e21f8a4398fa77eb9059a4283c + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: eac68b89fb8d9eee005e853f235c5356753f4ece08082270a1b5ed89aabdae3aa847e55ff8ca3f6ea3d2ced588fa7ed1211cd3fb321f10677c111503fb2bb4aa languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" +"@turf/distance@npm:6.5.0, @turf/distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/distance@npm:6.5.0" dependencies: - "@types/node": "*" - checksum: 79d746a8f053954bba36bd3d94a90c78de995d126289d656fb3271dd9f1229d33f678da04d10bce6be440494a5a73438e2e363e92802d16b8315b051036c5256 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f311e19a5d489a11e2033f218723f6c2fae207cb03fbdd5dc64a44724d36851f5bb44d07ae31d479532db5f1df019845e19e2117c1948d9e832a6769f6bf0448 languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 +"@turf/helpers@npm:6.5.0, @turf/helpers@npm:6.x, @turf/helpers@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/helpers@npm:6.5.0" + checksum: d57f746351357838c654e0a9b98be3285a14b447504fd6d59753d90c6d437410bb24805d61c65b612827f07f6c2ade823bb7e56e41a1a946217abccfbd64c117 languageName: node linkType: hard -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" +"@turf/helpers@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/helpers@npm:7.1.0" + dependencies: + "@types/geojson": ^7946.0.10 + tslib: ^2.6.2 + checksum: 5be9ac514af745409a0e09ce1061095a48757b6e8e146678e31f51d707353f815279cd5787ddefaabc19e9a0500e14f6f742f7e749947efe0178b50f6244f06f + languageName: node + linkType: hard + +"@turf/invariant@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/invariant@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: f45109ee41429d4aab49db9cfcc68f832cadf18b16c1b2c7031f0a6e52545bc4d64d0efd0a980f4d05f22532ed89d6e915aeaab9db44865898d4d030221d968e + languageName: node + linkType: hard + +"@turf/length@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/length@npm:6.5.0" + dependencies: + "@turf/distance": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: ae4feb750d71586add0ddcfce97fe6617f933844ed94b464eb0416ad365f74a508d33b00b548231a88a2c7f0fe0a13be72cf3911a190af2318b3e2c207511e69 + languageName: node + linkType: hard + +"@turf/line-intersect@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/line-intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/line-segment": ^6.5.0 + "@turf/meta": ^6.5.0 + geojson-rbush: 3.x + checksum: ae5eb762d879b18dfde0b7340fb34fe0158d83c9dee26d1d20bb9ef0111e3d042d1d2215ed6a8c04da1210011c85e45a513a64c3c2e6f641b17c58d43a017931 + languageName: node + linkType: hard + +"@turf/line-segment@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/line-segment@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: c58c91066fcc6632a2b97535bd5a3cc5c7d41f11bfd3cbfc3d3dae13b39c5fe1ccf14ecda6f8b9ff046d7a35ee4205b73ad30fea95fc03373f0831bb515e2ac1 + languageName: node + linkType: hard + +"@turf/meta@npm:6.x, @turf/meta@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/meta@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: c6bb936aa92bf3365e87a50dc65f248e070c5767a36fac390754c00c89bf2d1583418686ab19a10332bfa9340b8cac6aaf2c55dad7f5fcf77f1a2dda75ccf363 + languageName: node + linkType: hard + +"@turf/meta@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/meta@npm:7.1.0" + dependencies: + "@turf/helpers": ^7.1.0 + "@types/geojson": ^7946.0.10 + checksum: 4d133de0a72af88b7831cce19f6640833efd7faa4b58762eda7e76da27402963addf0b147b83af6592d21960461c81a6fb17aa46dd641421a171310cc92806b8 + languageName: node + linkType: hard + +"@turf/nearest-point-on-line@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/nearest-point-on-line@npm:6.5.0" + dependencies: + "@turf/bearing": ^6.5.0 + "@turf/destination": ^6.5.0 + "@turf/distance": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/line-intersect": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 5d059e43e6b624b23a204c2ac7d4ddec0b5105eb02ecd12b38c221cfe083279a4059c4e2788b9821cb93d4ca4ccb4eb7f48fcae2e59c857073a5bdb2a49ae8ce + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.8 + resolution: "@types/babel__generator@npm:7.6.8" + dependencies: + "@babel/types": ^7.0.0 + checksum: 5b332ea336a2efffbdeedb92b6781949b73498606ddd4205462f7d96dafd45ff3618770b41de04c4881e333dd84388bfb8afbdf6f2764cbd98be550d85c6bb48 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29 + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.20.6 + resolution: "@types/babel__traverse@npm:7.20.6" + dependencies: + "@babel/types": ^7.20.7 + checksum: 2bdc65eb62232c2d5c1086adeb0c31e7980e6fd7e50a3483b4a724a1a1029c84d9cb59749cf8de612f9afa2bc14c85b8f50e64e21f8a4398fa77eb9059a4283c + languageName: node + linkType: hard + +"@types/geojson@npm:7946.0.8": + version: 7946.0.8 + resolution: "@types/geojson@npm:7946.0.8" + checksum: 6049a39b025cfe323d5cf87333d87c133ec963cdbd349c49295bee779827ee4b46a3041fd8bd2e7a4b02d6d1e26f3002968875928941bbed08477bfd5f6f9284 + languageName: node + linkType: hard + +"@types/geojson@npm:^7946.0.10, @types/geojson@npm:^7946.0.7": + version: 7946.0.14 + resolution: "@types/geojson@npm:7946.0.14" + checksum: ae511bee6488ae3bd5a3a3347aedb0371e997b14225b8983679284e22fa4ebd88627c6e3ff8b08bf4cc35068cb29310c89427311ffc9322c255615821a922e71 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" + dependencies: + "@types/node": "*" + checksum: 79d746a8f053954bba36bd3d94a90c78de995d126289d656fb3271dd9f1229d33f678da04d10bce6be440494a5a73438e2e363e92802d16b8315b051036c5256 + languageName: node + linkType: hard + +"@types/hammerjs@npm:^2.0.36": + version: 2.0.46 + resolution: "@types/hammerjs@npm:2.0.46" + checksum: caba6ec788d19905c71092670b58514b3d1f5eee5382bf9205e8df688d51e7857b7994e2dd7aed57fac8977bdf0e456d67fbaf23440a4385b8ce25fe2af1ec39 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" dependencies: "@types/istanbul-lib-coverage": "*" checksum: b91e9b60f865ff08cb35667a427b70f6c2c63e88105eadd29a112582942af47ed99c60610180aa8dcc22382fa405033f141c119c69b95db78c4c709fbadfeeb4 @@ -3300,13 +3936,15 @@ __metadata: "@babel/core": ^7.25.2 "@babel/preset-env": ^7.25.4 "@babel/runtime": ^7.20.0 + "@gorhom/bottom-sheet": ^5 "@react-native/babel-preset": 0.75.1 "@react-native/eslint-config": 0.75.1 "@react-native/metro-config": 0.75.1 "@react-native/typescript-config": 0.75.1 "@react-navigation/native": next "@react-navigation/native-stack": next - "@reduxjs/toolkit": ^2.2.7 + "@reduxjs/toolkit": ^2.3.0 + "@rnmapbox/maps": ^10.1.31 "@types/react": ^18.2.6 "@types/react-test-renderer": ^18.0.0 "@typescript-eslint/eslint-plugin": ^8.5.0 @@ -3322,15 +3960,19 @@ __metadata: eslint-plugin-prettier: ^5.2.1 eslint-plugin-react: ^7.36.1 eslint-plugin-react-hooks: ^4.6.2 + geolib: ^3.3.4 jest: ^29.6.3 prettier: latest react: 18.3.1 react-native: 0.75.1 react-native-dotenv: ^3.4.11 + react-native-gesture-handler: ^2.21.0 + react-native-reanimated: ^3.16.1 react-native-safe-area-context: ^4.11.0 - react-native-screens: ^3.34.0 + react-native-screens: 3.29.0 react-redux: ^9.1.2 react-test-renderer: 18.3.1 + turf: ^3.0.14 typescript: 5.0.4 languageName: unknown linkType: soft @@ -3379,6 +4021,15 @@ __metadata: languageName: node linkType: hard +"affine-hull@npm:^1.0.0": + version: 1.0.0 + resolution: "affine-hull@npm:1.0.0" + dependencies: + robust-orientation: ^1.1.3 + checksum: c3387ff19d1b2c6153e63671fe620a68f0d9b7265c9f05541baa3eb09b473adc0a620f945d8b405a17991334f69669b14ce290cf2c0c83c88e639426748517da + languageName: node + linkType: hard + "agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": version: 7.1.1 resolution: "agent-base@npm:7.1.1" @@ -3882,6 +4533,13 @@ __metadata: languageName: node linkType: hard +"bit-twiddle@npm:^1.0.0": + version: 1.0.2 + resolution: "bit-twiddle@npm:1.0.2" + checksum: 2f97b47d755efac7bae5f49c2eb0929867dad2921a853a4507466b4fa5c5b97803fdf8b729ca56da35934888f50730888b8137614e9974b783f1023da908a1ea + languageName: node + linkType: hard + "bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -3935,6 +4593,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.24.0": + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" + dependencies: + caniuse-lite: ^1.0.30001669 + electron-to-chromium: ^1.5.41 + node-releases: ^2.0.18 + update-browserslist-db: ^1.1.1 + bin: + browserslist: cli.js + checksum: cf64085f12132d38638f38937a255edb82c7551b164a98577b055dd79719187a816112f7b97b9739e400c4954cd66479c0d7a843cb816e346f4795dc24fd5d97 + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -4054,6 +4726,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001669": + version: 1.0.30001680 + resolution: "caniuse-lite@npm:1.0.30001680" + checksum: 2641d2b18c5ab0a6663cb350c5adc81e5ede1a7677d1c7518a8053ada87bf6f206419e1820a2608f76fa5e4f7bea327cbe47df423783e571569a88c0ea645270 + languageName: node + linkType: hard + "chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -4368,6 +5047,17 @@ __metadata: languageName: node linkType: hard +"convex-hull@npm:^1.0.3": + version: 1.0.3 + resolution: "convex-hull@npm:1.0.3" + dependencies: + affine-hull: ^1.0.0 + incremental-convex-hull: ^1.0.1 + monotone-convex-hull-2d: ^1.0.1 + checksum: 7fadf4e5fd932d22b317388d37cb72b87322f736e262e0d89d9cfc0392b427a14aafac5e59a148d2dd5553257d62303f35d6ae374c98e77334e6aae8e169ab82 + languageName: node + linkType: hard + "core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0": version: 3.38.0 resolution: "core-js-compat@npm:3.38.0" @@ -4495,6 +5185,13 @@ __metadata: languageName: node linkType: hard +"debounce@npm:^1.2.0": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e + languageName: node + linkType: hard + "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -4710,6 +5407,13 @@ __metadata: languageName: node linkType: hard +"earcut@npm:^2.0.0": + version: 2.2.4 + resolution: "earcut@npm:2.2.4" + checksum: aea0466cb2f24e0c3c57148d8d28ac9846f53c4f43ee66780826474303ac851b305ef988152d0bdeb31e8f7ca939dc0df737e7505cfb1c1bdf2ff9d7f9ea2faa + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -4731,6 +5435,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.41": + version: 1.5.62 + resolution: "electron-to-chromium@npm:1.5.62" + checksum: 5b378e7967495faebb27e8d9c7db5ea1477bfdfe13c21bf79eb812df81f0f25ee9acbcbd09eaa17b38287e2b3bc18a762fa654ac40095b23bf0cb71c108a284f + languageName: node + linkType: hard + "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -4985,6 +5696,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 47b029c83de01b0d17ad99ed766347b974b0d628e848de404018f3abee728e987da0d2d370ad4574aa3d5b5bfc368754fd085d69a30f8e75903486ec4b5b709e + languageName: node + linkType: hard + "escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" @@ -5842,6 +6560,51 @@ __metadata: languageName: node linkType: hard +"geojson-area@npm:^0.2.1": + version: 0.2.1 + resolution: "geojson-area@npm:0.2.1" + dependencies: + wgs84: 0.0.0 + checksum: a1556a29925a5e875b2d157bd4fa853f23048d0c25143d3b6e2535d2fa075f049b0cc53ef2529511acb1db2eba1546d0774279a4fa0d8a993984e43344857a4a + languageName: node + linkType: hard + +"geojson-normalize@npm:0.0.0": + version: 0.0.0 + resolution: "geojson-normalize@npm:0.0.0" + checksum: 747901fea2b9719c1077ddf27091aff0108e18b80531fee4431f2dd307f982021f92b1e4655affd300ffd6d6a112cba67cb107552c52f33ea660573fabc99e1d + languageName: node + linkType: hard + +"geojson-random@npm:^0.2.2": + version: 0.2.2 + resolution: "geojson-random@npm:0.2.2" + bin: + geojson-random: geojson-random + checksum: 3d1e61d2e3f9e45c2b923405cdaf5dddc0efaf67c7049a37ad7292ba0ee9a43875f99e35da485c05bc155b1660448745208556be8346bdfcb748bb80e705a154 + languageName: node + linkType: hard + +"geojson-rbush@npm:3.x": + version: 3.2.0 + resolution: "geojson-rbush@npm:3.2.0" + dependencies: + "@turf/bbox": "*" + "@turf/helpers": 6.x + "@turf/meta": 6.x + "@types/geojson": 7946.0.8 + rbush: ^3.0.1 + checksum: f373e646f3699b86e3f88b16783bb8835b75446f0be9d5cbefbb5a0197e657ebe85fecfd7ce0b9140feecf532a88716c1aacf4d6a0dbcce1b48d6fd29d507927 + languageName: node + linkType: hard + +"geolib@npm:^3.3.4": + version: 3.3.4 + resolution: "geolib@npm:3.3.4" + checksum: b5ca8090effd384fec168a957d89416577a92dcb63aedf361a60794e07051e6f2a98a3c2db64de2dd9114ac22c63fbf9ec67b2f61dbc300292040cbd4387942b + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -6113,6 +6876,15 @@ __metadata: languageName: node linkType: hard +"hoist-non-react-statics@npm:^3.3.0": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: ^16.7.0 + checksum: b1538270429b13901ee586aa44f4cc3ecd8831c061d06cb8322e50ea17b3f5ce4d0e2e66394761e6c8e152cd8c34fb3b4b690116c6ce2bd45b18c746516cb9e8 + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -6247,6 +7019,16 @@ __metadata: languageName: node linkType: hard +"incremental-convex-hull@npm:^1.0.1": + version: 1.0.1 + resolution: "incremental-convex-hull@npm:1.0.1" + dependencies: + robust-orientation: ^1.1.2 + simplicial-complex: ^1.0.0 + checksum: dcb7025bca2db5fa6a2489b13247f03dde22df31e97ef9e6a31766a6e63c184c986f764fc54af223060fa286cc9341cb76b9af2968cd72eca9971ffe5fb65c94 + languageName: node + linkType: hard + "indent-string@npm:^4.0.0": version: 4.0.0 resolution: "indent-string@npm:4.0.0" @@ -7324,6 +8106,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: a36d3ca40574a974d9c2063bf68c2b6141c20da8f2a36bd3279fc802563f35f0527a6c828801295bdfb2803952cf2cf387786c2c90ed564f88d5782475abfe3c + languageName: node + linkType: hard + "jsesc@npm:~0.5.0": version: 0.5.0 resolution: "jsesc@npm:0.5.0" @@ -7400,6 +8191,13 @@ __metadata: languageName: node linkType: hard +"jsts@npm:1.1.2": + version: 1.1.2 + resolution: "jsts@npm:1.1.2" + checksum: f2187de6fc23eb63ec49cd73d80e6b2e0ab0ba2f07e3590ec9aaa94be3def716d52e74e462ac62601309326e4a279fa33b9c1dbbe55eaf22452c848fb7094d67 + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -7985,7 +8783,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": +"minimist@npm:^1.1.0, minimist@npm:^1.2.0, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -8103,6 +8901,15 @@ __metadata: languageName: node linkType: hard +"monotone-convex-hull-2d@npm:^1.0.1": + version: 1.0.1 + resolution: "monotone-convex-hull-2d@npm:1.0.1" + dependencies: + robust-orientation: ^1.1.3 + checksum: 2d788534b29ab568387e2da43057e3fa9912fbac5e73a9e1bd78fae15951258c66d2e4655cdf2df4db7a944f1db619828030ba4824ac5fe794edefd8e8377440 + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -8124,7 +8931,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:3.3.7": +"nanoid@npm:3.3.7, nanoid@npm:^3.3.1": version: 3.3.7 resolution: "nanoid@npm:3.3.7" bin: @@ -8628,6 +9435,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -8774,7 +9588,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.8.1": +"prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -8841,6 +9655,13 @@ __metadata: languageName: node linkType: hard +"quickselect@npm:^2.0.0": + version: 2.0.0 + resolution: "quickselect@npm:2.0.0" + checksum: ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c + languageName: node + linkType: hard + "range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -8848,6 +9669,15 @@ __metadata: languageName: node linkType: hard +"rbush@npm:^3.0.1": + version: 3.0.1 + resolution: "rbush@npm:3.0.1" + dependencies: + quickselect: ^2.0.0 + checksum: b7def5ba762ca01b6c7c032098ef61b86bd4fef4afb82e4a1d70a07a929b39e779290446c2d4730f577e8a1c8fd0dfd349605b5ea0229258d5f013debdffa65a + languageName: node + linkType: hard + "react-devtools-core@npm:^5.3.1": version: 5.3.1 resolution: "react-devtools-core@npm:5.3.1" @@ -8874,7 +9704,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1": +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -8899,6 +9729,44 @@ __metadata: languageName: node linkType: hard +"react-native-gesture-handler@npm:^2.21.0": + version: 2.21.0 + resolution: "react-native-gesture-handler@npm:2.21.0" + dependencies: + "@egjs/hammerjs": ^2.0.17 + hoist-non-react-statics: ^3.3.0 + invariant: ^2.2.4 + prop-types: ^15.7.2 + peerDependencies: + react: "*" + react-native: "*" + checksum: c72c90714567f6db388e6fedfaf1b3e118c82669e01524ce390c3ec4e7c42297aad56c3e0952d203ac80062b5d595fd06b9190ec8a9db82084ab148674fd5e34 + languageName: node + linkType: hard + +"react-native-reanimated@npm:^3.16.1": + version: 3.16.1 + resolution: "react-native-reanimated@npm:3.16.1" + dependencies: + "@babel/plugin-transform-arrow-functions": ^7.0.0-0 + "@babel/plugin-transform-class-properties": ^7.0.0-0 + "@babel/plugin-transform-classes": ^7.0.0-0 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.0.0-0 + "@babel/plugin-transform-optional-chaining": ^7.0.0-0 + "@babel/plugin-transform-shorthand-properties": ^7.0.0-0 + "@babel/plugin-transform-template-literals": ^7.0.0-0 + "@babel/plugin-transform-unicode-regex": ^7.0.0-0 + "@babel/preset-typescript": ^7.16.7 + convert-source-map: ^2.0.0 + invariant: ^2.2.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + react: "*" + react-native: "*" + checksum: 7d969a24558c8dc7fb175610a867091a7dd04fd5998a09f2f02bfba5d7a59eee5918d2ee47722026a4ecbfb81c594dd28843962a7f01282172b478f7d451a909 + languageName: node + linkType: hard + "react-native-safe-area-context@npm:^4.11.0": version: 4.11.0 resolution: "react-native-safe-area-context@npm:4.11.0" @@ -8909,16 +9777,16 @@ __metadata: languageName: node linkType: hard -"react-native-screens@npm:^3.34.0": - version: 3.34.0 - resolution: "react-native-screens@npm:3.34.0" +"react-native-screens@npm:3.29.0": + version: 3.29.0 + resolution: "react-native-screens@npm:3.29.0" dependencies: react-freeze: ^1.0.0 warn-once: ^0.1.0 peerDependencies: react: "*" react-native: "*" - checksum: 28c1f6e556c318ffcbd79d153b9612cc8a0b8d8b70f909d3cde2fd6d0586a7c151a449e57400d8996f4ee6c3b5140c5c4f643a427e974f6dc573b2bcd8eb7356 + checksum: c1879eea8386f32c2655fedd79d41d8e25d2f4e7f883abbcad2c747ea7ac859f4a7f469475a519948e7c5ea317a7ebd8df92c6365627f6a5da1e4a208cece7e1 languageName: node linkType: hard @@ -9121,6 +9989,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: ^1.4.2 + checksum: d5c5fc13f8b8d7e16e791637a4bfef741f8d70e267d51845ee7d5404a32fa14c75b181c4efba33e4bff8b0000a2f13e9773593713dfe5b66597df4259275ce63 + languageName: node + linkType: hard + "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -9177,6 +10054,38 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.1.1": + version: 6.1.1 + resolution: "regexpu-core@npm:6.1.1" + dependencies: + regenerate: ^1.4.2 + regenerate-unicode-properties: ^10.2.0 + regjsgen: ^0.8.0 + regjsparser: ^0.11.0 + unicode-match-property-ecmascript: ^2.0.0 + unicode-match-property-value-ecmascript: ^2.1.0 + checksum: ed8e3784e81b816b237313688f28b4695d30d4e0f823dfdf130fd4313c629ac6ec67650563867a6ca9a2435f33e79f3a5001c651aee52791e346213a948de0ff + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: a1d925ff14a4b2be774e45775ee6b33b256f89c42d480e6d85152d2133f18bd3d6af662161b226fa57466f7efec367eaf7ccd2a58c0ec2a1306667ba2ad07b0d + languageName: node + linkType: hard + +"regjsparser@npm:^0.11.0": + version: 0.11.2 + resolution: "regjsparser@npm:0.11.2" + dependencies: + jsesc: ~3.0.2 + bin: + regjsparser: bin/parser + checksum: 500ab99d6174aef18b43518f4b1f217192459621b0505ad6e8cbbec8135a83e64491077843b4ad06249a207ffecd6566f3db1895a7c5df98f786b4b0edcc9820 + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -9358,6 +10267,42 @@ __metadata: languageName: node linkType: hard +"robust-orientation@npm:^1.1.2, robust-orientation@npm:^1.1.3": + version: 1.2.1 + resolution: "robust-orientation@npm:1.2.1" + dependencies: + robust-scale: ^1.0.2 + robust-subtract: ^1.0.0 + robust-sum: ^1.0.0 + two-product: ^1.0.2 + checksum: 83b87300009716d96cf17af27b2c787bb7cabe00e82b6740ff4777a601babfcf132b3ec3d10cb1a91886423aa51863026d3befd58058af3b90be98abbda0056e + languageName: node + linkType: hard + +"robust-scale@npm:^1.0.2": + version: 1.0.2 + resolution: "robust-scale@npm:1.0.2" + dependencies: + two-product: ^1.0.2 + two-sum: ^1.0.0 + checksum: 4217f15c94bc803c0c78f6011507102cb603a4e9f71721d44e155c17c1fbe989382c8a150d20e23ca51164077395dab698498b9650d2377cc0a69902d73d0a1c + languageName: node + linkType: hard + +"robust-subtract@npm:^1.0.0": + version: 1.0.0 + resolution: "robust-subtract@npm:1.0.0" + checksum: e9dcc39a1a802d4a34d338844d9382ad7e49f58c5d01ce0d66cd18d6477069475af11a80fba0c0e158211c2b272c1c05950e78cbfc29ea7005f4ecc9e9f9d492 + languageName: node + linkType: hard + +"robust-sum@npm:^1.0.0": + version: 1.0.0 + resolution: "robust-sum@npm:1.0.0" + checksum: b9f32829ba3d6fd9cffeee440e1fb93a7d42f264540bd631abf13d0e8737f3a15a16a15764fa8a2fe86d3db6a1970361cf7ad2ed536c858b59e45f6f493a454b + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -9613,6 +10558,23 @@ __metadata: languageName: node linkType: hard +"simplicial-complex@npm:^1.0.0": + version: 1.0.0 + resolution: "simplicial-complex@npm:1.0.0" + dependencies: + bit-twiddle: ^1.0.0 + union-find: ^1.0.0 + checksum: 3fb369fe9306101e798855908cfb7a5f01d8203a889e94e83228f382ad70589419cc26456ba9f417167d3d77363e6f215a3b7fc0a8d1fe45d5508e7786199a40 + languageName: node + linkType: hard + +"simplify-js@npm:^1.2.1": + version: 1.2.4 + resolution: "simplify-js@npm:1.2.4" + checksum: 5bbc7b6223565ce7e1aa636405a973fc6a34b3b2704d697682d3023cf2582a8a7c5fdb42f1b251749d6377b44465d3c33d60aa98306192d9ba069d71dc778735 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -10198,6 +11160,556 @@ __metadata: languageName: node linkType: hard +"turf-along@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-along@npm:3.0.12" + dependencies: + turf-bearing: ^3.0.12 + turf-destination: ^3.0.12 + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 2ad8d4ad583ef691b1a2e7a1a30d8b773bf00792a5c93187e5cdae2d496316496f7fa9d04b320ef7529b38fe526b0f0c65d104f1acd52af1b928dfd6412feeb6 + languageName: node + linkType: hard + +"turf-area@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-area@npm:3.0.12" + dependencies: + geojson-area: ^0.2.1 + checksum: 35d2ba7ca32c3efd78c4c4235ae3429638f0ea34c520a99c756a2a4524eeca6675c248d6bb0aebcf85128225cca93f215269073094a50b7c11d2d6e6b309d146 + languageName: node + linkType: hard + +"turf-bbox-polygon@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-bbox-polygon@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + checksum: 3fc97a1ee5927745df8fd4176a4a83b4d980658232c6f3e75d2d6a2089a4551865e24f0eb61c9de79ed0ca3f6355f55e545dc1ccd40cb60da47109605d8dfa01 + languageName: node + linkType: hard + +"turf-bbox@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-bbox@npm:3.0.12" + dependencies: + turf-meta: ^3.0.12 + checksum: b5c6c38106470c4f592a6a7b48643514d35045de272233272fdaee0fa0baaeb19f4355644a1f049996d8670993343d6347f0a40972fa9ce5960fe20b6718762e + languageName: node + linkType: hard + +"turf-bearing@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-bearing@npm:3.0.12" + dependencies: + turf-invariant: ^3.0.12 + checksum: 7a48ffc1e302a8b7c2a17ecabd399d3a3911a806f4589109a48dc814fea3f199d190d6d354c9949e4237db49d56c2c7fb5a2d8d5438d2ece2f45ab7ee512f94c + languageName: node + linkType: hard + +"turf-bezier@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-bezier@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + checksum: b861d62f041769abaed6c2c6873351d03e7f23458b0b4078e72d0c3fe21a2724dbd5ad5f8f4ae34f0887d9affbcbf11796a142ce8fee31a49eb3145db4a2c44e + languageName: node + linkType: hard + +"turf-buffer@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-buffer@npm:3.0.12" + dependencies: + geojson-normalize: 0.0.0 + jsts: 1.1.2 + turf-combine: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 23174032eb0ce0c24bcdb70b2e71383e31afd954d9dbc603e177ec0dc2032e7b3474c87925928eb142c5b3e6a05d2e3dfe60f78aa0b6960420255080e1a3d800 + languageName: node + linkType: hard + +"turf-center@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-center@npm:3.0.12" + dependencies: + turf-bbox: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 88ec732ce5d84ef0118a5b92047b66f7dc7f5bd394db6554d8d7e75aee62eb60f0a3033c1bff63c74585dd6e4da51399116c1a16f4764ea4ca024f0e922eb73b + languageName: node + linkType: hard + +"turf-centroid@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-centroid@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + turf-meta: ^3.0.12 + checksum: 75aea23b1305a33626836cb7f99d3b9321d77ddf1a17b60c71b230a2ab8de08e1cc7841a72645b418220f7613811407a939b8c321b17b0c6689419fd9f40e60d + languageName: node + linkType: hard + +"turf-circle@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-circle@npm:3.0.12" + dependencies: + turf-destination: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: c5085f4be9e041efda96f96066dce13308c1473cf712084e6612f17c1f1f3cab29f9e28e0de8347cc6509d8c4eaf46a9915ee307edc6c3291be9a9e0ed1d19f6 + languageName: node + linkType: hard + +"turf-collect@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-collect@npm:3.0.12" + dependencies: + turf-inside: ^3.0.12 + checksum: f128f34d7f79cee95f05b718a6e7e530b3bdc222f016b89a497ff83bf131d247bec20ca90455238dafe038d224afa3c79128bf819ef83cf39828ef0ec9b212db + languageName: node + linkType: hard + +"turf-combine@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-combine@npm:3.0.12" + dependencies: + turf-meta: ^3.0.12 + checksum: dc7005b0bead507eaaf6d42094c90bc238bfbeb2bae9f39332c4915ff06fb57786739adad65032b5bc3b8f978c7945a81556dc83b5ea0efa774f6c25033bfcd2 + languageName: node + linkType: hard + +"turf-concave@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-concave@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-meta: ^3.0.12 + turf-tin: ^3.0.12 + turf-union: ^3.0.12 + checksum: 12bc2f1392eb0cef0d017b31faad2ed9f49290dda109243c4f0649db38b64c59f573232c6118aefbc189558e2c0610f75fbb60446702889b8718a39de4e47bdb + languageName: node + linkType: hard + +"turf-convex@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-convex@npm:3.0.12" + dependencies: + convex-hull: ^1.0.3 + turf-helpers: ^3.0.12 + turf-meta: ^3.0.12 + checksum: 3c17f4438d4cdf027b40a822964c04e88b6e8dbcb7ea5f9de3879387e1398d3cc22ae894cdfd1eb660b22ca87efb1d13243f1f31ea202c72576981d715c0022e + languageName: node + linkType: hard + +"turf-destination@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-destination@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + turf-invariant: ^3.0.12 + checksum: ef92e993450f1a652bcb07103d2082c8fdce9a93cd43ed3776af9b27daa21cfbf16a27171f336eae08f123785a8b118b48c5125610e18c701357d300df69db4c + languageName: node + linkType: hard + +"turf-difference@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-difference@npm:3.0.12" + dependencies: + jsts: 1.1.2 + turf-helpers: ^3.0.12 + checksum: da873d7aad7049f5a6d637435748e697193041320a793cb79e86de3f21bf6e65b3976b29426bd6145528cbec8308b7aa5e8c30431128594e82f2418d86855159 + languageName: node + linkType: hard + +"turf-distance@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-distance@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + turf-invariant: ^3.0.12 + checksum: ff1cd207336d24aab3778ac700b3db66cc5cbbb6e08c9a40b58a0556d12553bd0be13652d4e29008ed9ec8dfba475b2f622a94dcafc62b5b32db178b4d22f805 + languageName: node + linkType: hard + +"turf-envelope@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-envelope@npm:3.0.12" + dependencies: + turf-bbox: ^3.0.12 + turf-bbox-polygon: ^3.0.12 + checksum: 7ddf51102b8f392e5ca116fc837700931ad6eb598e3273e81e05aab634b8a59fa7902643fa578e01b9b45c223e8644c651669cf0418828a8a749d039e345e61d + languageName: node + linkType: hard + +"turf-explode@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-explode@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + turf-meta: ^3.0.12 + checksum: 82e51bc03b6274a6d888bc824348fc17277c1915c9dd5dad36c4f83afb6badd49da8129caf4aabf8b482f81ca48fc9b3e26a4b3b225a51abbeb252a85fee42c6 + languageName: node + linkType: hard + +"turf-flip@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-flip@npm:3.0.12" + dependencies: + turf-meta: ^3.0.12 + checksum: c41b1b0810d86b0236c95fb580219eabb9000af6d0ab2c4eac1158aa389996d27b93b514de5dc7d9afa26de8c532fce5c24b7c78b582aae8af0a1f077d0cec00 + languageName: node + linkType: hard + +"turf-grid@npm:1.0.1": + version: 1.0.1 + resolution: "turf-grid@npm:1.0.1" + dependencies: + turf-point: ^2.0.0 + checksum: a7a6a83133e2f5cf42c62583dbf5ce50d45baa5b9cbc23a71de113bf0cdabbad73caf00c6e6c606a0b7b41a3efc8c5c64d89c4af759eff4b3487803debba3a7d + languageName: node + linkType: hard + +"turf-helpers@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-helpers@npm:3.0.12" + checksum: 8a9f91f85d2a8b453e8c3805af11230c0a6a1169c35222f8de04b473155e282397830f149fee5868eb66a573f46cf4f5ea7eb1d75b08109b167501f12595fa1a + languageName: node + linkType: hard + +"turf-hex-grid@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-hex-grid@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: b7a404923d2514621cd2f3a5c6571ed3cfbc0fe7de7f3ca159fff3afc073a7e8a01a28a23fa08565b5a286e4e5f2592a17156cda39f5a9c745e0047f0f5ab585 + languageName: node + linkType: hard + +"turf-inside@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-inside@npm:3.0.12" + dependencies: + turf-invariant: ^3.0.12 + checksum: 3336aad3b49a21319c7fb6629f515c2747b35f200f83b2a3dff5bf4d3839ed9ecad250ea7bb1e98ba8707500c90dbac0023216cc3245969c4ec2c955d1a405eb + languageName: node + linkType: hard + +"turf-intersect@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-intersect@npm:3.0.12" + dependencies: + jsts: 1.1.2 + checksum: 1195c4092786739203cf52f2004906794697db5eca7788c7f64ce4793c47418263d6f012d56360999876bb0280f60e052cae346771e68abe21c0e4afac85ea54 + languageName: node + linkType: hard + +"turf-invariant@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-invariant@npm:3.0.12" + checksum: 40c806e6a7e05dcb9a7ff18acce29090f2b41e620bf410acfab68aecdeac0400152e7bab4ce252849c83bfb119284cefa7038b700066c179669e5cd56d3aa1d8 + languageName: node + linkType: hard + +"turf-isolines@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-isolines@npm:3.0.12" + dependencies: + turf-bbox: ^3.0.12 + turf-grid: 1.0.1 + turf-helpers: ^3.0.12 + turf-inside: ^3.0.12 + turf-planepoint: ^3.0.12 + turf-square: ^3.0.12 + turf-tin: ^3.0.12 + checksum: 7b7e4766f1ffc326b8999393c01144f8c140a4a72f0c663124e3b0a37d2d2fea30e20d3218d80f700f2bd2921b2d67f371baa48399a02a94b085e62b9262524f + languageName: node + linkType: hard + +"turf-kinks@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-kinks@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + checksum: 48bf0549f0bf8bb99c6b07cdbb0aaaff0be8deaba3c877aa23a23df30cc1bd3d5346262cecc30595d37196928fcb0ce020278e5195055d523197bb36c8573e8b + languageName: node + linkType: hard + +"turf-line-distance@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-line-distance@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: bb8780c882a2f235f8692a91f8505cd200ab7c9e685470abb74954b6bb85856b7e94ef73214ea53c256d950a6fed91298bb57bc31f7943a3308f34a130d53794 + languageName: node + linkType: hard + +"turf-line-slice@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-line-slice@npm:3.0.12" + dependencies: + turf-bearing: ^3.0.12 + turf-destination: ^3.0.12 + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + turf-point-on-line: ^3.0.12 + checksum: a18edad571e636b9ff7a89a374973ff589cc5da7232960b06608eeb69736c8b78395baedb384070ed3bc5348a87f3c89d48bd3adfa812d4800f109c46fe90995 + languageName: node + linkType: hard + +"turf-meta@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-meta@npm:3.0.12" + checksum: 7d315eabd65a5478b6587a9331570d867804f434aafa1801b909f16d80a5f17ee430c525bc0f21893a18b602cf9b775d7030fb662bb8a1ea0cf2047bba3e78aa + languageName: node + linkType: hard + +"turf-midpoint@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-midpoint@npm:3.0.12" + dependencies: + turf-bearing: ^3.0.12 + turf-destination: ^3.0.12 + turf-distance: ^3.0.12 + turf-invariant: ^3.0.12 + checksum: 2e8360aabf76c8d0ff711c290bc8b98ba6ddc113e33cb60185d68f4b43f0ff7770239d8a9576188e6b444d08a4374c1d942a6ed71d26913d0308a38497040e33 + languageName: node + linkType: hard + +"turf-nearest@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-nearest@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + checksum: a7b1423adc0423cbbc50686387ece6d533d310460dda59f0221466cefac2e2660d89531d48d86fa59d5389478810f6ece1975a8f524689e73885b2436f73618b + languageName: node + linkType: hard + +"turf-planepoint@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-planepoint@npm:3.0.12" + checksum: 4a52409f239786972ee2d9cfbe7dbd9abd691f737a8e3867ed350fa442e82074e2d1091cb940dffb419b23bb34f23082e3572b5e563e282d737b6290d8793522 + languageName: node + linkType: hard + +"turf-point-grid@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-point-grid@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 951a23402a900a82d8aab8977963ec03c757c03390c2ea0739bac96e4f3d9a0a82aeef19b921ca581876e53efb8208621230f4523261392a003eabf856090580 + languageName: node + linkType: hard + +"turf-point-on-line@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-point-on-line@npm:3.0.12" + dependencies: + turf-bearing: ^3.0.12 + turf-destination: ^3.0.12 + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 798e125f6128571243323fac886e69ea6b7dcd24556cbe6c49b5280b9951e68740f3aa35d79f5845a6840faabec2c95091529d46894706b07d35143ac328ebd9 + languageName: node + linkType: hard + +"turf-point-on-surface@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-point-on-surface@npm:3.0.12" + dependencies: + turf-center: ^3.0.12 + turf-distance: ^3.0.12 + turf-explode: ^3.0.12 + turf-helpers: ^3.0.12 + turf-inside: ^3.0.12 + checksum: 040df34e5137ea6a7a2bac0c10a3e1949fc8710e445fefec861b1161503d10b9ab1aaa5a19d7d7eeb76f7e59116fb2e744b2a188b35c7510b3854be809aade11 + languageName: node + linkType: hard + +"turf-point@npm:^2.0.0": + version: 2.0.1 + resolution: "turf-point@npm:2.0.1" + dependencies: + minimist: ^1.1.0 + bin: + turf-point: bin/point.js + checksum: 55b491e2880901bf8445f1211d1a2c296a05776d215d94aa310dfd59989099d6b73156f8db4f0db77ba3890a5ba0706df158b1c5c7ce3b277785ea69a0d1f0f0 + languageName: node + linkType: hard + +"turf-random@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-random@npm:3.0.12" + dependencies: + geojson-random: ^0.2.2 + checksum: 7621231d2281b1b5089c11668312deb0d3e8789035f37ade249c62460a67211bcfcb3620bc91e70390a24f72ec9bf99623b227a04f2770e6fc6562c68d89287f + languageName: node + linkType: hard + +"turf-sample@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-sample@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + checksum: fd5cba7419f08713ef61cfb462e4cbc064b1f6c6598f6b74c2cc6687e0ecdb05faa3dc98ce6be0212206b6663950da61f3bbbad953c5d738c9f16002f8b240e0 + languageName: node + linkType: hard + +"turf-simplify@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-simplify@npm:3.0.12" + dependencies: + simplify-js: ^1.2.1 + checksum: 75b3e00d2e66bc34e811757e5468c8ff46cba2a3bfb4f0f3fee6ec854ae67c8e29a5bc7039ce5a8db33c86b87993830ed8ff6d77e1985f3abb20e733b3069e55 + languageName: node + linkType: hard + +"turf-square-grid@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-square-grid@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 127d9dae96d9027acffee8ff45dfe319eb697ed924a4e4df4f9f7240c1175653ec5961be58ab68101d488e0a26bfce15940bb9bad08a3c22b6563c2b1ebb6953 + languageName: node + linkType: hard + +"turf-square@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-square@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 50eb0d13eddf35e3e9ae744d4bc2b746d7638a7f4d390723e1c760f54f1d7f80f8e78f079de18fe12d4946a3644acac48fe6905fdee2590f65064fcfd8f428be + languageName: node + linkType: hard + +"turf-tag@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-tag@npm:3.0.12" + dependencies: + turf-inside: ^3.0.12 + checksum: 5d007ebc72a79903cbf84369378389c4aed00a08f2a04adb7789a68c1b91c51881e2f1d5db655d834de528f898896bf2cb9d212d8fe4a6a625188ed1111da952 + languageName: node + linkType: hard + +"turf-tesselate@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-tesselate@npm:3.0.12" + dependencies: + earcut: ^2.0.0 + turf-helpers: ^3.0.12 + checksum: caf3386add2d9cc74f7114eb4f1755ce5100cdd62ca1c9cd500f1fea9870091426d77075a50dcc28d93b7d1617db8e23c441969893d7d4f36feec3ac869f778f + languageName: node + linkType: hard + +"turf-tin@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-tin@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + checksum: d57653513695bfcd7b2807e693d220f8d299b319f1f296aac43b43bb225fbc355fae978367b7be66b361674ba5c2e7af32fa22f13efcbc19d9735def68eaa16b + languageName: node + linkType: hard + +"turf-triangle-grid@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-triangle-grid@npm:3.0.12" + dependencies: + turf-distance: ^3.0.12 + turf-helpers: ^3.0.12 + checksum: 0e76b872a1317b250284c41e933ea8465e7ae0e898786073eae560e9980342b3724e51d1ece5841a767711e825a490e0b02bdc9c484e4a14e5d717730ea5d584 + languageName: node + linkType: hard + +"turf-union@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-union@npm:3.0.12" + dependencies: + jsts: 1.1.2 + checksum: 019ef237409f9abfa7fa4de06ec7ba933976c627538b052d3cf61f9446385d9a60cc3173617b6aed827f0299370744cd025402260c5bcaea0b4f085af1e9ec12 + languageName: node + linkType: hard + +"turf-within@npm:^3.0.12": + version: 3.0.12 + resolution: "turf-within@npm:3.0.12" + dependencies: + turf-helpers: ^3.0.12 + turf-inside: ^3.0.12 + checksum: 6e8db48fcfce4e567826380e8e2d59f2fccee108dc6289ccc9830436945dfddbeecb1a26c3b26c590d5f30415060341dc10d8a99821dabbf515844eaa2468a13 + languageName: node + linkType: hard + +"turf@npm:^3.0.14": + version: 3.0.14 + resolution: "turf@npm:3.0.14" + dependencies: + turf-along: ^3.0.12 + turf-area: ^3.0.12 + turf-bbox: ^3.0.12 + turf-bbox-polygon: ^3.0.12 + turf-bearing: ^3.0.12 + turf-bezier: ^3.0.12 + turf-buffer: ^3.0.12 + turf-center: ^3.0.12 + turf-centroid: ^3.0.12 + turf-circle: ^3.0.12 + turf-collect: ^3.0.12 + turf-combine: ^3.0.12 + turf-concave: ^3.0.12 + turf-convex: ^3.0.12 + turf-destination: ^3.0.12 + turf-difference: ^3.0.12 + turf-distance: ^3.0.12 + turf-envelope: ^3.0.12 + turf-explode: ^3.0.12 + turf-flip: ^3.0.12 + turf-helpers: ^3.0.12 + turf-hex-grid: ^3.0.12 + turf-inside: ^3.0.12 + turf-intersect: ^3.0.12 + turf-isolines: ^3.0.12 + turf-kinks: ^3.0.12 + turf-line-distance: ^3.0.12 + turf-line-slice: ^3.0.12 + turf-meta: ^3.0.12 + turf-midpoint: ^3.0.12 + turf-nearest: ^3.0.12 + turf-planepoint: ^3.0.12 + turf-point-grid: ^3.0.12 + turf-point-on-line: ^3.0.12 + turf-point-on-surface: ^3.0.12 + turf-random: ^3.0.12 + turf-sample: ^3.0.12 + turf-simplify: ^3.0.12 + turf-square: ^3.0.12 + turf-square-grid: ^3.0.12 + turf-tag: ^3.0.12 + turf-tesselate: ^3.0.12 + turf-tin: ^3.0.12 + turf-triangle-grid: ^3.0.12 + turf-union: ^3.0.12 + turf-within: ^3.0.12 + checksum: fbf707eee97a02e4b4def74ea1e8f1c2fd8e31caec0a0ff83e98980222bae97c0342d90b3ae4ca96ac01dbe0cfd1ea419207c65d60575e401113f98d7b546ef9 + languageName: node + linkType: hard + +"two-product@npm:^1.0.2": + version: 1.0.2 + resolution: "two-product@npm:1.0.2" + checksum: b289814957df58b91c910c944e7e247aa01a0a70e8fafdf58f01baf7fa1f96c06dc1cbb6cdafb39525e9a5ac0a9566875f1a76a02ef1f736f26e56fca2f0c847 + languageName: node + linkType: hard + +"two-sum@npm:^1.0.0": + version: 1.0.0 + resolution: "two-sum@npm:1.0.0" + checksum: 2c6a995b555233b989f473a5d039bd237d75f4824b9b54dc9d9ab28157f3e412b37156acbb48b322c817a26f3cc85e3da281c9aed4b06e892d2d27ae88db7d32 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -10357,6 +11869,13 @@ __metadata: languageName: node linkType: hard +"union-find@npm:^1.0.0": + version: 1.0.2 + resolution: "union-find@npm:1.0.2" + checksum: 53912368282673f9c99919602771c176944affc4c7d723ea902e0c2895aff9c4b3532377f191d6d4e0e9861fe92d16bdd012df9c31229732277f34d9a25f0a6c + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -10403,6 +11922,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.1": + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" + dependencies: + escalade: ^3.2.0 + picocolors: ^1.1.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 2ea11bd2562122162c3e438d83a1f9125238c0844b6d16d366e3276d0c0acac6036822dc7df65fc5a89c699cdf9f174acf439c39bedf3f9a2f3983976e4b4c3e + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -10501,6 +12034,13 @@ __metadata: languageName: node linkType: hard +"wgs84@npm:0.0.0": + version: 0.0.0 + resolution: "wgs84@npm:0.0.0" + checksum: 07d15bee8240ab123c90b80db590303d0d31c0a572b22b207d641772ce303e892c23c9ea66402ff59b9736b1be9bfc9d3db3b520c90abd08f1cdf0ee61e0649c + languageName: node + linkType: hard + "whatwg-fetch@npm:^3.0.0": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20"