This commit is contained in:
Yamozha
2021-04-02 02:24:13 +03:00
parent c23950b545
commit 7256d79e2c
31493 changed files with 3036630 additions and 0 deletions

12
node_modules/expo/build/DangerZone.d.ts generated vendored Normal file
View File

@ -0,0 +1,12 @@
declare class DangerZone {
get Lottie(): unknown;
get Branch(): unknown;
get Stripe(): unknown;
get DeviceMotion(): unknown;
get Animated(): unknown;
get Easing(): unknown;
get Screen(): unknown;
get ScreenContainer(): unknown;
}
declare const _default: DangerZone;
export default _default;

35
node_modules/expo/build/DangerZone.js generated vendored Normal file
View File

@ -0,0 +1,35 @@
/**
* Modules exported here are experimental and COULD break in the future. Make sure you keep your app
* up to date if you plan to use any of these.
*/
import removedModule from './removedModule';
class DangerZone {
get Lottie() {
return removedModule(`DangerZone.Lottie -> import Lottie from 'lottie-react-native'`, 'DangerZone.Lottie', 'lottie-react-native');
}
get Branch() {
return removedModule(`DangerZone.Branch -> import Branch, { BranchEvent } from 'react-native-branch'`, 'DangerZone.Branch', 'react-native-branch');
}
get Stripe() {
return removedModule(`DangerZone.Stripe -> import { PaymentsStripe } from 'expo-payments-stripe'`, 'DangerZone.Stripe', 'expo-payments-stripe');
}
get DeviceMotion() {
return removedModule(`DangerZone.DeviceMotion -> import { DeviceMotion } from 'expo-sensors'`, 'DangerZone.DeviceMotion', 'expo-sensors');
}
// react-native-reanimated
get Animated() {
return removedModule(`DangerZone.Animated -> import Animated from 'react-native-reanimated'`, 'DangerZone.Animated', 'react-native-reanimated');
}
get Easing() {
return removedModule(`DangerZone.Easing -> import { Easing } from 'react-native-reanimated'`, 'DangerZone.Easing', 'react-native-reanimated');
}
// react-native-screens
get Screen() {
return removedModule(`DangerZone.Screen -> import { Screen } from 'react-native-screens'`, 'DangerZone.Screen', 'react-native-screens');
}
get ScreenContainer() {
return removedModule(`DangerZone.ScreenContainer -> import { ScreenContainer } from 'react-native-screens'`, 'DangerZone.ScreenContainer', 'react-native-screens');
}
}
export default new DangerZone();
//# sourceMappingURL=DangerZone.js.map

1
node_modules/expo/build/DangerZone.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"DangerZone.js","sourceRoot":"","sources":["../src/DangerZone.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU;IACd,IAAI,MAAM;QACR,OAAO,aAAa,CAClB,+DAA+D,EAC/D,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM;QACR,OAAO,aAAa,CAClB,gFAAgF,EAChF,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM;QACR,OAAO,aAAa,CAClB,4EAA4E,EAC5E,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IACD,IAAI,YAAY;QACd,OAAO,aAAa,CAClB,wEAAwE,EACxE,yBAAyB,EACzB,cAAc,CACf,CAAC;IACJ,CAAC;IACD,0BAA0B;IAC1B,IAAI,QAAQ;QACV,OAAO,aAAa,CAClB,uEAAuE,EACvE,qBAAqB,EACrB,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IACD,IAAI,MAAM;QACR,OAAO,aAAa,CAClB,uEAAuE,EACvE,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IACD,uBAAuB;IACvB,IAAI,MAAM;QACR,OAAO,aAAa,CAClB,oEAAoE,EACpE,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IACD,IAAI,eAAe;QACjB,OAAO,aAAa,CAClB,sFAAsF,EACtF,4BAA4B,EAC5B,sBAAsB,CACvB,CAAC;IACJ,CAAC;CACF;AAED,eAAe,IAAI,UAAU,EAAE,CAAC","sourcesContent":["/**\n * Modules exported here are experimental and COULD break in the future. Make sure you keep your app\n * up to date if you plan to use any of these.\n */\nimport removedModule from './removedModule';\n\nclass DangerZone {\n get Lottie(): unknown {\n return removedModule(\n `DangerZone.Lottie -> import Lottie from 'lottie-react-native'`,\n 'DangerZone.Lottie',\n 'lottie-react-native'\n );\n }\n get Branch(): unknown {\n return removedModule(\n `DangerZone.Branch -> import Branch, { BranchEvent } from 'react-native-branch'`,\n 'DangerZone.Branch',\n 'react-native-branch'\n );\n }\n get Stripe(): unknown {\n return removedModule(\n `DangerZone.Stripe -> import { PaymentsStripe } from 'expo-payments-stripe'`,\n 'DangerZone.Stripe',\n 'expo-payments-stripe'\n );\n }\n get DeviceMotion(): unknown {\n return removedModule(\n `DangerZone.DeviceMotion -> import { DeviceMotion } from 'expo-sensors'`,\n 'DangerZone.DeviceMotion',\n 'expo-sensors'\n );\n }\n // react-native-reanimated\n get Animated(): unknown {\n return removedModule(\n `DangerZone.Animated -> import Animated from 'react-native-reanimated'`,\n 'DangerZone.Animated',\n 'react-native-reanimated'\n );\n }\n get Easing(): unknown {\n return removedModule(\n `DangerZone.Easing -> import { Easing } from 'react-native-reanimated'`,\n 'DangerZone.Easing',\n 'react-native-reanimated'\n );\n }\n // react-native-screens\n get Screen(): unknown {\n return removedModule(\n `DangerZone.Screen -> import { Screen } from 'react-native-screens'`,\n 'DangerZone.Screen',\n 'react-native-screens'\n );\n }\n get ScreenContainer(): unknown {\n return removedModule(\n `DangerZone.ScreenContainer -> import { ScreenContainer } from 'react-native-screens'`,\n 'DangerZone.ScreenContainer',\n 'react-native-screens'\n );\n }\n}\n\nexport default new DangerZone();\n"]}

19
node_modules/expo/build/DangerZone.web.d.ts generated vendored Normal file
View File

@ -0,0 +1,19 @@
export declare const Lottie: null;
export declare const Branch: null;
export declare const Stripe: null;
export declare const DeviceMotion: null;
export declare const Animated: null;
export declare const Easing: null;
export declare const Screen: null;
export declare const ScreenContainer: null;
declare const _default: {
Lottie: null;
Branch: null;
Stripe: null;
DeviceMotion: null;
Animated: null;
Easing: null;
Screen: null;
ScreenContainer: null;
};
export default _default;

19
node_modules/expo/build/DangerZone.web.js generated vendored Normal file
View File

@ -0,0 +1,19 @@
export const Lottie = null;
export const Branch = null;
export const Stripe = null;
export const DeviceMotion = null;
export const Animated = null;
export const Easing = null;
export const Screen = null;
export const ScreenContainer = null;
export default {
Lottie,
Branch,
Stripe,
DeviceMotion,
Animated,
Easing,
Screen,
ScreenContainer,
};
//# sourceMappingURL=DangerZone.web.js.map

1
node_modules/expo/build/DangerZone.web.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"DangerZone.web.js","sourceRoot":"","sources":["../src/DangerZone.web.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,eAAe;IACb,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,eAAe;CAChB,CAAC","sourcesContent":["export const Lottie = null;\nexport const Branch = null;\nexport const Stripe = null;\nexport const DeviceMotion = null;\nexport const Animated = null;\nexport const Easing = null;\nexport const Screen = null;\nexport const ScreenContainer = null;\n\nexport default {\n Lottie,\n Branch,\n Stripe,\n DeviceMotion,\n Animated,\n Easing,\n Screen,\n ScreenContainer,\n};\n"]}

8
node_modules/expo/build/Expo.d.ts generated vendored Normal file
View File

@ -0,0 +1,8 @@
import './Expo.fx';
import * as Logs from './logs/Logs';
export { Logs };
export { default as apisAreAvailable } from './apisAreAvailable';
export { default as registerRootComponent } from './launch/registerRootComponent';
export { default as DangerZone } from './DangerZone';
export { Linking, Notifications } from './deprecated';
export { Accelerometer, AdMobBanner, AdMobInterstitial, AdMobRewarded, Animated, Amplitude, AppAuth, AppLoading, AR, Asset, Audio, BackgroundFetch, BarCodeScanner, Barometer, BlurView, Brightness, Calendar, Camera, Constants, Contacts, Crypto, DocumentPicker, Easing, Facebook, FacebookAds, FaceDetector, FileSystem, Font, GestureHandler, GL, GLView, GoogleSignIn, Google, Gyroscope, Haptic, Haptics, Icon, ImageManipulator, ImagePicker, IntentLauncher, IntentLauncherAndroid, KeepAwake, LinearGradient, LocalAuthentication, Localization, Location, Magnetometer, MagnetometerUncalibrated, MailComposer, MapView, MediaLibrary, Pedometer, Permissions, Print, PublisherBanner, Random, ScreenOrientation, SecureStore, Segment, Sensors, Sharing, SMS, Speech, SplashScreen, SQLite, Svg, takeSnapshotAsync, TaskManager, Transition, Transitioning, Updates, Video, WebBrowser, WebView, } from './removed';

3
node_modules/expo/build/Expo.fx.d.ts generated vendored Normal file
View File

@ -0,0 +1,3 @@
import './environment/logging.fx';
import './environment/react-native-logs.fx';
import 'expo-asset';

5
node_modules/expo/build/Expo.fx.expo.d.ts generated vendored Normal file
View File

@ -0,0 +1,5 @@
import './environment/validate.fx';
import './environment/logging.fx';
import './environment/LogBox.fx';
import './environment/react-native-logs.fx';
import 'expo-asset';

50
node_modules/expo/build/Expo.fx.expo.js generated vendored Normal file
View File

@ -0,0 +1,50 @@
import './environment/validate.fx';
import './environment/logging.fx';
import './environment/LogBox.fx'; // This must be imported exactly here
import './environment/react-native-logs.fx';
// load expo-asset immediately to set a custom `source` transformer in React Native
import 'expo-asset';
import Constants from 'expo-constants';
import * as Font from 'expo-font';
import { installWebGeolocationPolyfill } from 'expo-location';
import * as React from 'react';
import { AppRegistry, Platform, StyleSheet } from 'react-native';
import DevAppContainer from './environment/DevAppContainer';
if (Constants.manifest && typeof Constants.manifest.env === 'object') {
Object.assign(process.env, Constants.manifest.env);
}
// add the dev app container wrapper component on ios
if (__DEV__) {
if (Platform.OS === 'ios') {
// @ts-ignore
AppRegistry.setWrapperComponentProvider(() => DevAppContainer);
// @ts-ignore
const originalSetWrapperComponentProvider = AppRegistry.setWrapperComponentProvider;
// @ts-ignore
AppRegistry.setWrapperComponentProvider = provider => {
function PatchedProviderComponent(props) {
const ProviderComponent = provider();
return (React.createElement(DevAppContainer, null,
React.createElement(ProviderComponent, Object.assign({}, props))));
}
originalSetWrapperComponentProvider(() => PatchedProviderComponent);
};
}
}
if (StyleSheet.setStyleAttributePreprocessor) {
StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);
}
// polyfill navigator.geolocation
installWebGeolocationPolyfill();
if (module && module.exports) {
if (global) {
const globals = require('./globals');
// @ts-ignore
global.__exponent = globals;
// @ts-ignore
global.__expo = globals;
// @ts-ignore
global.Expo = globals;
}
}
//# sourceMappingURL=Expo.fx.expo.js.map

1
node_modules/expo/build/Expo.fx.expo.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"Expo.fx.expo.js","sourceRoot":"","sources":["../src/Expo.fx.expo.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,OAAO,0BAA0B,CAAC;AAClC,OAAO,yBAAyB,CAAC,CAAC,qCAAqC;AACvE,OAAO,oCAAoC,CAAC;AAE5C,mFAAmF;AACnF,OAAO,YAAY,CAAC;AAEpB,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,IAAI,SAAS,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE;IACpE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CACpD;AAED,qDAAqD;AACrD,IAAI,OAAO,EAAE;IACX,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QACzB,aAAa;QACb,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAE/D,aAAa;QACb,MAAM,mCAAmC,GAAG,WAAW,CAAC,2BAA2B,CAAC;QAEpF,aAAa;QACb,WAAW,CAAC,2BAA2B,GAAG,QAAQ,CAAC,EAAE;YACnD,SAAS,wBAAwB,CAAC,KAAU;gBAC1C,MAAM,iBAAiB,GAAG,QAAQ,EAAE,CAAC;gBAErC,OAAO,CACL,oBAAC,eAAe;oBACd,oBAAC,iBAAiB,oBAAK,KAAK,EAAI,CAChB,CACnB,CAAC;YACJ,CAAC;YAED,mCAAmC,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;QACtE,CAAC,CAAC;KACH;CACF;AAED,IAAI,UAAU,CAAC,6BAA6B,EAAE;IAC5C,UAAU,CAAC,6BAA6B,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;CAChF;AAED,iCAAiC;AACjC,6BAA6B,EAAE,CAAC;AAKhC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;IAC5B,IAAI,MAAM,EAAE;QACV,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAErC,aAAa;QACb,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,aAAa;QACb,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACxB,aAAa;QACb,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;KACvB;CACF","sourcesContent":["import './environment/validate.fx';\nimport './environment/logging.fx';\nimport './environment/LogBox.fx'; // This must be imported exactly here\nimport './environment/react-native-logs.fx';\n\n// load expo-asset immediately to set a custom `source` transformer in React Native\nimport 'expo-asset';\n\nimport Constants from 'expo-constants';\nimport * as Font from 'expo-font';\nimport { installWebGeolocationPolyfill } from 'expo-location';\nimport * as React from 'react';\nimport { AppRegistry, Platform, StyleSheet } from 'react-native';\n\nimport DevAppContainer from './environment/DevAppContainer';\n\nif (Constants.manifest && typeof Constants.manifest.env === 'object') {\n Object.assign(process.env, Constants.manifest.env);\n}\n\n// add the dev app container wrapper component on ios\nif (__DEV__) {\n if (Platform.OS === 'ios') {\n // @ts-ignore\n AppRegistry.setWrapperComponentProvider(() => DevAppContainer);\n\n // @ts-ignore\n const originalSetWrapperComponentProvider = AppRegistry.setWrapperComponentProvider;\n\n // @ts-ignore\n AppRegistry.setWrapperComponentProvider = provider => {\n function PatchedProviderComponent(props: any) {\n const ProviderComponent = provider();\n\n return (\n <DevAppContainer>\n <ProviderComponent {...props} />\n </DevAppContainer>\n );\n }\n\n originalSetWrapperComponentProvider(() => PatchedProviderComponent);\n };\n }\n}\n\nif (StyleSheet.setStyleAttributePreprocessor) {\n StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);\n}\n\n// polyfill navigator.geolocation\ninstallWebGeolocationPolyfill();\n\n// install globals\ndeclare var module: any;\n\nif (module && module.exports) {\n if (global) {\n const globals = require('./globals');\n\n // @ts-ignore\n global.__exponent = globals;\n // @ts-ignore\n global.__expo = globals;\n // @ts-ignore\n global.Expo = globals;\n }\n}\n"]}

6
node_modules/expo/build/Expo.fx.js generated vendored Normal file
View File

@ -0,0 +1,6 @@
// load remote logging for compatability with custom development clients
import './environment/logging.fx';
import './environment/react-native-logs.fx';
// load expo-asset immediately to set a custom `source` transformer in React Native
import 'expo-asset';
//# sourceMappingURL=Expo.fx.js.map

1
node_modules/expo/build/Expo.fx.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"Expo.fx.js","sourceRoot":"","sources":["../src/Expo.fx.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,0BAA0B,CAAC;AAClC,OAAO,oCAAoC,CAAC;AAE5C,mFAAmF;AACnF,OAAO,YAAY,CAAC","sourcesContent":["// load remote logging for compatability with custom development clients\nimport './environment/logging.fx';\nimport './environment/react-native-logs.fx';\n\n// load expo-asset immediately to set a custom `source` transformer in React Native\nimport 'expo-asset';\n"]}

1
node_modules/expo/build/Expo.fx.web.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
import './environment/react-native-logs.fx';

2
node_modules/expo/build/Expo.fx.web.js generated vendored Normal file
View File

@ -0,0 +1,2 @@
import './environment/react-native-logs.fx';
//# sourceMappingURL=Expo.fx.web.js.map

1
node_modules/expo/build/Expo.fx.web.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"Expo.fx.web.js","sourceRoot":"","sources":["../src/Expo.fx.web.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC","sourcesContent":["import './environment/react-native-logs.fx';\n"]}

160
node_modules/expo/build/Expo.js generated vendored Normal file
View File

@ -0,0 +1,160 @@
import './Expo.fx';
import * as Logs from './logs/Logs';
export { Logs };
export { default as apisAreAvailable } from './apisAreAvailable';
export { default as registerRootComponent } from './launch/registerRootComponent';
// The following should all be extracted from this package
export { default as DangerZone } from './DangerZone';
// @ts-ignore
export { Linking, Notifications } from './deprecated';
// @ts-ignore
export {
// @ts-ignore
Accelerometer,
// @ts-ignore
AdMobBanner,
// @ts-ignore
AdMobInterstitial,
// @ts-ignore
AdMobRewarded,
// @ts-ignore
Animated,
// @ts-ignore
Amplitude,
// @ts-ignore
AppAuth,
// @ts-ignore
AppLoading,
// @ts-ignore
AR,
// @ts-ignore
Asset,
// @ts-ignore
Audio,
// @ts-ignore
BackgroundFetch,
// @ts-ignore
BarCodeScanner,
// @ts-ignore
Barometer,
// @ts-ignore
BlurView,
// @ts-ignore
Brightness,
// @ts-ignore
Calendar,
// @ts-ignore
Camera,
// @ts-ignore
Constants,
// @ts-ignore
Contacts,
// @ts-ignore
Crypto,
// @ts-ignore
DocumentPicker,
// @ts-ignore
Easing,
// @ts-ignore
Facebook,
// @ts-ignore
FacebookAds,
// @ts-ignore
FaceDetector,
// @ts-ignore
FileSystem,
// @ts-ignore
Font,
// @ts-ignore
GestureHandler,
// @ts-ignore
GL,
// @ts-ignore
GLView,
// @ts-ignore
GoogleSignIn,
// @ts-ignore
Google,
// @ts-ignore
Gyroscope,
// @ts-ignore
Haptic,
// @ts-ignore
Haptics,
// @ts-ignore
Icon,
// @ts-ignore
ImageManipulator,
// @ts-ignore
ImagePicker,
// @ts-ignore
IntentLauncher,
// @ts-ignore
IntentLauncherAndroid,
// @ts-ignore
KeepAwake,
// @ts-ignore
LinearGradient,
// @ts-ignore
LocalAuthentication,
// @ts-ignore
Localization,
// @ts-ignore
Location,
// @ts-ignore
Magnetometer,
// @ts-ignore
MagnetometerUncalibrated,
// @ts-ignore
MailComposer,
// @ts-ignore
MapView,
// @ts-ignore
MediaLibrary,
// @ts-ignore
Pedometer,
// @ts-ignore
Permissions,
// @ts-ignore
Print,
// @ts-ignore
PublisherBanner,
// @ts-ignore
Random,
// @ts-ignore
ScreenOrientation,
// @ts-ignore
SecureStore,
// @ts-ignore
Segment,
// @ts-ignore
Sensors,
// @ts-ignore
Sharing,
// @ts-ignore
SMS,
// @ts-ignore
Speech,
// @ts-ignore
SplashScreen,
// @ts-ignore
SQLite,
// @ts-ignore
Svg,
// @ts-ignore
takeSnapshotAsync,
// @ts-ignore
TaskManager,
// @ts-ignore
Transition,
// @ts-ignore
Transitioning,
// @ts-ignore
Updates,
// @ts-ignore
Video,
// @ts-ignore
WebBrowser,
// @ts-ignore
WebView, } from './removed';
//# sourceMappingURL=Expo.js.map

1
node_modules/expo/build/Expo.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"Expo.js","sourceRoot":"","sources":["../src/Expo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAElF,0DAA0D;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAErD,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEtD,aAAa;AACb,OAAO;AACL,aAAa;AACb,aAAa;AACb,aAAa;AACb,WAAW;AACX,aAAa;AACb,iBAAiB;AACjB,aAAa;AACb,aAAa;AACb,aAAa;AACb,QAAQ;AACR,aAAa;AACb,SAAS;AACT,aAAa;AACb,OAAO;AACP,aAAa;AACb,UAAU;AACV,aAAa;AACb,EAAE;AACF,aAAa;AACb,KAAK;AACL,aAAa;AACb,KAAK;AACL,aAAa;AACb,eAAe;AACf,aAAa;AACb,cAAc;AACd,aAAa;AACb,SAAS;AACT,aAAa;AACb,QAAQ;AACR,aAAa;AACb,UAAU;AACV,aAAa;AACb,QAAQ;AACR,aAAa;AACb,MAAM;AACN,aAAa;AACb,SAAS;AACT,aAAa;AACb,QAAQ;AACR,aAAa;AACb,MAAM;AACN,aAAa;AACb,cAAc;AACd,aAAa;AACb,MAAM;AACN,aAAa;AACb,QAAQ;AACR,aAAa;AACb,WAAW;AACX,aAAa;AACb,YAAY;AACZ,aAAa;AACb,UAAU;AACV,aAAa;AACb,IAAI;AACJ,aAAa;AACb,cAAc;AACd,aAAa;AACb,EAAE;AACF,aAAa;AACb,MAAM;AACN,aAAa;AACb,YAAY;AACZ,aAAa;AACb,MAAM;AACN,aAAa;AACb,SAAS;AACT,aAAa;AACb,MAAM;AACN,aAAa;AACb,OAAO;AACP,aAAa;AACb,IAAI;AACJ,aAAa;AACb,gBAAgB;AAChB,aAAa;AACb,WAAW;AACX,aAAa;AACb,cAAc;AACd,aAAa;AACb,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT,aAAa;AACb,cAAc;AACd,aAAa;AACb,mBAAmB;AACnB,aAAa;AACb,YAAY;AACZ,aAAa;AACb,QAAQ;AACR,aAAa;AACb,YAAY;AACZ,aAAa;AACb,wBAAwB;AACxB,aAAa;AACb,YAAY;AACZ,aAAa;AACb,OAAO;AACP,aAAa;AACb,YAAY;AACZ,aAAa;AACb,SAAS;AACT,aAAa;AACb,WAAW;AACX,aAAa;AACb,KAAK;AACL,aAAa;AACb,eAAe;AACf,aAAa;AACb,MAAM;AACN,aAAa;AACb,iBAAiB;AACjB,aAAa;AACb,WAAW;AACX,aAAa;AACb,OAAO;AACP,aAAa;AACb,OAAO;AACP,aAAa;AACb,OAAO;AACP,aAAa;AACb,GAAG;AACH,aAAa;AACb,MAAM;AACN,aAAa;AACb,YAAY;AACZ,aAAa;AACb,MAAM;AACN,aAAa;AACb,GAAG;AACH,aAAa;AACb,iBAAiB;AACjB,aAAa;AACb,WAAW;AACX,aAAa;AACb,UAAU;AACV,aAAa;AACb,aAAa;AACb,aAAa;AACb,OAAO;AACP,aAAa;AACb,KAAK;AACL,aAAa;AACb,UAAU;AACV,aAAa;AACb,OAAO,GACR,MAAM,WAAW,CAAC","sourcesContent":["import './Expo.fx';\n\nimport * as Logs from './logs/Logs';\n\nexport { Logs };\nexport { default as apisAreAvailable } from './apisAreAvailable';\nexport { default as registerRootComponent } from './launch/registerRootComponent';\n\n// The following should all be extracted from this package\nexport { default as DangerZone } from './DangerZone';\n\n// @ts-ignore\nexport { Linking, Notifications } from './deprecated';\n\n// @ts-ignore\nexport {\n // @ts-ignore\n Accelerometer,\n // @ts-ignore\n AdMobBanner,\n // @ts-ignore\n AdMobInterstitial,\n // @ts-ignore\n AdMobRewarded,\n // @ts-ignore\n Animated,\n // @ts-ignore\n Amplitude,\n // @ts-ignore\n AppAuth,\n // @ts-ignore\n AppLoading,\n // @ts-ignore\n AR,\n // @ts-ignore\n Asset,\n // @ts-ignore\n Audio,\n // @ts-ignore\n BackgroundFetch,\n // @ts-ignore\n BarCodeScanner,\n // @ts-ignore\n Barometer,\n // @ts-ignore\n BlurView,\n // @ts-ignore\n Brightness,\n // @ts-ignore\n Calendar,\n // @ts-ignore\n Camera,\n // @ts-ignore\n Constants,\n // @ts-ignore\n Contacts,\n // @ts-ignore\n Crypto,\n // @ts-ignore\n DocumentPicker,\n // @ts-ignore\n Easing,\n // @ts-ignore\n Facebook,\n // @ts-ignore\n FacebookAds,\n // @ts-ignore\n FaceDetector,\n // @ts-ignore\n FileSystem,\n // @ts-ignore\n Font,\n // @ts-ignore\n GestureHandler,\n // @ts-ignore\n GL,\n // @ts-ignore\n GLView,\n // @ts-ignore\n GoogleSignIn,\n // @ts-ignore\n Google,\n // @ts-ignore\n Gyroscope,\n // @ts-ignore\n Haptic,\n // @ts-ignore\n Haptics,\n // @ts-ignore\n Icon,\n // @ts-ignore\n ImageManipulator,\n // @ts-ignore\n ImagePicker,\n // @ts-ignore\n IntentLauncher,\n // @ts-ignore\n IntentLauncherAndroid,\n // @ts-ignore\n KeepAwake,\n // @ts-ignore\n LinearGradient,\n // @ts-ignore\n LocalAuthentication,\n // @ts-ignore\n Localization,\n // @ts-ignore\n Location,\n // @ts-ignore\n Magnetometer,\n // @ts-ignore\n MagnetometerUncalibrated,\n // @ts-ignore\n MailComposer,\n // @ts-ignore\n MapView,\n // @ts-ignore\n MediaLibrary,\n // @ts-ignore\n Pedometer,\n // @ts-ignore\n Permissions,\n // @ts-ignore\n Print,\n // @ts-ignore\n PublisherBanner,\n // @ts-ignore\n Random,\n // @ts-ignore\n ScreenOrientation,\n // @ts-ignore\n SecureStore,\n // @ts-ignore\n Segment,\n // @ts-ignore\n Sensors,\n // @ts-ignore\n Sharing,\n // @ts-ignore\n SMS,\n // @ts-ignore\n Speech,\n // @ts-ignore\n SplashScreen,\n // @ts-ignore\n SQLite,\n // @ts-ignore\n Svg,\n // @ts-ignore\n takeSnapshotAsync,\n // @ts-ignore\n TaskManager,\n // @ts-ignore\n Transition,\n // @ts-ignore\n Transitioning,\n // @ts-ignore\n Updates,\n // @ts-ignore\n Video,\n // @ts-ignore\n WebBrowser,\n // @ts-ignore\n WebView,\n} from './removed';\n"]}

504
node_modules/expo/build/ExpoLazy.js generated vendored Normal file
View File

@ -0,0 +1,504 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "apisAreAvailable", {
enumerable: true,
get: function () {
return _apisAreAvailable.default;
}
});
Object.defineProperty(exports, "registerRootComponent", {
enumerable: true,
get: function () {
return _registerRootComponent.default;
}
});
Object.defineProperty(exports, "DangerZone", {
enumerable: true,
get: function () {
return _DangerZone.default;
}
});
Object.defineProperty(exports, "Linking", {
enumerable: true,
get: function () {
return _deprecated.Linking;
}
});
Object.defineProperty(exports, "Notifications", {
enumerable: true,
get: function () {
return _deprecated.Notifications;
}
});
Object.defineProperty(exports, "Accelerometer", {
enumerable: true,
get: function () {
return _removed.Accelerometer;
}
});
Object.defineProperty(exports, "AdMobBanner", {
enumerable: true,
get: function () {
return _removed.AdMobBanner;
}
});
Object.defineProperty(exports, "AdMobInterstitial", {
enumerable: true,
get: function () {
return _removed.AdMobInterstitial;
}
});
Object.defineProperty(exports, "AdMobRewarded", {
enumerable: true,
get: function () {
return _removed.AdMobRewarded;
}
});
Object.defineProperty(exports, "Animated", {
enumerable: true,
get: function () {
return _removed.Animated;
}
});
Object.defineProperty(exports, "Amplitude", {
enumerable: true,
get: function () {
return _removed.Amplitude;
}
});
Object.defineProperty(exports, "AppAuth", {
enumerable: true,
get: function () {
return _removed.AppAuth;
}
});
Object.defineProperty(exports, "AppLoading", {
enumerable: true,
get: function () {
return _removed.AppLoading;
}
});
Object.defineProperty(exports, "AR", {
enumerable: true,
get: function () {
return _removed.AR;
}
});
Object.defineProperty(exports, "Asset", {
enumerable: true,
get: function () {
return _removed.Asset;
}
});
Object.defineProperty(exports, "Audio", {
enumerable: true,
get: function () {
return _removed.Audio;
}
});
Object.defineProperty(exports, "BackgroundFetch", {
enumerable: true,
get: function () {
return _removed.BackgroundFetch;
}
});
Object.defineProperty(exports, "BarCodeScanner", {
enumerable: true,
get: function () {
return _removed.BarCodeScanner;
}
});
Object.defineProperty(exports, "Barometer", {
enumerable: true,
get: function () {
return _removed.Barometer;
}
});
Object.defineProperty(exports, "BlurView", {
enumerable: true,
get: function () {
return _removed.BlurView;
}
});
Object.defineProperty(exports, "Brightness", {
enumerable: true,
get: function () {
return _removed.Brightness;
}
});
Object.defineProperty(exports, "Calendar", {
enumerable: true,
get: function () {
return _removed.Calendar;
}
});
Object.defineProperty(exports, "Camera", {
enumerable: true,
get: function () {
return _removed.Camera;
}
});
Object.defineProperty(exports, "Constants", {
enumerable: true,
get: function () {
return _removed.Constants;
}
});
Object.defineProperty(exports, "Contacts", {
enumerable: true,
get: function () {
return _removed.Contacts;
}
});
Object.defineProperty(exports, "Crypto", {
enumerable: true,
get: function () {
return _removed.Crypto;
}
});
Object.defineProperty(exports, "DocumentPicker", {
enumerable: true,
get: function () {
return _removed.DocumentPicker;
}
});
Object.defineProperty(exports, "Easing", {
enumerable: true,
get: function () {
return _removed.Easing;
}
});
Object.defineProperty(exports, "Facebook", {
enumerable: true,
get: function () {
return _removed.Facebook;
}
});
Object.defineProperty(exports, "FacebookAds", {
enumerable: true,
get: function () {
return _removed.FacebookAds;
}
});
Object.defineProperty(exports, "FaceDetector", {
enumerable: true,
get: function () {
return _removed.FaceDetector;
}
});
Object.defineProperty(exports, "FileSystem", {
enumerable: true,
get: function () {
return _removed.FileSystem;
}
});
Object.defineProperty(exports, "Font", {
enumerable: true,
get: function () {
return _removed.Font;
}
});
Object.defineProperty(exports, "GestureHandler", {
enumerable: true,
get: function () {
return _removed.GestureHandler;
}
});
Object.defineProperty(exports, "GL", {
enumerable: true,
get: function () {
return _removed.GL;
}
});
Object.defineProperty(exports, "GLView", {
enumerable: true,
get: function () {
return _removed.GLView;
}
});
Object.defineProperty(exports, "GoogleSignIn", {
enumerable: true,
get: function () {
return _removed.GoogleSignIn;
}
});
Object.defineProperty(exports, "Google", {
enumerable: true,
get: function () {
return _removed.Google;
}
});
Object.defineProperty(exports, "Gyroscope", {
enumerable: true,
get: function () {
return _removed.Gyroscope;
}
});
Object.defineProperty(exports, "Haptic", {
enumerable: true,
get: function () {
return _removed.Haptic;
}
});
Object.defineProperty(exports, "Haptics", {
enumerable: true,
get: function () {
return _removed.Haptics;
}
});
Object.defineProperty(exports, "Icon", {
enumerable: true,
get: function () {
return _removed.Icon;
}
});
Object.defineProperty(exports, "ImageManipulator", {
enumerable: true,
get: function () {
return _removed.ImageManipulator;
}
});
Object.defineProperty(exports, "ImagePicker", {
enumerable: true,
get: function () {
return _removed.ImagePicker;
}
});
Object.defineProperty(exports, "IntentLauncher", {
enumerable: true,
get: function () {
return _removed.IntentLauncher;
}
});
Object.defineProperty(exports, "IntentLauncherAndroid", {
enumerable: true,
get: function () {
return _removed.IntentLauncherAndroid;
}
});
Object.defineProperty(exports, "KeepAwake", {
enumerable: true,
get: function () {
return _removed.KeepAwake;
}
});
Object.defineProperty(exports, "LinearGradient", {
enumerable: true,
get: function () {
return _removed.LinearGradient;
}
});
Object.defineProperty(exports, "LocalAuthentication", {
enumerable: true,
get: function () {
return _removed.LocalAuthentication;
}
});
Object.defineProperty(exports, "Localization", {
enumerable: true,
get: function () {
return _removed.Localization;
}
});
Object.defineProperty(exports, "Location", {
enumerable: true,
get: function () {
return _removed.Location;
}
});
Object.defineProperty(exports, "Magnetometer", {
enumerable: true,
get: function () {
return _removed.Magnetometer;
}
});
Object.defineProperty(exports, "MagnetometerUncalibrated", {
enumerable: true,
get: function () {
return _removed.MagnetometerUncalibrated;
}
});
Object.defineProperty(exports, "MailComposer", {
enumerable: true,
get: function () {
return _removed.MailComposer;
}
});
Object.defineProperty(exports, "MapView", {
enumerable: true,
get: function () {
return _removed.MapView;
}
});
Object.defineProperty(exports, "MediaLibrary", {
enumerable: true,
get: function () {
return _removed.MediaLibrary;
}
});
Object.defineProperty(exports, "Pedometer", {
enumerable: true,
get: function () {
return _removed.Pedometer;
}
});
Object.defineProperty(exports, "Permissions", {
enumerable: true,
get: function () {
return _removed.Permissions;
}
});
Object.defineProperty(exports, "Print", {
enumerable: true,
get: function () {
return _removed.Print;
}
});
Object.defineProperty(exports, "PublisherBanner", {
enumerable: true,
get: function () {
return _removed.PublisherBanner;
}
});
Object.defineProperty(exports, "Random", {
enumerable: true,
get: function () {
return _removed.Random;
}
});
Object.defineProperty(exports, "ScreenOrientation", {
enumerable: true,
get: function () {
return _removed.ScreenOrientation;
}
});
Object.defineProperty(exports, "SecureStore", {
enumerable: true,
get: function () {
return _removed.SecureStore;
}
});
Object.defineProperty(exports, "Segment", {
enumerable: true,
get: function () {
return _removed.Segment;
}
});
Object.defineProperty(exports, "Sensors", {
enumerable: true,
get: function () {
return _removed.Sensors;
}
});
Object.defineProperty(exports, "Sharing", {
enumerable: true,
get: function () {
return _removed.Sharing;
}
});
Object.defineProperty(exports, "SMS", {
enumerable: true,
get: function () {
return _removed.SMS;
}
});
Object.defineProperty(exports, "Speech", {
enumerable: true,
get: function () {
return _removed.Speech;
}
});
Object.defineProperty(exports, "SplashScreen", {
enumerable: true,
get: function () {
return _removed.SplashScreen;
}
});
Object.defineProperty(exports, "SQLite", {
enumerable: true,
get: function () {
return _removed.SQLite;
}
});
Object.defineProperty(exports, "Svg", {
enumerable: true,
get: function () {
return _removed.Svg;
}
});
Object.defineProperty(exports, "takeSnapshotAsync", {
enumerable: true,
get: function () {
return _removed.takeSnapshotAsync;
}
});
Object.defineProperty(exports, "TaskManager", {
enumerable: true,
get: function () {
return _removed.TaskManager;
}
});
Object.defineProperty(exports, "Transition", {
enumerable: true,
get: function () {
return _removed.Transition;
}
});
Object.defineProperty(exports, "Transitioning", {
enumerable: true,
get: function () {
return _removed.Transitioning;
}
});
Object.defineProperty(exports, "Updates", {
enumerable: true,
get: function () {
return _removed.Updates;
}
});
Object.defineProperty(exports, "Video", {
enumerable: true,
get: function () {
return _removed.Video;
}
});
Object.defineProperty(exports, "WebBrowser", {
enumerable: true,
get: function () {
return _removed.WebBrowser;
}
});
Object.defineProperty(exports, "WebView", {
enumerable: true,
get: function () {
return _removed.WebView;
}
});
exports.Logs = void 0;
require("./Expo.fx");
var Logs = _interopRequireWildcard(require("./logs/Logs"));
exports.Logs = Logs;
var _apisAreAvailable = _interopRequireDefault(require("./apisAreAvailable"));
var _registerRootComponent = _interopRequireDefault(require("./launch/registerRootComponent"));
var _DangerZone = _interopRequireDefault(require("./DangerZone"));
var _deprecated = require("./deprecated");
var _removed = require("./removed");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
//# sourceMappingURL=ExpoLazy.js.map

1
node_modules/expo/build/ExpoLazy.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"sources":["../src/Expo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;AAGA;;AACA;;AAGA;;AAGA;;AAGA","file":"ExpoLazy.js","sourcesContent":["import './Expo.fx';\n\nimport * as Logs from './logs/Logs';\n\nexport { Logs };\nexport { default as apisAreAvailable } from './apisAreAvailable';\nexport { default as registerRootComponent } from './launch/registerRootComponent';\n\n// The following should all be extracted from this package\nexport { default as DangerZone } from './DangerZone';\n\n// @ts-ignore\nexport { Linking, Notifications } from './deprecated';\n\n// @ts-ignore\nexport {\n // @ts-ignore\n Accelerometer,\n // @ts-ignore\n AdMobBanner,\n // @ts-ignore\n AdMobInterstitial,\n // @ts-ignore\n AdMobRewarded,\n // @ts-ignore\n Animated,\n // @ts-ignore\n Amplitude,\n // @ts-ignore\n AppAuth,\n // @ts-ignore\n AppLoading,\n // @ts-ignore\n AR,\n // @ts-ignore\n Asset,\n // @ts-ignore\n Audio,\n // @ts-ignore\n BackgroundFetch,\n // @ts-ignore\n BarCodeScanner,\n // @ts-ignore\n Barometer,\n // @ts-ignore\n BlurView,\n // @ts-ignore\n Brightness,\n // @ts-ignore\n Calendar,\n // @ts-ignore\n Camera,\n // @ts-ignore\n Constants,\n // @ts-ignore\n Contacts,\n // @ts-ignore\n Crypto,\n // @ts-ignore\n DocumentPicker,\n // @ts-ignore\n Easing,\n // @ts-ignore\n Facebook,\n // @ts-ignore\n FacebookAds,\n // @ts-ignore\n FaceDetector,\n // @ts-ignore\n FileSystem,\n // @ts-ignore\n Font,\n // @ts-ignore\n GestureHandler,\n // @ts-ignore\n GL,\n // @ts-ignore\n GLView,\n // @ts-ignore\n GoogleSignIn,\n // @ts-ignore\n Google,\n // @ts-ignore\n Gyroscope,\n // @ts-ignore\n Haptic,\n // @ts-ignore\n Haptics,\n // @ts-ignore\n Icon,\n // @ts-ignore\n ImageManipulator,\n // @ts-ignore\n ImagePicker,\n // @ts-ignore\n IntentLauncher,\n // @ts-ignore\n IntentLauncherAndroid,\n // @ts-ignore\n KeepAwake,\n // @ts-ignore\n LinearGradient,\n // @ts-ignore\n LocalAuthentication,\n // @ts-ignore\n Localization,\n // @ts-ignore\n Location,\n // @ts-ignore\n Magnetometer,\n // @ts-ignore\n MagnetometerUncalibrated,\n // @ts-ignore\n MailComposer,\n // @ts-ignore\n MapView,\n // @ts-ignore\n MediaLibrary,\n // @ts-ignore\n Pedometer,\n // @ts-ignore\n Permissions,\n // @ts-ignore\n Print,\n // @ts-ignore\n PublisherBanner,\n // @ts-ignore\n Random,\n // @ts-ignore\n ScreenOrientation,\n // @ts-ignore\n SecureStore,\n // @ts-ignore\n Segment,\n // @ts-ignore\n Sensors,\n // @ts-ignore\n Sharing,\n // @ts-ignore\n SMS,\n // @ts-ignore\n Speech,\n // @ts-ignore\n SplashScreen,\n // @ts-ignore\n SQLite,\n // @ts-ignore\n Svg,\n // @ts-ignore\n takeSnapshotAsync,\n // @ts-ignore\n TaskManager,\n // @ts-ignore\n Transition,\n // @ts-ignore\n Transitioning,\n // @ts-ignore\n Updates,\n // @ts-ignore\n Video,\n // @ts-ignore\n WebBrowser,\n // @ts-ignore\n WebView,\n} from './removed';\n"]}

View File

@ -0,0 +1,2 @@
declare const _default: any;
export default _default;

View File

@ -0,0 +1 @@
export {};

View File

@ -0,0 +1,13 @@
import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
import { getExponentPushTokenAsync } from './ExponentNotificationsHelper.web';
import { emitNotification } from './Notifications';
if (canUseDOM && 'serviceWorker' in navigator) {
navigator.serviceWorker.addEventListener('message', event => {
emitNotification(event.data);
});
navigator.serviceWorker.addEventListener('pushsubscriptionchange', async (event) => {
// Updates Expo token with new device token.
await getExponentPushTokenAsync();
});
}
//# sourceMappingURL=ExponentNotifications.fx.web.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ExponentNotifications.fx.web.js","sourceRoot":"","sources":["../../src/Notifications/ExponentNotifications.fx.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,IAAI,SAAS,IAAI,eAAe,IAAI,SAAS,EAAE;IAC7C,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;QAC1D,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;QAC/E,4CAA4C;QAC5C,MAAM,yBAAyB,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;CACJ","sourcesContent":["import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nimport { getExponentPushTokenAsync } from './ExponentNotificationsHelper.web';\nimport { emitNotification } from './Notifications';\n\nif (canUseDOM && 'serviceWorker' in navigator) {\n navigator.serviceWorker.addEventListener('message', event => {\n emitNotification(event.data);\n });\n\n navigator.serviceWorker.addEventListener('pushsubscriptionchange', async event => {\n // Updates Expo token with new device token.\n await getExponentPushTokenAsync();\n });\n}\n"]}

View File

@ -0,0 +1,3 @@
import { NativeModules } from 'react-native';
export default NativeModules.ExponentNotifications;
//# sourceMappingURL=ExponentNotifications.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ExponentNotifications.js","sourceRoot":"","sources":["../../src/Notifications/ExponentNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,eAAe,aAAa,CAAC,qBAAqB,CAAC","sourcesContent":["import { NativeModules } from 'react-native';\nexport default NativeModules.ExponentNotifications;\n"]}

View File

@ -0,0 +1,22 @@
import { LocalNotification, LocalNotificationId } from './Notifications.types';
import './ExponentNotifications.fx.web';
declare const _default: {
presentLocalNotification(notification: LocalNotification): Promise<LocalNotificationId>;
scheduleLocalNotification(notification: any, options?: {
time?: Date | number;
repeat?: 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year';
intervalMs?: number;
}): Promise<string>;
dismissNotification(notificationId?: string | undefined): Promise<void>;
dismissAllNotifications(): Promise<void>;
cancelScheduledNotificationAsync(notificationId: string): Promise<void>;
cancelAllScheduledNotificationsAsync(): Promise<void>;
getExponentPushTokenAsync(): Promise<string>;
getDevicePushTokenAsync(): Promise<{
type: string;
data: object;
}>;
getBadgeNumberAsync(): Promise<number>;
setBadgeNumberAsync(badgeNumber: number): Promise<void>;
};
export default _default;

View File

@ -0,0 +1,88 @@
import * as badgin from 'badgin';
import { v4 as uuidv4 } from 'uuid';
import { guardPermission, getExponentPushTokenAsync, getDevicePushTokenAsync, } from './ExponentNotificationsHelper.web';
// Register `message`'s event listener (side-effect)
import './ExponentNotifications.fx.web';
let currentBadgeNumber = 0;
function transformLocalNotification(notification, tag) {
const { web = {}, ...abstractNotification } = notification;
tag = web.tag || tag;
const nativeNotification = {
...abstractNotification,
tag,
...web,
// Show that this notification is a local notification
_isLocal: true,
};
return [nativeNotification.title, nativeNotification];
}
async function getRegistrationAsync() {
guardPermission();
const registration = await navigator.serviceWorker.getRegistration();
if (!registration) {
throw new Error('Failed to get notification registration!');
}
return registration;
}
async function getNotificationsAsync(tag) {
const registration = await getRegistrationAsync();
const notifications = await registration.getNotifications(tag ? { tag } : undefined);
return notifications;
}
export default {
async presentLocalNotification(notification) {
const registration = await getRegistrationAsync();
const tag = uuidv4();
registration.showNotification(...transformLocalNotification(notification, tag));
return tag;
},
async scheduleLocalNotification(notification, options = {}) {
if (options.intervalMs) {
const registration = await getRegistrationAsync();
const tag = uuidv4();
setTimeout(() => {
registration.showNotification(...transformLocalNotification(notification, tag));
}, options.intervalMs);
return tag;
}
else if (options.time) {
const intervalMs = options.time - Date.now();
if (intervalMs < 0) {
throw new Error('Expo.Notifications.scheduleLocalNotification(): options.time must be some time in the future.');
}
return this.scheduleLocalNotification(notification, {
intervalMs,
});
}
throw new Error(`Expo.Notifications.scheduleLocalNotification() options ${JSON.stringify(options, null, 2)} are not supported yet.`);
},
async dismissNotification(notificationId) {
const notifications = await getNotificationsAsync(notificationId);
for (const notification of notifications) {
notification.close();
}
},
async dismissAllNotifications() {
this.dismissNotification();
},
async cancelScheduledNotificationAsync(notificationId) {
this.dismissNotification(notificationId);
},
async cancelAllScheduledNotificationsAsync() {
this.dismissNotification();
},
async getExponentPushTokenAsync() {
return await getExponentPushTokenAsync();
},
async getDevicePushTokenAsync() {
return await getDevicePushTokenAsync();
},
async getBadgeNumberAsync() {
return currentBadgeNumber;
},
async setBadgeNumberAsync(badgeNumber) {
currentBadgeNumber = badgeNumber;
badgin.set(badgeNumber);
},
};
//# sourceMappingURL=ExponentNotifications.web.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
export declare function guardPermission(): void;
export declare function getExponentPushTokenAsync(): Promise<string>;
export declare function getDevicePushTokenAsync(): Promise<{
type: string;
data: object;
}>;

View File

@ -0,0 +1,99 @@
import { CodedError } from '@unimodules/core';
import Constants from 'expo-constants';
import { Platform } from 'react-native';
import getInstallationIdAsync from '../environment/getInstallationIdAsync';
export function guardPermission() {
if (!('Notification' in window)) {
throw new Error('The Notification API is not available on this device.');
}
if (!navigator.serviceWorker) {
throw new Error('Notifications cannot be used because the service worker API is not supported on this device. This might also happen because your web page does not support HTTPS.');
}
if (Notification.permission !== 'granted') {
throw new Error('Cannot use Notifications without permissions. Please request permissions with `expo-permissions`');
}
}
export async function getExponentPushTokenAsync() {
if (!Constants.manifest.owner || !Constants.manifest.slug) {
throw new CodedError('E_NOTIFICATIONS_PUSH_WEB_MISSING_CONFIG', 'You must provide `owner` and `slug` in `app.json` to use push notifications on web. Learn more: https://docs.expo.io/versions/latest/guides/using-vapid/.');
}
const data = await _subscribeUserToPushAsync();
const experienceId = `@${Constants.manifest.owner}/${Constants.manifest.slug}`;
const tokenArguments = {
deviceId: await getInstallationIdAsync(),
experienceId,
// Also uses `experienceId` for `appId` because there's no `appId` for web.
appId: experienceId,
deviceToken: JSON.stringify(data),
type: 'web',
};
const response = await fetch('https://exp.host/--/api/v2/push/getExpoPushToken', {
method: 'POST',
body: JSON.stringify(tokenArguments),
})
.then(response => {
if (!response.ok) {
throw new Error(response.statusText);
}
return response;
})
.then(response => response.json())
.catch(error => {
throw new CodedError('E_NOTIFICATIONS_TOKEN_REGISTRATION_FAILED', 'The device was unable to register for remote notifications with Expo. (' + error + ')');
});
return response.data.expoPushToken;
}
export async function getDevicePushTokenAsync() {
const data = await _subscribeUserToPushAsync();
return { type: Platform.OS, data };
}
async function _subscribeUserToPushAsync() {
if (!Constants.manifest.notification || !Constants.manifest.notification.vapidPublicKey) {
throw new CodedError('E_NOTIFICATIONS_PUSH_WEB_MISSING_CONFIG', 'You must provide `notification.vapidPublicKey` in `app.json` to use push notifications on web. Learn more: https://docs.expo.io/versions/latest/guides/using-vapid/.');
}
guardPermission();
const registration = await navigator.serviceWorker.register('/expo-service-worker.js');
await navigator.serviceWorker.ready;
if (!registration.active) {
throw new Error('Notifications might not be working because the service worker API is not active.');
}
const subscribeOptions = {
userVisibleOnly: true,
applicationServerKey: _urlBase64ToUint8Array(Constants.manifest.notification.vapidPublicKey),
};
const pushSubscription = await registration.pushManager
.subscribe(subscribeOptions)
.catch(error => {
throw new CodedError('E_NOTIFICATIONS_PUSH_WEB_TOKEN_REGISTRATION_FAILED', 'The device was unable to register for remote notifications with the browser endpoint. (' +
error +
')');
});
const pushSubscriptionJson = pushSubscription.toJSON();
const subscriptionObject = {
endpoint: pushSubscriptionJson.endpoint,
keys: {
p256dh: pushSubscriptionJson.keys.p256dh,
auth: pushSubscriptionJson.keys.auth,
},
};
// Store notification icon string in service worker.
// This message is received by `/expo-service-worker.js`.
// We wrap it with `fromExpoWebClient` to make sure other message
// will not override content such as `notificationIcon`.
// https://stackoverflow.com/a/35729334/2603230
const notificationIcon = (Constants.manifest.notification || {}).icon;
await registration.active.postMessage(JSON.stringify({ fromExpoWebClient: { notificationIcon } }));
return subscriptionObject;
}
// https://github.com/web-push-libs/web-push#using-vapid-key-for-applicationserverkey
function _urlBase64ToUint8Array(base64String) {
const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
const rawData = window.atob(base64);
const outputArray = new Uint8Array(rawData.length);
for (let i = 0; i < rawData.length; ++i) {
outputArray[i] = rawData.charCodeAt(i);
}
return outputArray;
}
//# sourceMappingURL=ExponentNotificationsHelper.web.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,45 @@
import { EventSubscription } from 'fbemitter';
import { Notification, LocalNotification, Channel, ActionType, LocalNotificationId } from './Notifications.types';
export declare function emitNotification(notification: any): void;
declare const _default: {
_setInitialNotification(notification: Notification): void;
createCategoryAsync(categoryId: string, actions: ActionType[], previewPlaceholder?: string | undefined): Promise<void>;
deleteCategoryAsync(categoryId: string): Promise<void>;
getExpoPushTokenAsync(): Promise<string>;
getDevicePushTokenAsync: (config: {
gcmSenderId?: string;
}) => Promise<{
type: string;
data: string;
}>;
createChannelAndroidAsync(id: string, channel: Channel): Promise<void>;
deleteChannelAndroidAsync(id: string): Promise<void>;
presentLocalNotificationAsync(notification: LocalNotification): Promise<LocalNotificationId>;
scheduleLocalNotificationAsync(notification: LocalNotification, options?: {
time?: Date | number;
repeat?: 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year';
intervalMs?: number;
}): Promise<LocalNotificationId>;
dismissNotificationAsync(notificationId: LocalNotificationId): Promise<void>;
dismissAllNotificationsAsync(): Promise<void>;
cancelScheduledNotificationAsync(notificationId: LocalNotificationId): Promise<void>;
cancelAllScheduledNotificationsAsync(): Promise<void>;
addListener(listener: (notification: Notification) => unknown): EventSubscription;
getBadgeNumberAsync(): Promise<number>;
setBadgeNumberAsync(number: number): Promise<void>;
scheduleNotificationWithCalendarAsync(notification: LocalNotification, options?: {
year?: number;
month?: number;
hour?: number;
day?: number;
minute?: number;
second?: number;
weekDay?: number;
repeat?: boolean;
}): Promise<string>;
scheduleNotificationWithTimerAsync(notification: LocalNotification, options: {
interval: number;
repeat?: boolean;
}): Promise<string>;
};
export default _default;

352
node_modules/expo/build/Notifications/Notifications.js generated vendored Normal file
View File

@ -0,0 +1,352 @@
import { CodedError, RCTDeviceEventEmitter, UnavailabilityError } from '@unimodules/core';
import Constants from 'expo-constants';
import { EventEmitter } from 'fbemitter';
import invariant from 'invariant';
import { Platform } from 'react-native';
import ExponentNotifications from './ExponentNotifications';
import Storage from './Storage';
let _emitter;
let _initialNotification;
function _getEventEmitter() {
if (!_emitter) {
_emitter = new EventEmitter();
RCTDeviceEventEmitter.addListener('Exponent.notification', emitNotification);
}
return _emitter;
}
export function emitNotification(notification) {
if (typeof notification === 'string') {
notification = JSON.parse(notification);
}
/* Don't mutate the original notification */
notification = { ...notification };
if (typeof notification.data === 'string') {
try {
notification.data = JSON.parse(notification.data);
}
catch (e) {
// It's actually just a string, that's fine
}
}
const emitter = _getEventEmitter();
emitter.emit('notification', notification);
}
function _processNotification(notification) {
notification = Object.assign({}, notification);
if (!notification.data) {
notification.data = {};
}
if (notification.hasOwnProperty('count')) {
delete notification.count;
}
// Delete any Android properties on iOS and merge the iOS properties on root notification object
if (Platform.OS === 'ios') {
if (notification.android) {
delete notification.android;
}
if (notification.ios) {
notification = Object.assign(notification, notification.ios);
notification.data._displayInForeground = notification.ios._displayInForeground;
delete notification.ios;
}
}
// Delete any iOS properties on Android and merge the Android properties on root notification
// object
if (Platform.OS === 'android') {
if (notification.ios) {
delete notification.ios;
}
if (notification.android) {
notification = Object.assign(notification, notification.android);
delete notification.android;
}
}
return notification;
}
function _validateNotification(notification) {
if (Platform.OS === 'ios') {
invariant(!!notification.title && !!notification.body, 'Local notifications on iOS require both a title and a body');
}
else if (Platform.OS === 'android') {
invariant(!!notification.title, 'Local notifications on Android require a title');
}
}
const ASYNC_STORAGE_PREFIX = '__expo_internal_channel_';
// TODO: remove this before releasing
// this will always be `true` for SDK 28+
const IS_USING_NEW_BINARY = ExponentNotifications && typeof ExponentNotifications.createChannel === 'function';
async function _legacyReadChannel(id) {
try {
const channelString = await Storage.getItem(`${ASYNC_STORAGE_PREFIX}${id}`);
if (channelString) {
return JSON.parse(channelString);
}
}
catch (e) { }
return null;
}
function _legacyDeleteChannel(id) {
return Storage.removeItem(`${ASYNC_STORAGE_PREFIX}${id}`);
}
if (Platform.OS === 'android') {
Storage.clear = async function (callback) {
try {
const keys = await Storage.getAllKeys();
if (keys && keys.length) {
const filteredKeys = keys.filter(key => !key.startsWith(ASYNC_STORAGE_PREFIX));
await Storage.multiRemove(filteredKeys);
}
callback && callback();
}
catch (e) {
callback && callback(e);
throw e;
}
};
}
// This codepath will never be triggered in SDK 28 and above
// TODO: remove before releasing
function _legacySaveChannel(id, channel) {
return Storage.setItem(`${ASYNC_STORAGE_PREFIX}${id}`, JSON.stringify(channel));
}
export default {
/* Only used internally to initialize the notification from top level props */
_setInitialNotification(notification) {
_initialNotification = notification;
},
// User passes set of actions titles.
createCategoryAsync(categoryId, actions, previewPlaceholder) {
return Platform.OS === 'ios'
? ExponentNotifications.createCategoryAsync(categoryId, actions, previewPlaceholder)
: ExponentNotifications.createCategoryAsync(categoryId, actions);
},
deleteCategoryAsync(categoryId) {
return ExponentNotifications.deleteCategoryAsync(categoryId);
},
/* Re-export */
getExpoPushTokenAsync() {
if (!ExponentNotifications.getExponentPushTokenAsync) {
throw new UnavailabilityError('Expo.Notifications', 'getExpoPushTokenAsync');
}
if (!Constants.isDevice) {
throw new Error(`Must be on a physical device to get an Expo Push Token`);
}
return ExponentNotifications.getExponentPushTokenAsync();
},
getDevicePushTokenAsync: (config) => {
if (!ExponentNotifications.getDevicePushTokenAsync) {
throw new UnavailabilityError('Expo.Notifications', 'getDevicePushTokenAsync');
}
return ExponentNotifications.getDevicePushTokenAsync(config || {});
},
createChannelAndroidAsync(id, channel) {
if (Platform.OS !== 'android') {
console.warn(`createChannelAndroidAsync(...) has no effect on ${Platform.OS}`);
return Promise.resolve();
}
// This codepath will never be triggered in SDK 28 and above
// TODO: remove before releasing
if (!IS_USING_NEW_BINARY) {
return _legacySaveChannel(id, channel);
}
return ExponentNotifications.createChannel(id, channel);
},
deleteChannelAndroidAsync(id) {
if (Platform.OS !== 'android') {
console.warn(`deleteChannelAndroidAsync(...) has no effect on ${Platform.OS}`);
return Promise.resolve();
}
// This codepath will never be triggered in SDK 28 and above
// TODO: remove before releasing
if (!IS_USING_NEW_BINARY) {
return Promise.resolve();
}
return ExponentNotifications.deleteChannel(id);
},
/* Shows a notification instantly */
async presentLocalNotificationAsync(notification) {
_validateNotification(notification);
const nativeNotification = _processNotification(notification);
if (Platform.OS !== 'android') {
return await ExponentNotifications.presentLocalNotification(nativeNotification);
}
else {
let _channel;
if (nativeNotification.channelId) {
_channel = await _legacyReadChannel(nativeNotification.channelId);
}
if (IS_USING_NEW_BINARY) {
// delete the legacy channel from AsyncStorage so this codepath isn't triggered anymore
_legacyDeleteChannel(nativeNotification.channelId);
return ExponentNotifications.presentLocalNotificationWithChannel(nativeNotification, _channel);
}
else {
// TODO: remove this codepath before releasing, it will never be triggered on SDK 28+
// channel does not actually exist, so add its settings to the individual notification
if (_channel) {
nativeNotification.sound = _channel.sound;
nativeNotification.priority = _channel.priority;
nativeNotification.vibrate = _channel.vibrate;
}
return ExponentNotifications.presentLocalNotification(nativeNotification);
}
}
},
/* Schedule a notification at a later date */
async scheduleLocalNotificationAsync(notification, options = {}) {
// set now at the beginning of the method, to prevent potential weird warnings when we validate
// options.time later on
const now = Date.now();
// Validate and process the notification data
_validateNotification(notification);
const nativeNotification = _processNotification(notification);
// Validate `options.time`
if (options.time) {
let timeAsDateObj = null;
if (options.time && typeof options.time === 'number') {
timeAsDateObj = new Date(options.time);
if (timeAsDateObj.toString() === 'Invalid Date') {
timeAsDateObj = null;
}
}
else if (options.time && options.time instanceof Date) {
timeAsDateObj = options.time;
}
// If we couldn't convert properly, throw an error
if (!timeAsDateObj) {
throw new Error(`Provided value for "time" is invalid. Please verify that it's either a number representing Unix Epoch time in milliseconds, or a valid date object.`);
}
// If someone passes in a value that is too small, say, by an order of 1000 (it's common to
// accidently pass seconds instead of ms), display a warning.
if (timeAsDateObj.getTime() < now) {
console.warn(`Provided value for "time" is before the current date. Did you possibly pass number of seconds since Unix Epoch instead of number of milliseconds?`);
}
options = {
...options,
time: timeAsDateObj.getTime(),
};
}
if (options.intervalMs != null && options.repeat != null) {
throw new Error(`Pass either the "repeat" option or "intervalMs" option, not both`);
}
// Validate options.repeat
if (options.repeat != null) {
const validOptions = new Set(['minute', 'hour', 'day', 'week', 'month', 'year']);
if (!validOptions.has(options.repeat)) {
throw new Error(`Pass one of ['minute', 'hour', 'day', 'week', 'month', 'year'] as the value for the "repeat" option`);
}
}
if (options.intervalMs != null) {
if (Platform.OS === 'ios') {
throw new Error(`The "intervalMs" option is not supported on iOS`);
}
if (options.intervalMs <= 0 || !Number.isInteger(options.intervalMs)) {
throw new Error(`Pass an integer greater than zero as the value for the "intervalMs" option`);
}
}
if (Platform.OS !== 'android') {
if (options.repeat) {
console.warn('Ability to schedule an automatically repeated notification is deprecated on iOS and will be removed in the next SDK release.');
return ExponentNotifications.legacyScheduleLocalRepeatingNotification(nativeNotification, options);
}
return ExponentNotifications.scheduleLocalNotification(nativeNotification, options);
}
else {
let _channel;
if (nativeNotification.channelId) {
_channel = await _legacyReadChannel(nativeNotification.channelId);
}
if (IS_USING_NEW_BINARY) {
// delete the legacy channel from AsyncStorage so this codepath isn't triggered anymore
_legacyDeleteChannel(nativeNotification.channelId);
return ExponentNotifications.scheduleLocalNotificationWithChannel(nativeNotification, options, _channel);
}
else {
// TODO: remove this codepath before releasing, it will never be triggered on SDK 28+
// channel does not actually exist, so add its settings to the individual notification
if (_channel) {
nativeNotification.sound = _channel.sound;
nativeNotification.priority = _channel.priority;
nativeNotification.vibrate = _channel.vibrate;
}
return ExponentNotifications.scheduleLocalNotification(nativeNotification, options);
}
}
},
/* Dismiss currently shown notification with ID (Android only) */
async dismissNotificationAsync(notificationId) {
if (!ExponentNotifications.dismissNotification) {
throw new UnavailabilityError('Expo.Notifications', 'dismissNotification');
}
return await ExponentNotifications.dismissNotification(notificationId);
},
/* Dismiss all currently shown notifications (Android only) */
async dismissAllNotificationsAsync() {
if (!ExponentNotifications.dismissAllNotifications) {
throw new UnavailabilityError('Expo.Notifications', 'dismissAllNotifications');
}
return await ExponentNotifications.dismissAllNotifications();
},
/* Cancel scheduled notification notification with ID */
cancelScheduledNotificationAsync(notificationId) {
if (Platform.OS === 'android' && typeof notificationId === 'string') {
return ExponentNotifications.cancelScheduledNotificationWithStringIdAsync(notificationId);
}
return ExponentNotifications.cancelScheduledNotificationAsync(notificationId);
},
/* Cancel all scheduled notifications */
cancelAllScheduledNotificationsAsync() {
return ExponentNotifications.cancelAllScheduledNotificationsAsync();
},
/* Primary public api */
addListener(listener) {
const emitter = _getEventEmitter();
if (_initialNotification) {
const initialNotification = _initialNotification;
_initialNotification = null;
setTimeout(() => {
emitNotification(initialNotification);
}, 0);
}
return emitter.addListener('notification', listener);
},
async getBadgeNumberAsync() {
if (!ExponentNotifications.getBadgeNumberAsync) {
return 0;
}
return ExponentNotifications.getBadgeNumberAsync();
},
async setBadgeNumberAsync(number) {
if (!ExponentNotifications.setBadgeNumberAsync) {
throw new UnavailabilityError('Expo.Notifications', 'setBadgeNumberAsync');
}
return ExponentNotifications.setBadgeNumberAsync(number);
},
async scheduleNotificationWithCalendarAsync(notification, options = {}) {
const areOptionsValid = (options.month == null || isInRangeInclusive(options.month, 1, 12)) &&
(options.day == null || isInRangeInclusive(options.day, 1, 31)) &&
(options.hour == null || isInRangeInclusive(options.hour, 0, 23)) &&
(options.minute == null || isInRangeInclusive(options.minute, 0, 59)) &&
(options.second == null || isInRangeInclusive(options.second, 0, 59)) &&
(options.weekDay == null || isInRangeInclusive(options.weekDay, 1, 7)) &&
(options.weekDay == null || options.day == null);
if (!areOptionsValid) {
throw new CodedError('WRONG_OPTIONS', 'Options in scheduleNotificationWithCalendarAsync call were incorrect!');
}
_validateNotification(notification);
const nativeNotification = _processNotification(notification);
return ExponentNotifications.scheduleNotificationWithCalendar(nativeNotification, options);
},
async scheduleNotificationWithTimerAsync(notification, options) {
if (options.interval < 1) {
throw new CodedError('WRONG_OPTIONS', 'Interval must be not less then 1');
}
_validateNotification(notification);
const nativeNotification = _processNotification(notification);
return ExponentNotifications.scheduleNotificationWithTimer(nativeNotification, options);
},
};
function isInRangeInclusive(variable, min, max) {
return variable >= min && variable <= max;
}
//# sourceMappingURL=Notifications.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,44 @@
export declare type Notification = {
origin: 'selected' | 'received';
data: any;
remote: boolean;
isMultiple: boolean;
};
export declare type LocalNotification = {
title: string;
body?: string;
data?: any;
categoryId?: string;
ios?: {
sound?: boolean;
_displayInForeground?: boolean;
};
android?: {
channelId?: string;
icon?: string;
color?: string;
sticky?: boolean;
link?: string;
};
web?: NotificationOptions;
};
export declare type Channel = {
name: string;
description?: string;
priority?: string;
sound?: boolean;
vibrate?: boolean | number[];
badge?: boolean;
};
export declare type ActionType = {
actionId: string;
buttonTitle: string;
isDestructive?: boolean;
isAuthenticationRequired?: boolean;
doNotOpenInForeground?: boolean;
textInput?: {
submitButtonTitle: string;
placeholder: string;
};
};
export declare type LocalNotificationId = string | number;

View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=Notifications.types.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"Notifications.types.js","sourceRoot":"","sources":["../../src/Notifications/Notifications.types.ts"],"names":[],"mappings":"","sourcesContent":["export type Notification = {\n origin: 'selected' | 'received';\n data: any;\n remote: boolean;\n isMultiple: boolean;\n};\n\nexport type LocalNotification = {\n title: string;\n // How should we deal with body being required on iOS but not on Android?\n body?: string;\n data?: any;\n categoryId?: string;\n ios?: {\n sound?: boolean;\n _displayInForeground?: boolean;\n };\n android?: {\n channelId?: string;\n icon?: string;\n color?: string;\n sticky?: boolean;\n link?: string;\n };\n web?: NotificationOptions;\n};\n\nexport type Channel = {\n name: string;\n description?: string;\n priority?: string;\n sound?: boolean;\n vibrate?: boolean | number[];\n badge?: boolean;\n};\n\nexport type ActionType = {\n actionId: string;\n buttonTitle: string;\n isDestructive?: boolean;\n isAuthenticationRequired?: boolean;\n doNotOpenInForeground?: boolean;\n textInput?: {\n submitButtonTitle: string;\n placeholder: string;\n };\n};\n\n// Android assigns unique number to each notification natively.\n// Since that's not supported on iOS, we generate an unique string.\nexport type LocalNotificationId = string | number;\n"]}

2
node_modules/expo/build/Notifications/Storage.d.ts generated vendored Normal file
View File

@ -0,0 +1,2 @@
import { AsyncStorage } from 'react-native';
export default AsyncStorage;

3
node_modules/expo/build/Notifications/Storage.js generated vendored Normal file
View File

@ -0,0 +1,3 @@
import { AsyncStorage } from 'react-native';
export default AsyncStorage;
//# sourceMappingURL=Storage.js.map

1
node_modules/expo/build/Notifications/Storage.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../src/Notifications/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,eAAe,YAAY,CAAC","sourcesContent":["import { AsyncStorage } from 'react-native';\n\nexport default AsyncStorage;\n"]}

View File

@ -0,0 +1,2 @@
declare const _default: {};
export default _default;

4
node_modules/expo/build/Notifications/Storage.web.js generated vendored Normal file
View File

@ -0,0 +1,4 @@
export default {
/* noop */
};
//# sourceMappingURL=Storage.web.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"Storage.web.js","sourceRoot":"","sources":["../../src/Notifications/Storage.web.ts"],"names":[],"mappings":"AAAA,eAAe;AACb,UAAU;CACX,CAAC","sourcesContent":["export default {\n /* noop */\n};\n"]}

3
node_modules/expo/build/Payments.d.ts generated vendored Normal file
View File

@ -0,0 +1,3 @@
export declare function initialize(): void;
declare const stripeModule: any;
export default stripeModule;

9
node_modules/expo/build/Payments.js generated vendored Normal file
View File

@ -0,0 +1,9 @@
import { NativeModules, Platform } from 'react-native';
export function initialize() {
if (!NativeModules.TPSStripeManager && Platform.OS === 'ios') {
console.warn(`We temporarily moved the Expo Payments API to ExpoKit. Please see the SDK 20 release notes for more information: https://blog.expo.io/expo-sdk-v20-0-0-is-now-available-79f84232a9d1`);
}
}
const stripeModule = NativeModules.TPSStripeManager || NativeModules.StripeModule;
export default stripeModule;
//# sourceMappingURL=Payments.js.map

1
node_modules/expo/build/Payments.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"Payments.js","sourceRoot":"","sources":["../src/Payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,aAAa,CAAC,gBAAgB,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QAC5D,OAAO,CAAC,IAAI,CACV,sLAAsL,CACvL,CAAC;KACH;AACH,CAAC;AAED,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,YAAY,CAAC;AAElF,eAAe,YAAY,CAAC","sourcesContent":["import { NativeModules, Platform } from 'react-native';\n\nexport function initialize() {\n if (!NativeModules.TPSStripeManager && Platform.OS === 'ios') {\n console.warn(\n `We temporarily moved the Expo Payments API to ExpoKit. Please see the SDK 20 release notes for more information: https://blog.expo.io/expo-sdk-v20-0-0-is-now-available-79f84232a9d1`\n );\n }\n}\n\nconst stripeModule = NativeModules.TPSStripeManager || NativeModules.StripeModule;\n\nexport default stripeModule;\n"]}

1
node_modules/expo/build/apisAreAvailable.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export default function apisAreAvailable(): boolean;

5
node_modules/expo/build/apisAreAvailable.js generated vendored Normal file
View File

@ -0,0 +1,5 @@
import { NativeModules } from 'react-native';
export default function apisAreAvailable() {
return !!NativeModules.ExponentConstants;
}
//# sourceMappingURL=apisAreAvailable.js.map

1
node_modules/expo/build/apisAreAvailable.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"apisAreAvailable.js","sourceRoot":"","sources":["../src/apisAreAvailable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACtC,OAAO,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC;AAC3C,CAAC","sourcesContent":["import { NativeModules } from 'react-native';\n\nexport default function apisAreAvailable(): boolean {\n return !!NativeModules.ExponentConstants;\n}\n"]}

1
node_modules/expo/build/deprecated.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export {};

18
node_modules/expo/build/deprecated.js generated vendored Normal file
View File

@ -0,0 +1,18 @@
import deprecatedModule from './deprecatedModule';
Object.defineProperties(module.exports, {
Linking: {
enumerable: true,
get() {
deprecatedModule(`import { Linking } from 'expo' -> import * as Linking from 'expo-linking'\n`, 'Linking', 'expo-linking');
return require('expo-linking');
},
},
Notifications: {
enumerable: true,
get() {
deprecatedModule(`import { Notifications } from 'expo' -> import * as Notifications from 'expo-notifications'\n`, 'Notifications', 'expo-notifications', 'Note the breaking changes in the new Notifications API: https://docs.expo.io/versions/latest/sdk/notifications/ . This legacy API will be removed in SDK 40.');
return require('./Notifications/Notifications').default;
},
},
});
//# sourceMappingURL=deprecated.js.map

1
node_modules/expo/build/deprecated.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../src/deprecated.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE;IACtC,OAAO,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CACd,6EAA6E,EAC7E,SAAS,EACT,cAAc,CACf,CAAC;YACF,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;KACF;IACD,aAAa,EAAE;QACb,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CACd,+FAA+F,EAC/F,eAAe,EACf,oBAAoB,EACpB,8JAA8J,CAC/J,CAAC;YACF,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC;QAC1D,CAAC;KACF;CACF,CAAC,CAAC","sourcesContent":["import deprecatedModule from './deprecatedModule';\n\ndeclare var module: any;\n\nObject.defineProperties(module.exports, {\n Linking: {\n enumerable: true,\n get() {\n deprecatedModule(\n `import { Linking } from 'expo' -> import * as Linking from 'expo-linking'\\n`,\n 'Linking',\n 'expo-linking'\n );\n return require('expo-linking');\n },\n },\n Notifications: {\n enumerable: true,\n get() {\n deprecatedModule(\n `import { Notifications } from 'expo' -> import * as Notifications from 'expo-notifications'\\n`,\n 'Notifications',\n 'expo-notifications',\n 'Note the breaking changes in the new Notifications API: https://docs.expo.io/versions/latest/sdk/notifications/ . This legacy API will be removed in SDK 40.'\n );\n return require('./Notifications/Notifications').default;\n },\n },\n});\n"]}

3
node_modules/expo/build/deprecated.web.d.ts generated vendored Normal file
View File

@ -0,0 +1,3 @@
import * as Linking from 'expo-linking';
import { default as Notifications } from './Notifications/Notifications';
export { Linking, Notifications };

4
node_modules/expo/build/deprecated.web.js generated vendored Normal file
View File

@ -0,0 +1,4 @@
import * as Linking from 'expo-linking';
import { default as Notifications } from './Notifications/Notifications';
export { Linking, Notifications };
//# sourceMappingURL=deprecated.web.js.map

1
node_modules/expo/build/deprecated.web.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"deprecated.web.js","sourceRoot":"","sources":["../src/deprecated.web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import * as Linking from 'expo-linking';\n\nimport { default as Notifications } from './Notifications/Notifications';\n\nexport { Linking, Notifications };\n"]}

1
node_modules/expo/build/deprecatedGlobal.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export default function deprecatedGlobal(name: any): void;

21
node_modules/expo/build/deprecatedGlobal.js generated vendored Normal file
View File

@ -0,0 +1,21 @@
let packages = [];
export default function deprecatedGlobal(name) {
if (__DEV__) {
packages.push(name);
setTimeout(logWarning, 1000);
}
}
function logWarning() {
if (!packages.length) {
return;
}
let instructions = '';
packages = Array.from(new Set(packages));
packages.sort();
instructions += packages.join(', ');
instructions += `.\n\n`;
instructions += `The global "__expo" and "Expo" objects will be removed in SDK 41. Learn more about how to fix this warning: https://expo.fyi/deprecated-globals\n`;
console.warn(`Your project is accessing the following APIs from a deprecated global rather than a module import: ${instructions}`);
packages = [];
}
//# sourceMappingURL=deprecatedGlobal.js.map

1
node_modules/expo/build/deprecatedGlobal.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"deprecatedGlobal.js","sourceRoot":"","sources":["../src/deprecatedGlobal.ts"],"names":[],"mappings":"AAAA,IAAI,QAAQ,GAAa,EAAE,CAAC;AAE5B,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI;IAC3C,IAAI,OAAO,EAAE;QACX,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,OAAO;KACR;IAED,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhB,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,YAAY,IAAI,OAAO,CAAC;IACxB,YAAY,IAAI,mJAAmJ,CAAC;IACpK,OAAO,CAAC,IAAI,CACV,sGAAsG,YAAY,EAAE,CACrH,CAAC;IACF,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC","sourcesContent":["let packages: string[] = [];\n\nexport default function deprecatedGlobal(name) {\n if (__DEV__) {\n packages.push(name);\n setTimeout(logWarning, 1000);\n }\n}\n\nfunction logWarning() {\n if (!packages.length) {\n return;\n }\n\n let instructions = '';\n\n packages = Array.from(new Set(packages));\n packages.sort();\n\n instructions += packages.join(', ');\n instructions += `.\\n\\n`;\n instructions += `The global \"__expo\" and \"Expo\" objects will be removed in SDK 41. Learn more about how to fix this warning: https://expo.fyi/deprecated-globals\\n`;\n console.warn(\n `Your project is accessing the following APIs from a deprecated global rather than a module import: ${instructions}`\n );\n packages = [];\n}\n"]}

1
node_modules/expo/build/deprecatedModule.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export default function deprecatedModule(message: any, namedImport: any, packageName: any, extraInstruction?: any): void;

49
node_modules/expo/build/deprecatedModule.js generated vendored Normal file
View File

@ -0,0 +1,49 @@
let messages = [];
let packages = [];
let namedImports = [];
let extraInstructions = [];
export default function deprecatedModule(message, namedImport, packageName, extraInstruction) {
if (__DEV__) {
messages.push(message);
packages.push(packageName);
namedImports.push(namedImport);
if (extraInstruction) {
extraInstructions.push(extraInstruction);
}
setTimeout(logWarning, 1000);
}
}
function logWarning() {
if (!messages.length) {
return;
}
let instructions = '';
messages = Array.from(new Set(messages));
messages.sort();
packages = Array.from(new Set(packages));
packages.sort();
namedImports = Array.from(new Set(namedImports));
namedImports.sort();
extraInstructions = Array.from(new Set(extraInstructions));
extraInstructions.sort();
instructions += namedImports.join(', ');
instructions += `.\n\n`;
instructions += `1. Add correct versions of these packages to your project using:\n\n`;
instructions += ` expo install ${packages.join(' ')}\n\n`;
instructions += `2. Change your imports so they use specific packages instead of the "expo" package:\n\n`;
messages.forEach(message => {
instructions += ` - ${message}\n`;
});
if (extraInstructions.length) {
instructions += `3. Make the following other changes:\n\n`;
extraInstructions.forEach(instruction => {
instructions += ` - ${instruction}\n`;
});
}
instructions += '\n';
console.log(`The following APIs have moved to separate packages and importing them from the "expo" package is deprecated: ${instructions}`);
messages = [];
packages = [];
namedImports = [];
}
//# sourceMappingURL=deprecatedModule.js.map

1
node_modules/expo/build/deprecatedModule.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"deprecatedModule.js","sourceRoot":"","sources":["../src/deprecatedModule.ts"],"names":[],"mappings":"AAAA,IAAI,QAAQ,GAAa,EAAE,CAAC;AAC5B,IAAI,QAAQ,GAAa,EAAE,CAAC;AAC5B,IAAI,YAAY,GAAa,EAAE,CAAC;AAChC,IAAI,iBAAiB,GAAa,EAAE,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAiB;IAC3F,IAAI,OAAO,EAAE;QACX,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,gBAAgB,EAAE;YACpB,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC1C;QACD,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,OAAO;KACR;IACD,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhB,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhB,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACjD,YAAY,CAAC,IAAI,EAAE,CAAC;IAEpB,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3D,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAEzB,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,YAAY,IAAI,OAAO,CAAC;IACxB,YAAY,IAAI,sEAAsE,CAAC;IACvF,YAAY,IAAI,mBAAmB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAC5D,YAAY,IAAI,yFAAyF,CAAC;IAC1G,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,YAAY,IAAI,MAAM,OAAO,IAAI,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,YAAY,IAAI,0CAA0C,CAAC;QAC3D,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACtC,YAAY,IAAI,MAAM,WAAW,IAAI,CAAC;QACxC,CAAC,CAAC,CAAC;KACJ;IAED,YAAY,IAAI,IAAI,CAAC;IACrB,OAAO,CAAC,GAAG,CACT,gHAAgH,YAAY,EAAE,CAC/H,CAAC;IACF,QAAQ,GAAG,EAAE,CAAC;IACd,QAAQ,GAAG,EAAE,CAAC;IACd,YAAY,GAAG,EAAE,CAAC;AACpB,CAAC","sourcesContent":["let messages: string[] = [];\nlet packages: string[] = [];\nlet namedImports: string[] = [];\nlet extraInstructions: string[] = [];\n\nexport default function deprecatedModule(message, namedImport, packageName, extraInstruction?) {\n if (__DEV__) {\n messages.push(message);\n packages.push(packageName);\n namedImports.push(namedImport);\n if (extraInstruction) {\n extraInstructions.push(extraInstruction);\n }\n setTimeout(logWarning, 1000);\n }\n}\n\nfunction logWarning() {\n if (!messages.length) {\n return;\n }\n let instructions = '';\n\n messages = Array.from(new Set(messages));\n messages.sort();\n\n packages = Array.from(new Set(packages));\n packages.sort();\n\n namedImports = Array.from(new Set(namedImports));\n namedImports.sort();\n\n extraInstructions = Array.from(new Set(extraInstructions));\n extraInstructions.sort();\n\n instructions += namedImports.join(', ');\n instructions += `.\\n\\n`;\n instructions += `1. Add correct versions of these packages to your project using:\\n\\n`;\n instructions += ` expo install ${packages.join(' ')}\\n\\n`;\n instructions += `2. Change your imports so they use specific packages instead of the \"expo\" package:\\n\\n`;\n messages.forEach(message => {\n instructions += ` - ${message}\\n`;\n });\n\n if (extraInstructions.length) {\n instructions += `3. Make the following other changes:\\n\\n`;\n extraInstructions.forEach(instruction => {\n instructions += ` - ${instruction}\\n`;\n });\n }\n\n instructions += '\\n';\n console.log(\n `The following APIs have moved to separate packages and importing them from the \"expo\" package is deprecated: ${instructions}`\n );\n messages = [];\n packages = [];\n namedImports = [];\n}\n"]}

View File

@ -0,0 +1,4 @@
import * as React from 'react';
export default class DevAppContainer extends React.Component {
render(): JSX.Element;
}

10
node_modules/expo/build/environment/DevAppContainer.js generated vendored Normal file
View File

@ -0,0 +1,10 @@
import * as React from 'react';
import DevLoadingView from '../environment/DevLoadingView';
export default class DevAppContainer extends React.Component {
render() {
return (React.createElement(React.Fragment, null,
this.props.children,
React.createElement(DevLoadingView, null)));
}
}
//# sourceMappingURL=DevAppContainer.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DevAppContainer.js","sourceRoot":"","sources":["../../src/environment/DevAppContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAAS;IAC1D,MAAM;QACJ,OAAO,CACL;YACG,IAAI,CAAC,KAAK,CAAC,QAAQ;YACpB,oBAAC,cAAc,OAAG,CACjB,CACJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["import * as React from 'react';\n\nimport DevLoadingView from '../environment/DevLoadingView';\n\nexport default class DevAppContainer extends React.Component {\n render() {\n return (\n <>\n {this.props.children}\n <DevLoadingView />\n </>\n );\n }\n}\n"]}

View File

@ -0,0 +1,2 @@
declare const _default: () => null;
export default _default;

View File

@ -0,0 +1,2 @@
/// <reference types="react" />
export default function DevLoadingView(): JSX.Element | null;

View File

@ -0,0 +1,89 @@
import React, { useEffect, useState, useRef } from 'react';
import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, View } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context';
const NativeDevLoadingView = NativeModules.DevLoadingView;
const nativeDevLoadingViewEventEmitter = new NativeEventEmitter(NativeDevLoadingView);
export default function DevLoadingView() {
const [isDevLoading, setIsDevLoading] = useState(false);
const [isAnimating, setIsAnimating] = useState(false);
const translateY = useRef(new Animated.Value(0)).current;
useEffect(() => {
function handleShowMessage({ message }) {
// "Refreshing..." is the standard fast refresh message and it's the
// only time we want to display this overlay.
if (message !== 'Refreshing...') {
return;
}
// TODO: if we show the refreshing banner and don't get a hide message
// for 3 seconds, warn the user that it's taking a while and suggest
// they reload
translateY.setValue(0);
setIsDevLoading(true);
}
function handleHide() {
// TODO: if we showed the 'refreshing' banner less than 250ms ago, delay
// switching to the 'finished' banner
setIsAnimating(true);
setIsDevLoading(false);
Animated.timing(translateY, {
toValue: 150,
delay: 1000,
duration: 350,
useNativeDriver: true,
}).start(({ finished }) => {
if (finished) {
setIsAnimating(false);
translateY.setValue(0);
}
});
}
nativeDevLoadingViewEventEmitter.addListener('devLoadingView:showMessage', handleShowMessage);
nativeDevLoadingViewEventEmitter.addListener('devLoadingView:hide', handleHide);
return function cleanup() {
nativeDevLoadingViewEventEmitter.removeListener('devLoadingView:showMessage', handleShowMessage);
nativeDevLoadingViewEventEmitter.removeListener('devLoadingView:hide', handleHide);
};
}, [translateY]);
if (isDevLoading || isAnimating) {
return (React.createElement(Animated.View, { style: [styles.animatedContainer, { transform: [{ translateY }] }], pointerEvents: "none" },
React.createElement(SafeAreaView, { style: styles.banner, edges: ['bottom'] },
React.createElement(View, { style: styles.contentContainer },
React.createElement(View, { style: { flexDirection: 'row' } },
React.createElement(Text, { style: styles.text }, isDevLoading ? 'Refreshing...' : 'Refreshed')),
React.createElement(View, { style: { flex: 1 } },
React.createElement(Text, { style: styles.subtitle }, isDevLoading ? 'Using Fast Refresh' : "Don't see your changes? Reload the app"))))));
}
else {
return null;
}
}
const styles = StyleSheet.create({
animatedContainer: {
position: 'absolute',
bottom: 0,
left: 0,
right: 0,
zIndex: 42,
},
banner: {
flex: 1,
overflow: 'visible',
backgroundColor: 'rgba(0,0,0,0.75)',
},
contentContainer: {
flex: 1,
paddingTop: 10,
paddingBottom: 5,
alignItems: 'center',
justifyContent: 'center',
textAlign: 'center',
},
text: {
color: '#fff',
fontSize: 15,
},
subtitle: {
color: 'rgba(255,255,255,0.8)',
},
});
//# sourceMappingURL=DevLoadingView.ios.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
// DevLoadingView exists on the JS-side only on iOS
export default () => null;
//# sourceMappingURL=DevLoadingView.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DevLoadingView.js","sourceRoot":"","sources":["../../src/environment/DevLoadingView.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,eAAe,GAAG,EAAE,CAAC,IAAI,CAAC","sourcesContent":["// DevLoadingView exists on the JS-side only on iOS\nexport default () => null;\n"]}

View File

@ -0,0 +1 @@
export {};

View File

@ -0,0 +1,7 @@
import Constants from 'expo-constants';
if (__DEV__) {
if (Constants.manifest?.experiments?.redesignedLogBox) {
console.warn('LogBox is enabled by default on SDK 39 and higher. You can now remove the experiments.redesignedLogBox from your app configuration to get rid of this warning.');
}
}
//# sourceMappingURL=LogBox.fx.expo.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"LogBox.fx.expo.js","sourceRoot":"","sources":["../../src/environment/LogBox.fx.expo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,IAAI,OAAO,EAAE;IACX,IAAI,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;QACrD,OAAO,CAAC,IAAI,CACV,gKAAgK,CACjK,CAAC;KACH;CACF","sourcesContent":["import Constants from 'expo-constants';\n\nif (__DEV__) {\n if (Constants.manifest?.experiments?.redesignedLogBox) {\n console.warn(\n 'LogBox is enabled by default on SDK 39 and higher. You can now remove the experiments.redesignedLogBox from your app configuration to get rid of this warning.'\n );\n }\n}\n"]}

View File

@ -0,0 +1 @@
export default function getInstallationIdAsync(): string;

View File

@ -0,0 +1,5 @@
import * as Application from 'expo-application';
export default function getInstallationIdAsync() {
return Application.androidId;
}
//# sourceMappingURL=getInstallationIdAsync.android.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getInstallationIdAsync.android.js","sourceRoot":"","sources":["../../src/environment/getInstallationIdAsync.android.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,sBAAsB;IAC5C,OAAO,WAAW,CAAC,SAAU,CAAC;AAChC,CAAC","sourcesContent":["import * as Application from 'expo-application';\n\nexport default function getInstallationIdAsync() {\n return Application.androidId!;\n}\n"]}

View File

@ -0,0 +1 @@
export default function getInstallationIdAsync(): Promise<string>;

View File

@ -0,0 +1,23 @@
import * as Application from 'expo-application';
import uuidv5 from 'uuid/v5';
let installationId;
const UUID_NAMESPACE = '29cc8a0d-747c-5f85-9ff9-f2f16636d963'; // uuidv5(0, "expo")
export default async function getInstallationIdAsync() {
if (installationId) {
return installationId;
}
const identifierForVendor = await Application.getIosIdForVendorAsync();
const bundleIdentifier = Application.applicationId;
// It's unlikely identifierForVendor will be null (it returns null if the
// device has been restarted but not yet unlocked), but let's handle this
// case.
if (identifierForVendor) {
installationId = uuidv5(`${bundleIdentifier}-${identifierForVendor}`, UUID_NAMESPACE);
}
else {
const installationTime = await Application.getInstallationTimeAsync();
installationId = uuidv5(`${bundleIdentifier}-${installationTime.getTime()}`, UUID_NAMESPACE);
}
return installationId;
}
//# sourceMappingURL=getInstallationIdAsync.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getInstallationIdAsync.js","sourceRoot":"","sources":["../../src/environment/getInstallationIdAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,IAAI,cAA6B,CAAC;AAClC,MAAM,cAAc,GAAG,sCAAsC,CAAC,CAAC,oBAAoB;AAEnF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,sBAAsB;IAClD,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,sBAAsB,EAAE,CAAC;IACvE,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAc,CAAC;IAEpD,yEAAyE;IACzE,yEAAyE;IACzE,QAAQ;IACR,IAAI,mBAAmB,EAAE;QACvB,cAAc,GAAG,MAAM,CAAC,GAAG,gBAAgB,IAAI,mBAAmB,EAAE,EAAE,cAAc,CAAC,CAAC;KACvF;SAAM;QACL,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,wBAAwB,EAAE,CAAC;QACtE,cAAc,GAAG,MAAM,CAAC,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;KAC9F;IAED,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import * as Application from 'expo-application';\nimport uuidv5 from 'uuid/v5';\n\nlet installationId: string | null;\nconst UUID_NAMESPACE = '29cc8a0d-747c-5f85-9ff9-f2f16636d963'; // uuidv5(0, \"expo\")\n\nexport default async function getInstallationIdAsync() {\n if (installationId) {\n return installationId;\n }\n\n const identifierForVendor = await Application.getIosIdForVendorAsync();\n const bundleIdentifier = Application.applicationId!;\n\n // It's unlikely identifierForVendor will be null (it returns null if the\n // device has been restarted but not yet unlocked), but let's handle this\n // case.\n if (identifierForVendor) {\n installationId = uuidv5(`${bundleIdentifier}-${identifierForVendor}`, UUID_NAMESPACE);\n } else {\n const installationTime = await Application.getInstallationTimeAsync();\n installationId = uuidv5(`${bundleIdentifier}-${installationTime.getTime()}`, UUID_NAMESPACE);\n }\n\n return installationId;\n}\n"]}

View File

@ -0,0 +1 @@
export default function getInstallationIdAsync(): Promise<string>;

View File

@ -0,0 +1,31 @@
import { v4 as uuidv4 } from 'uuid';
const INSTALLATION_ID_KEY = 'installationId';
let installationId = null;
export default async function getInstallationIdAsync() {
// Already cached value
if (installationId) {
return installationId;
}
try {
// No cached value, fetch from persisted storage
installationId = localStorage.getItem(INSTALLATION_ID_KEY);
if (installationId) {
return installationId;
}
}
catch (error) {
// If we weren't able to fetch one (for whatever reason)
// let's create a new one.
}
// No persisted value, set the cached value...
installationId = uuidv4();
// ...and try to persist it. Ignore the errors.
try {
localStorage.setItem(INSTALLATION_ID_KEY, installationId);
}
catch (error) {
console.debug('[expo-notifications] Could not save installation ID in persisted storage, it will get reset.', error);
}
return installationId;
}
//# sourceMappingURL=getInstallationIdAsync.web.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getInstallationIdAsync.web.js","sourceRoot":"","sources":["../../src/environment/getInstallationIdAsync.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,sBAAsB;IAClD,uBAAuB;IACvB,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,IAAI;QACF,gDAAgD;QAChD,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAI,cAAc,EAAE;YAClB,OAAO,cAAc,CAAC;SACvB;KACF;IAAC,OAAO,KAAK,EAAE;QACd,wDAAwD;QACxD,0BAA0B;KAC3B;IAED,8CAA8C;IAC9C,cAAc,GAAG,MAAM,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,IAAI;QACF,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;KAC3D;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CACX,8FAA8F,EAC9F,KAAK,CACN,CAAC;KACH;IAED,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nconst INSTALLATION_ID_KEY = 'installationId';\n\nlet installationId: string | null = null;\n\nexport default async function getInstallationIdAsync() {\n // Already cached value\n if (installationId) {\n return installationId;\n }\n\n try {\n // No cached value, fetch from persisted storage\n installationId = localStorage.getItem(INSTALLATION_ID_KEY);\n if (installationId) {\n return installationId;\n }\n } catch (error) {\n // If we weren't able to fetch one (for whatever reason)\n // let's create a new one.\n }\n\n // No persisted value, set the cached value...\n installationId = uuidv4();\n // ...and try to persist it. Ignore the errors.\n try {\n localStorage.setItem(INSTALLATION_ID_KEY, installationId);\n } catch (error) {\n console.debug(\n '[expo-notifications] Could not save installation ID in persisted storage, it will get reset.',\n error\n );\n }\n\n return installationId;\n}\n"]}

1
node_modules/expo/build/environment/logging.fx.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export {};

24
node_modules/expo/build/environment/logging.fx.js generated vendored Normal file
View File

@ -0,0 +1,24 @@
import Constants from 'expo-constants';
import * as Logs from '../logs/Logs';
import RemoteLogging from '../logs/RemoteLogging';
if (Constants.manifest && Constants.manifest.logUrl) {
// Enable logging to the Expo dev tools only if this JS is not running in a web browser (ex: the
// remote debugger). In Expo Web we don't show console logs in the CLI, so there's no special case needed.
if (!isRunningInWebBrowser()) {
Logs.enableExpoCliLogging();
}
else {
RemoteLogging.enqueueRemoteLogAsync('info', {}, [
'You are now debugging remotely; check your browser console for your application logs.',
]);
}
}
/**
* In all web browsers navigator.product is "Gecko" for compatibility reasons.
* See https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID/product
* and the discussion at https://github.com/expo/expo/pull/8807#discussion_r441391148.
*/
function isRunningInWebBrowser() {
return navigator?.product === 'Gecko';
}
//# sourceMappingURL=logging.fx.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"logging.fx.js","sourceRoot":"","sources":["../../src/environment/logging.fx.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAElD,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;IACnD,gGAAgG;IAChG,0GAA0G;IAC1G,IAAI,CAAC,qBAAqB,EAAE,EAAE;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;SAAM;QACL,aAAa,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,EAAE;YAC9C,uFAAuF;SACxF,CAAC,CAAC;KACJ;CACF;AAED;;;;GAIG;AACH,SAAS,qBAAqB;IAC5B,OAAO,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;AACxC,CAAC","sourcesContent":["import Constants from 'expo-constants';\n\nimport * as Logs from '../logs/Logs';\nimport RemoteLogging from '../logs/RemoteLogging';\n\nif (Constants.manifest && Constants.manifest.logUrl) {\n // Enable logging to the Expo dev tools only if this JS is not running in a web browser (ex: the\n // remote debugger). In Expo Web we don't show console logs in the CLI, so there's no special case needed.\n if (!isRunningInWebBrowser()) {\n Logs.enableExpoCliLogging();\n } else {\n RemoteLogging.enqueueRemoteLogAsync('info', {}, [\n 'You are now debugging remotely; check your browser console for your application logs.',\n ]);\n }\n}\n\n/**\n * In all web browsers navigator.product is \"Gecko\" for compatibility reasons.\n * See https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID/product\n * and the discussion at https://github.com/expo/expo/pull/8807#discussion_r441391148.\n */\nfunction isRunningInWebBrowser() {\n return navigator?.product === 'Gecko';\n}\n"]}

View File

@ -0,0 +1 @@
export {};

View File

@ -0,0 +1,29 @@
// AppRegistry transitively installs YellowBox as a side effect, which overrides various console
// methods that we need to set up before we override them
import { AppRegistry } from 'react-native';
AppRegistry; // eslint-disable-line @babel/no-unused-expressions
// NOTE(2018-10-29): temporarily filter out cyclic dependency warnings here since they are noisy and
// each warning symbolicates a stack trace, which is slow when there are many warnings
// NOTE(2019-05-27): temporarily filter out LottieAnimationView warnings triggered by
// unmaintained react-native-safe-module dependency.
const originalWarn = console.warn;
console.warn = function warn(...args) {
if (args.length > 0 &&
typeof args[0] === 'string' &&
(/^Require cycle: .*node_modules/.test(args[0]) ||
/Use UIManager\.getViewManagerConfig\('LottieAnimationView'\) instead\./.test(args[0]) ||
/ReactNative\.NativeModules\.LottieAnimationView\.getConstants/.test(args[0]))) {
return;
}
originalWarn.apply(console, args);
};
const originalError = console.error;
console.error = function error(...args) {
if (args.length > 0 &&
typeof args[0] === 'string' &&
/^Warning: .* has been extracted/.test(args[0])) {
return;
}
originalError.apply(console, args);
};
//# sourceMappingURL=react-native-logs.fx.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"react-native-logs.fx.js","sourceRoot":"","sources":["../../src/environment/react-native-logs.fx.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,WAAW,CAAC,CAAC,mDAAmD;AAEhE,oGAAoG;AACpG,sFAAsF;AACtF,qFAAqF;AACrF,oDAAoD;AACpD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;AAClC,OAAO,CAAC,IAAI,GAAG,SAAS,IAAI,CAAC,GAAG,IAAI;IAClC,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC3B,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtF,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF;QACA,OAAO;KACR;IACD,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;AACpC,OAAO,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,GAAG,IAAI;IACpC,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC3B,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/C;QACA,OAAO;KACR;IACD,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// AppRegistry transitively installs YellowBox as a side effect, which overrides various console\n// methods that we need to set up before we override them\nimport { AppRegistry } from 'react-native';\n\nAppRegistry; // eslint-disable-line @babel/no-unused-expressions\n\n// NOTE(2018-10-29): temporarily filter out cyclic dependency warnings here since they are noisy and\n// each warning symbolicates a stack trace, which is slow when there are many warnings\n// NOTE(2019-05-27): temporarily filter out LottieAnimationView warnings triggered by\n// unmaintained react-native-safe-module dependency.\nconst originalWarn = console.warn;\nconsole.warn = function warn(...args) {\n if (\n args.length > 0 &&\n typeof args[0] === 'string' &&\n (/^Require cycle: .*node_modules/.test(args[0]) ||\n /Use UIManager\\.getViewManagerConfig\\('LottieAnimationView'\\) instead\\./.test(args[0]) ||\n /ReactNative\\.NativeModules\\.LottieAnimationView\\.getConstants/.test(args[0]))\n ) {\n return;\n }\n originalWarn.apply(console, args);\n};\n\nconst originalError = console.error;\nconsole.error = function error(...args) {\n if (\n args.length > 0 &&\n typeof args[0] === 'string' &&\n /^Warning: .* has been extracted/.test(args[0])\n ) {\n return;\n }\n originalError.apply(console, args);\n};\n"]}

1
node_modules/expo/build/environment/validate.fx.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export {};

11
node_modules/expo/build/environment/validate.fx.js generated vendored Normal file
View File

@ -0,0 +1,11 @@
import Constants from 'expo-constants'; // eslint-disable-line @babel/no-unused-expressions
import {
// React Native's internal InitializeCore module sets up `window` but runs only when its React
// renderer is loaded. We can cause this by loading one of its dependents.
findNodeHandle, } from 'react-native';
import { shouldThrowAnErrorOutsideOfExpo } from './validatorState';
findNodeHandle; // eslint-disable-line @babel/no-unused-expressions
if (shouldThrowAnErrorOutsideOfExpo() && (!Constants || !Constants.expoVersion)) {
throw new Error(`Expo native runtime is not available: something went wrong and we aren't sure what it was. Please post more information and get support at https://forums.expo.io.`);
}
//# sourceMappingURL=validate.fx.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"validate.fx.js","sourceRoot":"","sources":["../../src/environment/validate.fx.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC,CAAC,mDAAmD;AAC3F,OAAO;AACL,8FAA8F;AAC9F,0EAA0E;AAC1E,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,cAAc,CAAC,CAAC,mDAAmD;AAEnE,IAAI,+BAA+B,EAAE,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;IAC/E,MAAM,IAAI,KAAK,CACb,oKAAoK,CACrK,CAAC;CACH","sourcesContent":["import Constants from 'expo-constants'; // eslint-disable-line @babel/no-unused-expressions\nimport {\n // React Native's internal InitializeCore module sets up `window` but runs only when its React\n // renderer is loaded. We can cause this by loading one of its dependents.\n findNodeHandle,\n} from 'react-native';\n\nimport { shouldThrowAnErrorOutsideOfExpo } from './validatorState';\n\nfindNodeHandle; // eslint-disable-line @babel/no-unused-expressions\n\nif (shouldThrowAnErrorOutsideOfExpo() && (!Constants || !Constants.expoVersion)) {\n throw new Error(\n `Expo native runtime is not available: something went wrong and we aren't sure what it was. Please post more information and get support at https://forums.expo.io.`\n );\n}\n"]}

View File

@ -0,0 +1,8 @@
/**
* @param value Should 'expo' validate the environment against Constants.expoVersion
*/
export declare function _setShouldThrowAnErrorOutsideOfExpo(value: any): void;
/**
* Should 'expo' validate the environment against Constants.expoVersion
*/
export declare function shouldThrowAnErrorOutsideOfExpo(): boolean;

14
node_modules/expo/build/environment/validatorState.js generated vendored Normal file
View File

@ -0,0 +1,14 @@
let shouldThrowAnErrorOutsideOfExpoValue = true;
/**
* @param value Should 'expo' validate the environment against Constants.expoVersion
*/
export function _setShouldThrowAnErrorOutsideOfExpo(value) {
shouldThrowAnErrorOutsideOfExpoValue = value;
}
/**
* Should 'expo' validate the environment against Constants.expoVersion
*/
export function shouldThrowAnErrorOutsideOfExpo() {
return shouldThrowAnErrorOutsideOfExpoValue;
}
//# sourceMappingURL=validatorState.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"validatorState.js","sourceRoot":"","sources":["../../src/environment/validatorState.ts"],"names":[],"mappings":"AAAA,IAAI,oCAAoC,GAAG,IAAI,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,mCAAmC,CAAC,KAAK;IACvD,oCAAoC,GAAG,KAAK,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO,oCAAoC,CAAC;AAC9C,CAAC","sourcesContent":["let shouldThrowAnErrorOutsideOfExpoValue = true;\n\n/**\n * @param value Should 'expo' validate the environment against Constants.expoVersion\n */\nexport function _setShouldThrowAnErrorOutsideOfExpo(value) {\n shouldThrowAnErrorOutsideOfExpoValue = value;\n}\n\n/**\n * Should 'expo' validate the environment against Constants.expoVersion\n */\nexport function shouldThrowAnErrorOutsideOfExpo() {\n return shouldThrowAnErrorOutsideOfExpoValue;\n}\n"]}

1
node_modules/expo/build/globals.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export {};

53
node_modules/expo/build/globals.js generated vendored Normal file
View File

@ -0,0 +1,53 @@
// We make some of the Expo SDK available on a global in order to make it
// possible to augment their libraries with some Expo-specific behavior
// when inside of an environment with the Expo SDK present, but otherwise
// continue to work in any bare React Native app without requiring that
// they install the 'expo' package. We can get rid of this entirely when
// the following RFC has been implemented:
// https://github.com/react-native-community/discussions-and-proposals/issues/120
import deprecatedGlobal from './deprecatedGlobal';
Object.defineProperties(module.exports, {
Asset: {
enumerable: true,
get() {
deprecatedGlobal('Asset (expo-asset)');
return require('expo-asset').Asset;
},
},
Constants: {
enumerable: true,
get() {
deprecatedGlobal('Constants (expo-constants)');
return require('expo-constants').default;
},
},
Font: {
enumerable: true,
get() {
deprecatedGlobal('Font (expo-font)');
return require('expo-font');
},
},
Icon: {
enumerable: true,
get() {
deprecatedGlobal('Icon (@expo/vector-icons)');
return require('@expo/vector-icons');
},
},
LinearGradient: {
enumerable: true,
get() {
deprecatedGlobal('LinearGradient (expo-linear-gradient)');
return require('expo-linear-gradient').LinearGradient;
},
},
SQLite: {
enumerable: true,
get() {
deprecatedGlobal('SQLite (expo-sqlite)');
return require('expo-sqlite').SQLite;
},
},
});
//# sourceMappingURL=globals.js.map

1
node_modules/expo/build/globals.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,uEAAuE;AACvE,wEAAwE;AACxE,0CAA0C;AAC1C,iFAAiF;AAEjF,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE;IACtC,KAAK,EAAE;QACL,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QACrC,CAAC;KACF;IAED,SAAS,EAAE;QACT,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;YAC/C,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;QAC3C,CAAC;KACF;IAED,IAAI,EAAE;QACJ,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;KACF;IAED,IAAI,EAAE;QACJ,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;KACF;IAED,cAAc,EAAE;QACd,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC,cAAc,CAAC;QACxD,CAAC;KACF;IAED,MAAM,EAAE;QACN,UAAU,EAAE,IAAI;QAChB,GAAG;YACD,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;QACvC,CAAC;KACF;CACF,CAAC,CAAC","sourcesContent":["// We make some of the Expo SDK available on a global in order to make it\n// possible to augment their libraries with some Expo-specific behavior\n// when inside of an environment with the Expo SDK present, but otherwise\n// continue to work in any bare React Native app without requiring that\n// they install the 'expo' package. We can get rid of this entirely when\n// the following RFC has been implemented:\n// https://github.com/react-native-community/discussions-and-proposals/issues/120\n\nimport deprecatedGlobal from './deprecatedGlobal';\n\ndeclare var module: any;\n\nObject.defineProperties(module.exports, {\n Asset: {\n enumerable: true,\n get() {\n deprecatedGlobal('Asset (expo-asset)');\n return require('expo-asset').Asset;\n },\n },\n\n Constants: {\n enumerable: true,\n get() {\n deprecatedGlobal('Constants (expo-constants)');\n return require('expo-constants').default;\n },\n },\n\n Font: {\n enumerable: true,\n get() {\n deprecatedGlobal('Font (expo-font)');\n return require('expo-font');\n },\n },\n\n Icon: {\n enumerable: true,\n get() {\n deprecatedGlobal('Icon (@expo/vector-icons)');\n return require('@expo/vector-icons');\n },\n },\n\n LinearGradient: {\n enumerable: true,\n get() {\n deprecatedGlobal('LinearGradient (expo-linear-gradient)');\n return require('expo-linear-gradient').LinearGradient;\n },\n },\n\n SQLite: {\n enumerable: true,\n get() {\n deprecatedGlobal('SQLite (expo-sqlite)');\n return require('expo-sqlite').SQLite;\n },\n },\n});\n"]}

View File

@ -0,0 +1,53 @@
/**
* NOTE(brentvatne):
* AppLoadingPlaceholder exists to smooth the upgrade experience to SDK 40. The
* placeholder behaves mostly as expected with the existing API, however it
* will no longer leverage any native APIs to keep the splash screen visible.
* This makes it so a user who upgrades and runs their app can see their app
* running and get the warning about the AppLoading module being removed
* top, without an extraneous red screen that would appear from attempting to
* render an undefined AppLoading component.
*
* Remove this in SDK 42.
*/
import React from 'react';
declare type Props = {
/**
* Optional, you can do this process manually if you prefer.
* This is mainly for backwards compatibility and it is not recommended.
*
* When provided, requires providing `onError` prop as well.
* @deprecated
*/
startAsync: () => Promise<void>;
/**
* If `startAsync` throws an error, it is caught and passed into the provided function.
* @deprecated
*/
onError: (error: Error) => void;
/**
* Called when `startAsync` resolves or rejects.
* This should be used to set state and unmount the `AppLoading` component.
* @deprecated
*/
onFinish: () => void;
/**
* Whether to hide the native splash screen as soon as you unmount the `AppLoading` component.
* Auto-hiding is enabled by default.
*/
autoHideSplash?: boolean;
} | {
/**
* Whether to hide the native splash screen as soon as you unmount the `AppLoading` component.
* Auto-hiding is enabled by default.
*/
autoHideSplash?: boolean;
};
export default class AppLoadingPlaceholder extends React.Component<Props> {
_isMounted: boolean;
componentDidMount(): void;
componentWillUnmount(): void;
private startLoadingAppResourcesAsync;
render(): null;
}
export {};

View File

@ -0,0 +1,59 @@
/**
* NOTE(brentvatne):
* AppLoadingPlaceholder exists to smooth the upgrade experience to SDK 40. The
* placeholder behaves mostly as expected with the existing API, however it
* will no longer leverage any native APIs to keep the splash screen visible.
* This makes it so a user who upgrades and runs their app can see their app
* running and get the warning about the AppLoading module being removed
* top, without an extraneous red screen that would appear from attempting to
* render an undefined AppLoading component.
*
* Remove this in SDK 42.
*/
import React from 'react';
export default class AppLoadingPlaceholder extends React.Component {
constructor() {
super(...arguments);
this._isMounted = false;
}
componentDidMount() {
this._isMounted = true;
this.startLoadingAppResourcesAsync().catch(error => {
console.error(`AppLoading threw an unexpected error when loading:\n${error.stack}`);
});
}
componentWillUnmount() {
this._isMounted = false;
}
async startLoadingAppResourcesAsync() {
if (!('startAsync' in this.props)) {
return;
}
if (!('onFinish' in this.props)) {
throw new Error('AppLoading onFinish prop is required if startAsync is provided');
}
if (!('onError' in this.props)) {
throw new Error('AppLoading onError prop is required if startAsync is provided');
}
try {
await this.props.startAsync();
}
catch (e) {
if (!this._isMounted) {
return;
}
this.props.onError(e);
}
finally {
if (!this._isMounted) {
return;
}
// If we get to this point then we know that either there was no error, or the error was handled.
this.props.onFinish();
}
}
render() {
return null;
}
}
//# sourceMappingURL=AppLoadingPlaceholder.js.map

Some files were not shown because too many files have changed in this diff Show More