sid-address-verification-react-native
Version:
A sourceID react native package for address verification
64 lines (63 loc) • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.requestLocationPermission = exports.checkLocationPermission = void 0;
var _reactNative = require("react-native");
var _geolocation = _interopRequireDefault(require("@react-native-community/geolocation"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const requestLocationPermission = async () => {
try {
if (_reactNative.Platform.OS === 'android') {
const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, {
title: 'Location Permission',
message: 'This app needs access to location for address verification.',
buttonNeutral: 'Ask Me Later',
buttonNegative: 'Cancel',
buttonPositive: 'OK'
});
if (granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED) {
return {
granted: true
};
} else {
return {
granted: false,
error: 'Location permission denied'
};
}
} else {
// iOS - request permission through Geolocation
return new Promise(resolve => {
_geolocation.default.requestAuthorization(() => resolve({
granted: true
}), error => resolve({
granted: false,
error: error.message
}));
});
}
} catch (error) {
return {
granted: false,
error: `Permission request failed: ${error}`
};
}
};
exports.requestLocationPermission = requestLocationPermission;
const checkLocationPermission = async () => {
try {
if (_reactNative.Platform.OS === 'android') {
const granted = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
return granted;
} else {
// For iOS, we'll check when we try to get location
return true;
}
} catch (error) {
console.error('Error checking location permission:', error);
return false;
}
};
exports.checkLocationPermission = checkLocationPermission;
//# sourceMappingURL=permissions.js.map