김승훈

final report

1 1
2 var SERVER_lOCAL = "f3eb38c42803.ngrok.io" 2 var SERVER_lOCAL = "f3eb38c42803.ngrok.io"
3 -var SERVER_= "311cd4338cad.ngrok.io" 3 +var SERVER_= "53d03390d6cb.ngrok.io"
4 var SERVER = SERVER_ 4 var SERVER = SERVER_
5 export { SERVER } 5 export { SERVER }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -13,14 +13,15 @@ class MainPage extends Component { ...@@ -13,14 +13,15 @@ class MainPage extends Component {
13 13
14 super(props) 14 super(props)
15 15
16 - //AsyncStorage.getItem('isFirst',(err,result) => { 16 + AsyncStorage.getItem('isFirst',(err,result) => {
17 - // 17 +
18 - // JSON.parse(result)? this.props.navigation.navigate('App'): 18 + JSON.parse(result)? this.props.navigation.navigate('App'):
19 - // 19 +
20 - // this.props.navigation.navigate('Guidance') 20 + this.props.navigation.navigate('Guidance')
21 - // 21 +
22 - //}) 22 + })
23 this.props.navigation.navigate('Guidance') 23 this.props.navigation.navigate('Guidance')
24 +
24 } 25 }
25 _onRefresh = () => { 26 _onRefresh = () => {
26 this.setState({refreshing: true}); 27 this.setState({refreshing: true});
......
1 -node_modules/
2 -venv/
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true,
3 - "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true
4 -}
1 -node_modules/**/*
2 -.expo/*
3 -npm-debug.*
4 -*.jks
5 -*.p8
6 -*.p12
7 -*.key
8 -*.mobileprovision
9 -*.orig.*
10 -web-build/
11 -web-report/
12 -
13 -# macOS
14 -.DS_Store
1 -import { Component } from 'react';
2 -import { StyleSheet, Text, View, AppRegistry } from 'react-native';
3 -import { createAppContainer } from 'react-navigation';
4 -import {createStackNavigator } from 'react-navigation-stack'
5 -import MainScreen from './components/Navigation/Navigation';
6 -import React from 'react'
7 -
8 -const AppStackNavigator = createStackNavigator({
9 - Main:{
10 - screen: MainScreen,
11 - navigationOptions: {
12 - headerShown:false
13 - }
14 - }
15 -});
16 -
17 -export default createAppContainer(AppStackNavigator);
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "expo": {
3 - "name": "HelloWorld",
4 - "slug": "PME",
5 - "platforms": [
6 - "ios",
7 - "android",
8 - "web"
9 - ],
10 - "version": "1.0.0",
11 - "orientation": "portrait",
12 - "icon": "./assets/icon.png",
13 - "splash": {
14 - "image": "./assets/splash.png",
15 - "resizeMode": "contain",
16 - "backgroundColor": "#ffffff"
17 - },
18 - "updates": {
19 - "fallbackToCacheTimeout": 0
20 - },
21 - "assetBundlePatterns": [
22 - "**/*"
23 - ],
24 - "ios": {
25 - "supportsTablet": true
26 - },
27 - "android" : {
28 - "package" : "com.A.BLE",
29 - "config": {
30 - "googleMaps": {"apiKey":"AIzaSyCe_1-Mml2OyihnmS2oiPUj73X-Aj1j_2k"}
31 - }
32 - }
33 - }
34 -}
1 -module.exports = function(api) {
2 - api.cache(true);
3 - return {
4 - presets: ['babel-preset-expo'],
5 - };
6 -};
1 -import React, { memo, useState, useEffect, useMemo, createRef } from "react";
2 -import { Dimensions, LayoutAnimation, Platform } from "react-native";
3 -import MapView, { Marker, Polyline } from "react-native-maps";
4 -import SuperCluster from "supercluster";
5 -import ClusterMarker from "./ClusteredMarker";
6 -import {
7 - isMarker,
8 - markerToGeoJSONFeature,
9 - calculateBBox,
10 - returnMapZoom,
11 - generateSpiral
12 -} from "./helpers";
13 -
14 -const ClusteredMapView = ({
15 - radius,
16 - maxZoom,
17 - minZoom,
18 - extent,
19 - nodeSize,
20 - children,
21 - onClusterPress,
22 - onRegionChangeComplete,
23 - preserveClusterPressBehavior,
24 - clusteringEnabled,
25 - clusterColor,
26 - clusterTextColor,
27 - spiderLineColor,
28 - layoutAnimationConf,
29 - animationEnabled,
30 - renderCluster,
31 - ...restProps
32 -}) => {
33 - const [markers, updateMarkers] = useState([]);
34 - const [spiderMarkers, updateSpiderMarker] = useState([]);
35 - const [otherChildren, updateChildren] = useState([]);
36 - const [superCluster, setSuperCluster] = useState(null);
37 - const [currentRegion, updateRegion] = useState(
38 - restProps.region || restProps.initialRegion
39 - );
40 -
41 - const [isSpiderfier, updateSpiderfier] = useState(false);
42 - const [spiderfierMarker, updateSpiderfierMarker] = useState(null);
43 - const [clusterChildren, updateClusterChildren] = useState(null);
44 - const mapRef = createRef();
45 -
46 - const propsChildren = useMemo(() => React.Children.toArray(children), [
47 - children
48 - ]);
49 -
50 - useEffect(() => {
51 - const rawData = [];
52 - const otherChildren = [];
53 -
54 - if (!clusteringEnabled) {
55 - updateChildren(propsChildren);
56 - return;
57 - }
58 -
59 - React.Children.forEach(children, (child, i) => {
60 - if (isMarker(child)) {
61 - rawData.push(markerToGeoJSONFeature(child, i));
62 - } else {
63 - otherChildren.push(child);
64 - }
65 - });
66 -
67 - const superCluster = new SuperCluster({
68 - radius,
69 - maxZoom,
70 - minZoom,
71 - extent,
72 - nodeSize
73 - });
74 -
75 - superCluster.load(rawData);
76 -
77 - const bBox = calculateBBox(currentRegion);
78 - const zoom = returnMapZoom(currentRegion, bBox, minZoom);
79 - const markers = superCluster.getClusters(bBox, zoom);
80 -
81 - updateMarkers(markers);
82 - updateChildren(otherChildren);
83 - setSuperCluster(superCluster);
84 - }, [children, restProps.region, restProps.initialRegion]);
85 -
86 - useEffect(() => {
87 - if (isSpiderfier && markers.length > 0) {
88 - let positions = generateSpiral(
89 - markers[0].properties.point_count,
90 - markers[0].geometry.coordinates,
91 - clusterChildren
92 - );
93 - updateSpiderMarker(positions);
94 - updateSpiderfierMarker({
95 - latitude: markers[0].geometry.coordinates[1],
96 - longitude: markers[0].geometry.coordinates[0]
97 - });
98 - } else {
99 - updateSpiderMarker([]);
100 - }
101 - }, [isSpiderfier]);
102 -
103 - const _onRegionChangeComplete = region => {
104 - if (superCluster) {
105 - const bBox = calculateBBox(region);
106 - const zoom = returnMapZoom(region, bBox, minZoom);
107 - const markers = superCluster.getClusters(bBox, zoom);
108 -
109 - if (animationEnabled && Platform.OS === "ios") {
110 - LayoutAnimation.configureNext(layoutAnimationConf);
111 - }
112 -
113 - if (zoom >= 17 && markers.length === 1 && clusterChildren) {
114 - updateSpiderfier(true);
115 - } else {
116 - updateSpiderfier(false);
117 - }
118 -
119 - updateMarkers(markers);
120 - onRegionChangeComplete(region, markers);
121 - updateRegion(region);
122 - }
123 - };
124 -
125 - const _onClusterPress = cluster => () => {
126 - const children = superCluster.getLeaves(cluster.id);
127 - updateClusterChildren(children);
128 -
129 - if (preserveClusterPressBehavior) {
130 - onClusterPress(cluster, children);
131 - return;
132 - }
133 -
134 - const coordinates = children.map(({ geometry }) => ({
135 - latitude: geometry.coordinates[1],
136 - longitude: geometry.coordinates[0]
137 - }));
138 -
139 - mapRef.current.fitToCoordinates(coordinates, {
140 - edgePadding: restProps.edgePadding
141 - });
142 -
143 - onClusterPress(cluster, children);
144 - };
145 -
146 - return (
147 - <MapView
148 - {...restProps}
149 - ref={map => {
150 - restProps.mapRef(map);
151 - mapRef.current = map;
152 - }}
153 - onRegionChangeComplete={_onRegionChangeComplete}
154 - >
155 - {markers.map(marker =>
156 - marker.properties.point_count === 0 ? (
157 - propsChildren[marker.properties.index]
158 - ) : !isSpiderfier ? (
159 - renderCluster ? (
160 - renderCluster({
161 - onPress: _onClusterPress(marker),
162 - clusterColor,
163 - clusterTextColor,
164 - ...marker
165 - })
166 - ) : (
167 - <ClusterMarker
168 - key={`cluster-${marker.id}`}
169 - {...marker}
170 - onPress={_onClusterPress(marker)}
171 - clusterColor={clusterColor}
172 - clusterTextColor={clusterTextColor}
173 - />
174 - )
175 - ) : null
176 - )}
177 - {otherChildren}
178 - {spiderMarkers.map(marker => (
179 - <Marker
180 - key={marker.latitude}
181 - coordinate={marker}
182 - image={marker.image}
183 - onPress={marker.onPress}
184 - ></Marker>
185 - ))}
186 - {spiderMarkers.map((marker, index) => {
187 - {
188 - return (
189 - spiderfierMarker && (
190 - <Polyline
191 - key={index}
192 - coordinates={[spiderfierMarker, marker, spiderfierMarker]}
193 - strokeColor={spiderLineColor}
194 - strokeWidth={1}
195 - />
196 - )
197 - );
198 - }
199 - })}
200 - </MapView>
201 - );
202 -};
203 -
204 -ClusteredMapView.defaultProps = {
205 - clusteringEnabled: true,
206 - animationEnabled: true,
207 - preserveClusterPressBehavior: false,
208 - layoutAnimationConf: LayoutAnimation.Presets.spring,
209 - // SuperCluster parameters
210 - radius: Dimensions.get("window").width * 0.06,
211 - maxZoom: 20,
212 - minZoom: 1,
213 - extent: 512,
214 - nodeSize: 64,
215 - // Map parameters
216 - edgePadding: { top: 50, left: 50, right: 50, bottom: 50 },
217 - // Cluster styles
218 - clusterColor: "#00B386",
219 - clusterTextColor: "#FFFFFF",
220 - spiderLineColor: "#FF0000",
221 - // Callbacks
222 - onRegionChangeComplete: () => {},
223 - onClusterPress: () => {},
224 - mapRef: () => {}
225 -};
226 -
227 -export default memo(ClusteredMapView);
1 -import React, { memo } from "react";
2 -import { Text, View, StyleSheet, TouchableOpacity } from "react-native";
3 -import { Marker } from "react-native-maps";
4 -import { returnMarkerStyle } from "./helpers";
5 -
6 -const ClusteredMarker = ({
7 - geometry,
8 - properties,
9 - onPress,
10 - clusterColor,
11 - clusterTextColor
12 -}) => {
13 - const points = properties.point_count;
14 - const { width, height, fontSize, size } = returnMarkerStyle(points);
15 -
16 - return (
17 - <Marker
18 - coordinate={{
19 - longitude: geometry.coordinates[0],
20 - latitude: geometry.coordinates[1]
21 - }}
22 - style={{ zIndex: points + 1 }}
23 - onPress={onPress}
24 - >
25 - <TouchableOpacity
26 - activeOpacity={0.5}
27 - style={[styles.container, { width, height }]}
28 - >
29 - <View
30 - style={[
31 - styles.wrapper,
32 - {
33 - backgroundColor: clusterColor,
34 - width,
35 - height,
36 - borderRadius: width / 2
37 - }
38 - ]}
39 - />
40 - <View
41 - style={[
42 - styles.cluster,
43 - {
44 - backgroundColor: clusterColor,
45 - width: size,
46 - height: size,
47 - borderRadius: size / 2
48 - }
49 - ]}
50 - >
51 - <Text style={[styles.text, { color: clusterTextColor, fontSize }]}>
52 - {points}
53 - </Text>
54 - </View>
55 - </TouchableOpacity>
56 - </Marker>
57 - );
58 -};
59 -
60 -const styles = StyleSheet.create({
61 - container: {
62 - display: "flex",
63 - justifyContent: "center",
64 - alignItems: "center"
65 - },
66 - wrapper: {
67 - position: "absolute",
68 - opacity: 0.5,
69 - zIndex: 0
70 - },
71 - cluster: {
72 - display: "flex",
73 - justifyContent: "center",
74 - alignItems: "center",
75 - zIndex: 1
76 - },
77 - text: {
78 - fontWeight: "bold"
79 - }
80 -});
81 -
82 -export default memo(ClusteredMarker);
1 -import { Component } from 'react';
2 -import { StyleSheet, Text, View, Image, TouchableOpacity, Alert } from 'react-native';
3 -import { Icon } from 'native-base'; // 추가된 코드
4 -import React from 'react'
5 -import {Marker} from 'react-native-maps'
6 -import Constants from 'expo-constants';
7 -import * as Location from 'expo-location';
8 -import MapView from "../ClusteredMapView";
9 -
10 -
11 -export default class MainScreen extends Component {
12 -
13 - // navigationOptions 코드 추가
14 - static navigationOptions = {
15 - headerLeft: <Icon name='ios-camera' style={{ paddingLeft:10 }}/>,
16 - title: 'PME Service',
17 - headerRight: <Icon name='ios-send' style={{ paddingRight:10 }}/>,
18 - }
19 - constructor(props) {
20 - super(props)
21 - this.state= {
22 - location:null,
23 - errorMsg:null
24 - }
25 - }
26 - componentDidMount() {
27 - (async () => {
28 - let { status } = await Location.requestPermissionsAsync();
29 - if (status !== 'granted') {
30 - this.setState({
31 - errorMsg:'Permission to access location was denied'
32 - })
33 - }
34 -
35 - let location = await Location.getCurrentPositionAsync({});
36 - console.log(location)
37 - this.setState({
38 - location
39 - },() => {
40 - console.log(this.state.location.coords.latitude)
41 - })
42 - })();
43 - }
44 - render() {
45 - return (
46 - //this.state.location?
47 - <View style={{width:"100%",height:"100%"}}>
48 -
49 - <TouchableOpacity onPress={() => Alert.alert('OK',"주변에 의심자가 있습니까?",[{text:"OK",onPress:() =>alert("확인")},{text:'cancel'}])} style={{position:"absolute",bottom:10,right:10, width:50,height:50,backgroundColor:"red",borderRadius:100}}>
50 - <View style={{flex:1,justifyContent: 'center',alignItems: 'center'}}>
51 - <Image style={{width:22,height:22}} source={require('../assets/security.png')}/>
52 - </View>
53 - </TouchableOpacity>
54 - </View>
55 - //:<Text>Loading..</Text>
56 -
57 - );
58 - }
59 -}
60 -
61 -const styles = StyleSheet.create({
62 - container: {
63 - flex: 1,
64 - alignItems: 'center',
65 - justifyContent: 'center',
66 - },
67 -});
...\ No newline at end of file ...\ No newline at end of file
1 -import React, { Component } from 'react';
2 -import { StyleSheet, Text, View, Image,
3 - TouchableOpacity, ScrollView, Dimensions,
4 - SafeAreaView, } from 'react-native';
5 -
6 -import { createAppContainer} from 'react-navigation';
7 -import {createStackNavigator } from 'react-navigation-stack';
8 -import ReportTab from '../TabNavigator/reportTab'
9 -import MainTab from '../TabNavigator/MainTab'
10 -import { Icon } from 'native-base'; // 추가된 코드
11 -
12 - const Stack = createStackNavigator(
13 - {
14 - MainTab: {
15 - screen: props => <MainTab {...props}/>,
16 - navigationOptions: {
17 - headerLeft: <Icon name='ios-camera' style={{ paddingLeft:10 }}/>,
18 - title: 'PME Service',
19 - headerRight: <Icon name='ios-send' style={{ paddingRight:10 }}/>,
20 - headerTitleStyle: {flex: 1, textAlign: 'center'},
21 - headerStyle: {
22 - shadowOpacity: 0,
23 - shadowOffset: {
24 - y: 0,
25 - x:0,
26 - height:0
27 - },
28 - shadowRadius: 0, elevation:0
29 - }
30 - },
31 - }
32 - ,reportTab: {
33 - screen: props=> <ReportTab {...props}/>,
34 - navigationOptions: {
35 - headerShown:false
36 - }
37 - },
38 - },{
39 -
40 -
41 -
42 - }
43 - );
44 -
45 - export default createAppContainer(Stack);
46 -
47 - /*
48 -
49 - <Text
50 - onPress={() => {
51 - props.navigation.navigate('BlueScreen');
52 - props.navigation.closeDrawer();
53 - }}
54 - >
55 - BlueScreen
56 - </Text>
57 - <Text
58 - onPress={() => {
59 - props.navigation.navigate('DefaultScreen');
60 - props.navigation.closeDrawer();
61 - }}
62 - >
63 - DefaultScreen
64 - </Text>
65 - */
...\ No newline at end of file ...\ No newline at end of file
1 -import { Component } from 'react';
2 -import { StyleSheet, Text, View, Image, TouchableOpacity, Alert, Platform } from 'react-native';
3 -import { Icon } from 'native-base'; // 추가된 코드
4 -import React from 'react'
5 -import {Marker} from 'react-native-maps'
6 -import Constants from 'expo-constants';
7 -import * as Location from 'expo-location';
8 -import MapView from "../ClusteredMapView";
9 -
10 -import Share from 'react-native-share';
11 -const url = 'https://awesome.contents.com/';
12 -const title = 'Awesome Contents';
13 -const message = 'Please check this out.';
14 -const icon = 'data:<data_type>/<file_extension>;base64,<base64_data>';
15 -const options = Platform.select({
16 - ios: {
17 - activityItemSources: [
18 - { // For sharing url with custom title.
19 - placeholderItem: { type: 'url', content: url },
20 - item: {
21 - default: { type: 'url', content: url },
22 - },
23 - subject: {
24 - default: title,
25 - },
26 - linkMetadata: { originalUrl: url, url, title },
27 - },
28 - { // For sharing text.
29 - placeholderItem: { type: 'text', content: message },
30 - item: {
31 - default: { type: 'text', content: message },
32 - message: null, // Specify no text to share via Messages app.
33 - },
34 - linkMetadata: { // For showing app icon on share preview.
35 - title: message
36 - },
37 - },
38 - { // For using custom icon instead of default text icon at share preview when sharing with message.
39 - placeholderItem: {
40 - type: 'url',
41 - content: icon
42 - },
43 - item: {
44 - default: {
45 - type: 'text',
46 - content: `${message} ${url}`
47 - },
48 - },
49 - linkMetadata: {
50 - title: message,
51 - icon: icon
52 - }
53 - },
54 - ],
55 - },
56 - default: {
57 - title,
58 - subject: title,
59 - message: `${message} ${url}`,
60 - },
61 -});
62 -
63 -export default class MainScreen extends Component {
64 -
65 - // navigationOptions 코드 추가
66 - static navigationOptions = {
67 - headerLeft: <Icon name='ios-camera' style={{ paddingLeft:10 }}/>,
68 - title: 'PME Service',
69 - headerRight: <Icon name='ios-send' style={{ paddingRight:10 }}/>,
70 - }
71 - constructor(props) {
72 - super(props)
73 - this.state= {
74 - location:null,
75 - errorMsg:null
76 - }
77 - }
78 - componentDidMount() {
79 - (async () => {
80 - let { status } = await Location.requestPermissionsAsync();
81 - if (status !== 'granted') {
82 - this.setState({
83 - errorMsg:'Permission to access location was denied'
84 - })
85 - }
86 -
87 - let location = await Location.getCurrentPositionAsync({});
88 - console.log(location)
89 - this.setState({
90 - location
91 - },() => {
92 - console.log(this.state.location.coords.latitude)
93 - })
94 - })();
95 - }
96 - render() {
97 - return (
98 - this.state.location?
99 - <View style={{width:"100%",height:"100%"}}>
100 -
101 - <MapView
102 - style={{ flex: 1 }}
103 - initialRegion={ { latitude: this.state.location.coords.latitude, longitude: this.state.location.coords.longitude
104 - ,latitudeDelta: 0.0922, longitudeDelta: 0.0421}}
105 - zoomEnabled={true}
106 - pitchEnabled={true}
107 - showsUserLocation={true}
108 - followsUserLocation={true}
109 - showsCompass={true}
110 - showsBuildings={true}
111 - showsTraffic={true}
112 - showsIndoors={true}
113 - extent={512}>
114 - <Marker coordinate={{ latitude: this.state.location.coords.latitude+0.1, longitude: this.state.location.coords.longitude }} >
115 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
116 - </Marker>
117 - <Marker coordinate={{ latitude: this.state.location.coords.latitude+0.5, longitude: this.state.location.coords.longitude }}>
118 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
119 - </Marker>
120 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.0001, longitude: this.state.location.coords.longitude }}>
121 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
122 - </Marker>
123 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.0003, longitude: this.state.location.coords.longitude }}>
124 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
125 - </Marker>
126 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.03, longitude: this.state.location.coords.longitude }}>
127 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
128 - </Marker>
129 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.05, longitude: this.state.location.coords.longitude }}>
130 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
131 - </Marker>
132 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.01, longitude: this.state.location.coords.longitude }}>
133 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
134 - </Marker>
135 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.2, longitude: this.state.location.coords.longitude }}>
136 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
137 - </Marker>
138 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.3, longitude: this.state.location.coords.longitude }}>
139 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
140 - </Marker>
141 - <Marker icon="../../assets/marker.png" coordinate={{ latitude: this.state.location.coords.latitude+0.7, longitude: this.state.location.coords.longitude }}>
142 - <Image style={{width:54,height:54}} source={require('../../assets/marker.png')}/>
143 - </Marker>
144 -
145 - </MapView>
146 - <TouchableOpacity onPress={() => Alert.alert('OK',"주변에 의심자가 있습니까?",[{text:"OK",onPress:() =>Share.open(options)},{text:'cancel'}])} style={{position:"absolute",bottom:10,right:10, width:50,height:50,backgroundColor:"red",borderRadius:100}}>
147 - <View style={{flex:1,justifyContent: 'center',alignItems: 'center'}}>
148 - <Image style={{width:22,height:22}} source={require('../../assets/security.png')}/>
149 - </View>
150 - </TouchableOpacity>
151 - </View>
152 - :<Text>Loading..</Text>
153 -
154 - );
155 - }
156 -}
157 -
158 -const styles = StyleSheet.create({
159 - container: {
160 - flex: 1,
161 - alignItems: 'center',
162 - justifyContent: 'center',
163 - },
164 -});
...\ No newline at end of file ...\ No newline at end of file
1 -import React, { Component } from 'react';
2 -import { View, Text, StyleSheet, Button } from 'react-native';
3 -import * as DocumentPicker from 'expo-document-picker';
4 -import Icon from 'native-base'
5 -export default class AddTab extends Component {
6 - static navigationOptions = {
7 - headerLeft: <Icon name='ios-camera' style={{ paddingLeft:10 }}/>,
8 - title: 'PME Service',
9 - headerRight: <Icon name='ios-send' style={{ paddingRight:10 }}/>,
10 - }
11 - state = {
12 - image: null,
13 - };
14 - _pickDocument = async () => {
15 - let result = await DocumentPicker.getDocumentAsync({});
16 - alert(result.uri);
17 - console.log(result);
18 - }
19 -
20 - _pickImage = async () => {
21 - let result = await ImagePicker.launchImageLibraryAsync({
22 - allowsEditing: true,
23 - aspect: [4, 3],
24 - });
25 -
26 - alert(result.uri);
27 - console.log(result)
28 -
29 - if (!result.cancelled) {
30 - this.setState({ image: result.uri });
31 - }
32 - };
33 -
34 - render() {
35 - let { image } = this.state;
36 - return (
37 - <View style={style.container}>
38 - <Button
39 - title="녹음파일을 등록해주세요."
40 - onPress={this._pickDocument}
41 - />
42 - <Button
43 - title="접수하기"
44 - onPress={() => {alert("접수되었습니다.")}}
45 - />
46 - </View>
47 - );
48 - }
49 -}
50 -
51 -const style = StyleSheet.create({
52 - container: {
53 - flex: 1,
54 - alignItems: 'center',
55 - justifyContent: 'center',
56 - }
57 -});
...\ No newline at end of file ...\ No newline at end of file
1 -import GeoViewport from "@mapbox/geo-viewport";
2 -import { Dimensions } from "react-native";
3 -
4 -const { width, height } = Dimensions.get("window");
5 -
6 -export const isMarker = child =>
7 - child &&
8 - child.props &&
9 - child.props.coordinate &&
10 - child.props.cluster !== false;
11 -
12 -export const calculateBBox = region => {
13 - let lngD;
14 - if (region.longitudeDelta < 0) lngD = region.longitudeDelta + 360;
15 - else lngD = region.longitudeDelta;
16 -
17 - return [
18 - region.longitude - lngD, // westLng - min lng
19 - region.latitude - region.latitudeDelta, // southLat - min lat
20 - region.longitude + lngD, // eastLng - max lng
21 - region.latitude + region.latitudeDelta // northLat - max lat
22 - ];
23 -};
24 -
25 -export const returnMapZoom = (region, bBox, minZoom) => {
26 - const viewport =
27 - region.longitudeDelta >= 40
28 - ? { zoom: minZoom }
29 - : GeoViewport.viewport(bBox, [width, height]);
30 -
31 - return viewport.zoom;
32 -};
33 -
34 -export const markerToGeoJSONFeature = (marker, index) => {
35 - return {
36 - type: "Feature",
37 - geometry: {
38 - coordinates: [
39 - marker.props.coordinate.longitude,
40 - marker.props.coordinate.latitude
41 - ],
42 - type: "Point"
43 - },
44 - properties: {
45 - point_count: 0,
46 - index,
47 - ..._removeChildrenFromProps(marker.props)
48 - }
49 - };
50 -};
51 -
52 -export const generateSpiral = (count, centerLocation, clusterChildren) => {
53 - let res = [];
54 - res.length = count;
55 - let angle = 0;
56 -
57 - for (let i = 0; i < count; i++) {
58 - angle = 0.25 * (i * 0.5);
59 - let latitude = centerLocation[1] + 0.0002 * angle * Math.cos(angle);
60 - let longitude = centerLocation[0] + 0.0002 * angle * Math.sin(angle);
61 - res[i] = {
62 - longitude,
63 - latitude,
64 - image: clusterChildren[i] && clusterChildren[i].properties.image,
65 - onPress: clusterChildren[i] && clusterChildren[i].properties.onPress
66 - };
67 - }
68 -
69 - return res;
70 -};
71 -
72 -export const returnMarkerStyle = points => {
73 - if (points >= 50) {
74 - return {
75 - width: 84,
76 - height: 84,
77 - size: 64,
78 - fontSize: 20
79 - };
80 - }
81 -
82 - if (points >= 25) {
83 - return {
84 - width: 78,
85 - height: 78,
86 - size: 58,
87 - fontSize: 19
88 - };
89 - }
90 -
91 - if (points >= 15) {
92 - return {
93 - width: 72,
94 - height: 72,
95 - size: 54,
96 - fontSize: 18
97 - };
98 - }
99 -
100 - if (points >= 10) {
101 - return {
102 - width: 66,
103 - height: 66,
104 - size: 50,
105 - fontSize: 17
106 - };
107 - }
108 -
109 - if (points >= 8) {
110 - return {
111 - width: 60,
112 - height: 60,
113 - size: 46,
114 - fontSize: 17
115 - };
116 - }
117 -
118 - if (points >= 4) {
119 - return {
120 - width: 84,
121 - height: 84,
122 - size: 64,
123 - fontSize: 16
124 - };
125 - }
126 -
127 - return {
128 - width: 84,
129 - height: 84,
130 - size: 64,
131 - fontSize: 15
132 - };
133 -};
134 -
135 -const _removeChildrenFromProps = props => {
136 - const newProps = {};
137 - Object.keys(props).forEach(key => {
138 - if (key !== "children") {
139 - newProps[key] = props[key];
140 - }
141 - });
142 - return newProps;
143 -};
This diff could not be displayed because it is too large.
1 -{
2 - "main": "node_modules/expo/AppEntry.js",
3 - "scripts": {
4 - "start": "expo start",
5 - "android": "expo start --android",
6 - "ios": "expo start --ios",
7 - "web": "expo start --web",
8 - "eject": "expo eject"
9 - },
10 - "dependencies": {
11 - "@expo/vector-icons": "^10.1.0",
12 - "@react-native-community/masked-view": "^0.1.10",
13 - "expo": "~37.0.3",
14 - "expo-constants": "^9.0.0",
15 - "expo-document-picker": "^8.1.0",
16 - "expo-location": "^8.1.0",
17 - "native-base": "^2.13.12",
18 - "react": "~16.9.0",
19 - "react-dom": "~16.9.0",
20 - "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
21 - "react-native-gesture-handler": "^1.6.1",
22 - "react-native-map-clustering": "^3.1.2",
23 - "react-native-maps": "^0.27.1",
24 - "react-native-safe-area-context": "^0.7.3",
25 - "react-native-screens": "^2.7.0",
26 - "react-native-share": "^3.3.2",
27 - "react-native-web": "~0.11.7",
28 - "react-navigation": "^4.3.9",
29 - "react-navigation-stack": "^2.5.0"
30 - },
31 - "devDependencies": {
32 - "@babel/core": "^7.8.6",
33 - "babel-preset-expo": "~8.1.0"
34 - },
35 - "private": true
36 -}
This diff could not be displayed because it is too large.
1 -{
2 - "dependencies": {
3 - "@expo/vector-icons": "^10.1.0",
4 - "native-base": "^2.13.12",
5 - "react-navigation": "^4.3.8"
6 - }
7 -}
1 -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 -# yarn lockfile v1
3 -
4 -
5 -"@expo/vector-icons@^10.1.0":
6 - version "10.1.0"
7 - resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-10.1.0.tgz#3fb2517924b031c1b98f86fa51a2032a257759b0"
8 - integrity sha512-6ikFslHORJgsb8wKeSgXYfZNNXsiTb3yQf5xaNyGUCYg4zqE7VchdhnH9yZKTI3Lu16jna52pHQZl+3jcOSAbQ==
9 - dependencies:
10 - lodash "^4.17.4"
11 -
12 -"@react-navigation/core@^3.7.5":
13 - version "3.7.5"
14 - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.7.5.tgz#2b8d464574edc7bcab8be226375d8227e9814ad2"
15 - integrity sha512-B8vKZhHvX+C+lD0UfU5ljCOWIDgDKrlzMuuqIftCB5lnMFvRQZJ5cGpK6u6+BEoX1myfO5j4KUEsRv4H+2f5lg==
16 - dependencies:
17 - hoist-non-react-statics "^3.3.2"
18 - path-to-regexp "^1.8.0"
19 - query-string "^6.11.1"
20 - react-is "^16.13.0"
21 -
22 -"@react-navigation/native@^3.7.12":
23 - version "3.7.12"
24 - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.7.12.tgz#f1c2a1b8b2db647c239acaf966360cb72d7b71e6"
25 - integrity sha512-StECfhxtEJvFehh16Wc9jnepy5gYKovzynVW+jr/+jKa7xlKskSCvASDnIwLHoFcWom084afKbqpVoVLEsE3lg==
26 - dependencies:
27 - hoist-non-react-statics "^3.3.2"
28 - react-native-safe-area-view "^0.14.9"
29 -
30 -ansi-regex@^2.0.0:
31 - version "2.1.1"
32 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
33 - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
34 -
35 -ansi-regex@^4.1.0:
36 - version "4.1.0"
37 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
38 - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
39 -
40 -ansi-styles@^2.1.0:
41 - version "2.2.1"
42 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
43 - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
44 -
45 -ansi-styles@^3.2.0:
46 - version "3.2.1"
47 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
48 - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
49 - dependencies:
50 - color-convert "^1.9.0"
51 -
52 -asap@~2.0.3:
53 - version "2.0.6"
54 - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
55 - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
56 -
57 -blueimp-md5@^2.5.0:
58 - version "2.13.0"
59 - resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.13.0.tgz#07314b0c64dda0bf1733f96ce40d5af94eb28965"
60 - integrity sha512-lmp0m647R5e77ORduxLW5mISIDcvgJZa52vMBv5uVI3UmSWTQjkJsZVBfaFqQPw/QFogJwvY6e3Gl9nP+Loe+Q==
61 -
62 -camelcase@^5.0.0:
63 - version "5.3.1"
64 - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
65 - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
66 -
67 -chalk@1.1.1:
68 - version "1.1.1"
69 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019"
70 - integrity sha1-UJr7ZwZudJn36zU1x3RFdyri0Bk=
71 - dependencies:
72 - ansi-styles "^2.1.0"
73 - escape-string-regexp "^1.0.2"
74 - has-ansi "^2.0.0"
75 - strip-ansi "^3.0.0"
76 - supports-color "^2.0.0"
77 -
78 -clamp@^1.0.1:
79 - version "1.0.1"
80 - resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634"
81 - integrity sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=
82 -
83 -cliui@^5.0.0:
84 - version "5.0.0"
85 - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
86 - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
87 - dependencies:
88 - string-width "^3.1.0"
89 - strip-ansi "^5.2.0"
90 - wrap-ansi "^5.1.0"
91 -
92 -color-convert@^1.9.0, color-convert@^1.9.1:
93 - version "1.9.3"
94 - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
95 - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
96 - dependencies:
97 - color-name "1.1.3"
98 -
99 -color-name@1.1.3:
100 - version "1.1.3"
101 - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
102 - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
103 -
104 -color-name@^1.0.0:
105 - version "1.1.4"
106 - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
107 - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
108 -
109 -color-string@^1.5.2:
110 - version "1.5.3"
111 - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
112 - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
113 - dependencies:
114 - color-name "^1.0.0"
115 - simple-swizzle "^0.2.2"
116 -
117 -color@~3.1.2:
118 - version "3.1.2"
119 - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
120 - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
121 - dependencies:
122 - color-convert "^1.9.1"
123 - color-string "^1.5.2"
124 -
125 -core-js@^1.0.0:
126 - version "1.2.7"
127 - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
128 - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
129 -
130 -create-react-class@^15.6.3:
131 - version "15.6.3"
132 - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036"
133 - integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==
134 - dependencies:
135 - fbjs "^0.8.9"
136 - loose-envify "^1.3.1"
137 - object-assign "^4.1.1"
138 -
139 -decamelize@^1.2.0:
140 - version "1.2.0"
141 - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
142 - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
143 -
144 -decode-uri-component@^0.2.0:
145 - version "0.2.0"
146 - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
147 - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
148 -
149 -emoji-regex@^7.0.1:
150 - version "7.0.3"
151 - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
152 - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
153 -
154 -encoding@^0.1.11:
155 - version "0.1.12"
156 - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
157 - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
158 - dependencies:
159 - iconv-lite "~0.4.13"
160 -
161 -escape-string-regexp@^1.0.2:
162 - version "1.0.5"
163 - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
164 - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
165 -
166 -eslint-config-prettier@^6.0.0:
167 - version "6.11.0"
168 - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"
169 - integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==
170 - dependencies:
171 - get-stdin "^6.0.0"
172 -
173 -fbjs@^0.8.9:
174 - version "0.8.17"
175 - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
176 - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
177 - dependencies:
178 - core-js "^1.0.0"
179 - isomorphic-fetch "^2.1.1"
180 - loose-envify "^1.0.0"
181 - object-assign "^4.1.0"
182 - promise "^7.1.1"
183 - setimmediate "^1.0.5"
184 - ua-parser-js "^0.7.18"
185 -
186 -find-up@^3.0.0:
187 - version "3.0.0"
188 - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
189 - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
190 - dependencies:
191 - locate-path "^3.0.0"
192 -
193 -fs-extra@^2.0.0:
194 - version "2.1.2"
195 - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
196 - integrity sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=
197 - dependencies:
198 - graceful-fs "^4.1.2"
199 - jsonfile "^2.1.0"
200 -
201 -get-caller-file@^2.0.1:
202 - version "2.0.5"
203 - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
204 - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
205 -
206 -get-stdin@^6.0.0:
207 - version "6.0.0"
208 - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
209 - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
210 -
211 -graceful-fs@^4.1.2, graceful-fs@^4.1.6:
212 - version "4.2.3"
213 - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
214 - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
215 -
216 -has-ansi@^2.0.0:
217 - version "2.0.0"
218 - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
219 - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
220 - dependencies:
221 - ansi-regex "^2.0.0"
222 -
223 -hoist-non-react-statics@^1.0.5:
224 - version "1.2.0"
225 - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
226 - integrity sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=
227 -
228 -hoist-non-react-statics@^2.3.1:
229 - version "2.5.5"
230 - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
231 - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
232 -
233 -hoist-non-react-statics@^3.3.2:
234 - version "3.3.2"
235 - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
236 - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
237 - dependencies:
238 - react-is "^16.7.0"
239 -
240 -iconv-lite@~0.4.13:
241 - version "0.4.24"
242 - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
243 - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
244 - dependencies:
245 - safer-buffer ">= 2.1.2 < 3"
246 -
247 -is-arrayish@^0.3.1:
248 - version "0.3.2"
249 - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
250 - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
251 -
252 -is-fullwidth-code-point@^2.0.0:
253 - version "2.0.0"
254 - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
255 - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
256 -
257 -is-stream@^1.0.1:
258 - version "1.1.0"
259 - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
260 - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
261 -
262 -isarray@0.0.1:
263 - version "0.0.1"
264 - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
265 - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
266 -
267 -isomorphic-fetch@^2.1.1:
268 - version "2.2.1"
269 - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
270 - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
271 - dependencies:
272 - node-fetch "^1.0.1"
273 - whatwg-fetch ">=0.10.0"
274 -
275 -jest-react-native@^18.0.0:
276 - version "18.0.0"
277 - resolved "https://registry.yarnpkg.com/jest-react-native/-/jest-react-native-18.0.0.tgz#77dd909f069324599f227c58c61c2e62168726ba"
278 - integrity sha1-d92QnwaTJFmfInxYxhwuYhaHJro=
279 -
280 -"js-tokens@^3.0.0 || ^4.0.0":
281 - version "4.0.0"
282 - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
283 - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
284 -
285 -jsonfile@^2.1.0:
286 - version "2.4.0"
287 - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
288 - integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
289 - optionalDependencies:
290 - graceful-fs "^4.1.6"
291 -
292 -locate-path@^3.0.0:
293 - version "3.0.0"
294 - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
295 - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
296 - dependencies:
297 - p-locate "^3.0.0"
298 - path-exists "^3.0.0"
299 -
300 -lodash@^4.0.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4:
301 - version "4.17.15"
302 - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
303 - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
304 -
305 -loose-envify@^1.0.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
306 - version "1.4.0"
307 - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
308 - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
309 - dependencies:
310 - js-tokens "^3.0.0 || ^4.0.0"
311 -
312 -native-base-shoutem-theme@0.3.1:
313 - version "0.3.1"
314 - resolved "https://registry.yarnpkg.com/native-base-shoutem-theme/-/native-base-shoutem-theme-0.3.1.tgz#f15cbd4ca74ca1c8b6a636d297b9164a5f2b3662"
315 - integrity sha512-uwEGhg6gwDuJTHuhNXRKbHtNjni1UI9qfAsVchIqfK7mQAHSNPVU1QRs9Hw6O2K/qLZaP/aJmNoZGc2h2EGSwA==
316 - dependencies:
317 - hoist-non-react-statics "^1.0.5"
318 - lodash "^4.17.14"
319 - prop-types "^15.5.10"
320 -
321 -native-base@^2.13.12:
322 - version "2.13.12"
323 - resolved "https://registry.yarnpkg.com/native-base/-/native-base-2.13.12.tgz#06020b46019964ddaef3a646ec07e72008018efc"
324 - integrity sha512-LdKGNXisbmQ0vDHG86McZKIFTlRyo+OQdJpqmQ05Yf7CGlMbBykJZCFe9rdiee5pLq20xiChe/jXbzFdWcysrg==
325 - dependencies:
326 - blueimp-md5 "^2.5.0"
327 - clamp "^1.0.1"
328 - color "~3.1.2"
329 - create-react-class "^15.6.3"
330 - eslint-config-prettier "^6.0.0"
331 - fs-extra "^2.0.0"
332 - jest-react-native "^18.0.0"
333 - lodash "^4.17.14"
334 - native-base-shoutem-theme "0.3.1"
335 - opencollective-postinstall "^2.0.2"
336 - print-message "^2.1.0"
337 - prop-types "^15.5.10"
338 - react-native-drawer "2.5.1"
339 - react-native-easy-grid "0.2.2"
340 - react-native-keyboard-aware-scroll-view "0.9.1"
341 - react-native-vector-icons "^6.6.0"
342 - react-timer-mixin "^0.13.4"
343 - react-tween-state "^0.1.5"
344 - tween-functions "^1.0.1"
345 -
346 -node-fetch@^1.0.1:
347 - version "1.7.3"
348 - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
349 - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
350 - dependencies:
351 - encoding "^0.1.11"
352 - is-stream "^1.0.1"
353 -
354 -object-assign@^4.1.0, object-assign@^4.1.1:
355 - version "4.1.1"
356 - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
357 - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
358 -
359 -opencollective-postinstall@^2.0.2:
360 - version "2.0.2"
361 - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
362 - integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
363 -
364 -p-limit@^2.0.0:
365 - version "2.3.0"
366 - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
367 - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
368 - dependencies:
369 - p-try "^2.0.0"
370 -
371 -p-locate@^3.0.0:
372 - version "3.0.0"
373 - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
374 - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
375 - dependencies:
376 - p-limit "^2.0.0"
377 -
378 -p-try@^2.0.0:
379 - version "2.2.0"
380 - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
381 - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
382 -
383 -path-exists@^3.0.0:
384 - version "3.0.0"
385 - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
386 - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
387 -
388 -path-to-regexp@^1.8.0:
389 - version "1.8.0"
390 - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a"
391 - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
392 - dependencies:
393 - isarray "0.0.1"
394 -
395 -performance-now@^2.1.0:
396 - version "2.1.0"
397 - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
398 - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
399 -
400 -print-message@^2.1.0:
401 - version "2.1.0"
402 - resolved "https://registry.yarnpkg.com/print-message/-/print-message-2.1.0.tgz#b5588ed08b0e1bf77ac7bcb5cb78004afaf9a891"
403 - integrity sha1-tViO0IsOG/d6x7y1y3gASvr5qJE=
404 - dependencies:
405 - chalk "1.1.1"
406 -
407 -promise@^7.1.1:
408 - version "7.3.1"
409 - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
410 - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
411 - dependencies:
412 - asap "~2.0.3"
413 -
414 -prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.2:
415 - version "15.7.2"
416 - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
417 - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
418 - dependencies:
419 - loose-envify "^1.4.0"
420 - object-assign "^4.1.1"
421 - react-is "^16.8.1"
422 -
423 -query-string@^6.11.1:
424 - version "6.12.1"
425 - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.1.tgz#2ae4d272db4fba267141665374e49a1de09e8a7c"
426 - integrity sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==
427 - dependencies:
428 - decode-uri-component "^0.2.0"
429 - split-on-first "^1.0.0"
430 - strict-uri-encode "^2.0.0"
431 -
432 -raf@^3.1.0:
433 - version "3.4.1"
434 - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
435 - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
436 - dependencies:
437 - performance-now "^2.1.0"
438 -
439 -react-is@^16.13.0, react-is@^16.7.0, react-is@^16.8.1:
440 - version "16.13.1"
441 - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
442 - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
443 -
444 -react-native-drawer@2.5.1:
445 - version "2.5.1"
446 - resolved "https://registry.yarnpkg.com/react-native-drawer/-/react-native-drawer-2.5.1.tgz#08b9314184f48c724f1b467f8859797369798654"
447 - integrity sha512-cxcQNbSWy5sbGi7anSVp6EDr6JarOBMY9lbFOeLFeVYbONiudoqRKbgEsSDgSw3/LFCLvUXK5zdjXCOedeytxQ==
448 - dependencies:
449 - prop-types "^15.5.8"
450 - tween-functions "^1.0.1"
451 -
452 -react-native-easy-grid@0.2.2:
453 - version "0.2.2"
454 - resolved "https://registry.yarnpkg.com/react-native-easy-grid/-/react-native-easy-grid-0.2.2.tgz#f0be33620be1ebe2d2295918eb58b0a27e8272ab"
455 - integrity sha512-MlYrNIldnEMKn6TVatQN1P64GoVlwGIuz+8ncdfJ0Wq/xtzUkQwlil8Uksyp7MhKfENE09MQnGNcba6Mx3oSAA==
456 - dependencies:
457 - lodash "^4.17.15"
458 -
459 -react-native-iphone-x-helper@^1.0.3:
460 - version "1.2.1"
461 - resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772"
462 - integrity sha512-/VbpIEp8tSNNHIvstuA3Swx610whci1Zpc9mqNkqn14DkMbw+ORviln2u0XyHG1kPvvwTNGZY6QpeFwxYaSdbQ==
463 -
464 -react-native-keyboard-aware-scroll-view@0.9.1:
465 - version "0.9.1"
466 - resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.9.1.tgz#9e54b565a5f19b30bed12221d48921781f7630af"
467 - integrity sha512-tBZ8rmjELN0F6t5UBp5CW3NYmZXgVnJSzVCssv/OqG2t6kiB+OUTqxNvUP24K+HARX4H+XaW0aEJSFQkQCv6KA==
468 - dependencies:
469 - prop-types "^15.6.2"
470 - react-native-iphone-x-helper "^1.0.3"
471 -
472 -react-native-safe-area-view@^0.14.9:
473 - version "0.14.9"
474 - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.9.tgz#90ee8383037010d9a5055a97cf97e4c1da1f0c3d"
475 - integrity sha512-WII/ulhpVyL/qbYb7vydq7dJAfZRBcEhg4/UWt6F6nAKpLa3gAceMOxBxI914ppwSP/TdUsandFy6lkJQE0z4A==
476 - dependencies:
477 - hoist-non-react-statics "^2.3.1"
478 -
479 -react-native-vector-icons@^6.6.0:
480 - version "6.6.0"
481 - resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-6.6.0.tgz#66cf004918eb05d90778d64bd42077c1800d481b"
482 - integrity sha512-MImKVx8JEvVVBnaShMr7/yTX4Y062JZMupht1T+IEgbqBj4aQeQ1z2SH4VHWKNtWtppk4kz9gYyUiMWqx6tNSw==
483 - dependencies:
484 - lodash "^4.0.0"
485 - prop-types "^15.6.2"
486 - yargs "^13.2.2"
487 -
488 -react-navigation@^4.3.8:
489 - version "4.3.8"
490 - resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-4.3.8.tgz#7eacd186fbaa849355341046d9c5c95dec97d3bf"
491 - integrity sha512-Hxb6VkGu38x4r8nysAJutFkZ1yax29H6BrcdsqxlfGO2pCd821JkRL9h1Zqxn7qLm5JM6+7h0Yx3AS+YKDU5nw==
492 - dependencies:
493 - "@react-navigation/core" "^3.7.5"
494 - "@react-navigation/native" "^3.7.12"
495 -
496 -react-timer-mixin@^0.13.4:
497 - version "0.13.4"
498 - resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3"
499 - integrity sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q==
500 -
501 -react-tween-state@^0.1.5:
502 - version "0.1.5"
503 - resolved "https://registry.yarnpkg.com/react-tween-state/-/react-tween-state-0.1.5.tgz#e98b066551efb93cb92dd1be14995c2e3deae339"
504 - integrity sha1-6YsGZVHvuTy5LdG+FJlcLj3q4zk=
505 - dependencies:
506 - raf "^3.1.0"
507 - tween-functions "^1.0.1"
508 -
509 -require-directory@^2.1.1:
510 - version "2.1.1"
511 - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
512 - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
513 -
514 -require-main-filename@^2.0.0:
515 - version "2.0.0"
516 - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
517 - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
518 -
519 -"safer-buffer@>= 2.1.2 < 3":
520 - version "2.1.2"
521 - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
522 - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
523 -
524 -set-blocking@^2.0.0:
525 - version "2.0.0"
526 - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
527 - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
528 -
529 -setimmediate@^1.0.5:
530 - version "1.0.5"
531 - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
532 - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
533 -
534 -simple-swizzle@^0.2.2:
535 - version "0.2.2"
536 - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
537 - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
538 - dependencies:
539 - is-arrayish "^0.3.1"
540 -
541 -split-on-first@^1.0.0:
542 - version "1.1.0"
543 - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
544 - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
545 -
546 -strict-uri-encode@^2.0.0:
547 - version "2.0.0"
548 - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
549 - integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
550 -
551 -string-width@^3.0.0, string-width@^3.1.0:
552 - version "3.1.0"
553 - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
554 - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
555 - dependencies:
556 - emoji-regex "^7.0.1"
557 - is-fullwidth-code-point "^2.0.0"
558 - strip-ansi "^5.1.0"
559 -
560 -strip-ansi@^3.0.0:
561 - version "3.0.1"
562 - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
563 - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
564 - dependencies:
565 - ansi-regex "^2.0.0"
566 -
567 -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
568 - version "5.2.0"
569 - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
570 - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
571 - dependencies:
572 - ansi-regex "^4.1.0"
573 -
574 -supports-color@^2.0.0:
575 - version "2.0.0"
576 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
577 - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
578 -
579 -tween-functions@^1.0.1:
580 - version "1.2.0"
581 - resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff"
582 - integrity sha1-GuOlDnxguz3vd06scHrLynO7w/8=
583 -
584 -ua-parser-js@^0.7.18:
585 - version "0.7.21"
586 - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
587 - integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
588 -
589 -whatwg-fetch@>=0.10.0:
590 - version "3.0.0"
591 - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
592 - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
593 -
594 -which-module@^2.0.0:
595 - version "2.0.0"
596 - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
597 - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
598 -
599 -wrap-ansi@^5.1.0:
600 - version "5.1.0"
601 - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
602 - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
603 - dependencies:
604 - ansi-styles "^3.2.0"
605 - string-width "^3.0.0"
606 - strip-ansi "^5.0.0"
607 -
608 -y18n@^4.0.0:
609 - version "4.0.0"
610 - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
611 - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
612 -
613 -yargs-parser@^13.1.2:
614 - version "13.1.2"
615 - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
616 - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
617 - dependencies:
618 - camelcase "^5.0.0"
619 - decamelize "^1.2.0"
620 -
621 -yargs@^13.2.2:
622 - version "13.3.2"
623 - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
624 - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
625 - dependencies:
626 - cliui "^5.0.0"
627 - find-up "^3.0.0"
628 - get-caller-file "^2.0.1"
629 - require-directory "^2.1.1"
630 - require-main-filename "^2.0.0"
631 - set-blocking "^2.0.0"
632 - string-width "^3.0.0"
633 - which-module "^2.0.0"
634 - y18n "^4.0.0"
635 - yargs-parser "^13.1.2"
No preview for this file type