diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..7e80300 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.re linguist-language=Reason +*.rei linguist-language=Reason diff --git a/package.json b/package.json index a77155e..b8178ed 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ ], "scripts": { "format:most": "prettier --write \"**/*.{md,json,js,css}\"", - "format:re": "find ./packages -iname '*.re' | xargs bsrefmt --in-place && find ./packages -iname '*.rei' | xargs bsrefmt -i true --in-place && find ./test -iname '*.re' | xargs bsrefmt --in-place && find ./template -iname '*.re' | xargs bsrefmt --in-place", + "format:re": "find ./packages -iname '*.re' | xargs bsrefmt --in-place && find ./packages -iname '*.rei' | xargs bsrefmt -i true --in-place && find ./packages/test -iname '*.re' | xargs bsrefmt --in-place && find ./packages/template -iname '*.re' | xargs bsrefmt --in-place", "format": "yarn format:most && yarn format:re", "watch": "run-p watch:reason-expo watch:test", "watch:reason-expo": "cd packages/reason-expo && yarn watch", diff --git a/packages/reason-expo/package.json b/packages/reason-expo/package.json index 2cc3882..58b73c7 100644 --- a/packages/reason-expo/package.json +++ b/packages/reason-expo/package.json @@ -1,7 +1,7 @@ { "name": "reason-expo", "description": "ReasonML bindings for Expo", - "version": "37.0.0", + "version": "38.0.0", "scripts": { "build": "bsb -make-world", "watch": "bsb -make-world -w", @@ -24,18 +24,18 @@ }, "devDependencies": { "babel-preset-expo": "^8.1.0", - "bs-platform": "^7.3.2", - "expo": "^37.0.0", - "reason-react": "^0.8.0", - "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz" + "bs-platform": "^8.2.0", + "expo": "^38.0.0", + "reason-react": "^0.9.0", + "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz" }, "bugs": "https://github.com/fiberjw/reason-expo/issues", "peerDependencies": { - "expo": "^37.0.0", + "expo": "^38.0.0", "react": "^16.9.0", "react-dom": "^16.8.1", "reason-react": "^0.8.0", - "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz", - "reason-react-native": "^0.61.1" + "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz", + "reason-react-native": "^0.62.3" } } diff --git a/packages/reason-expo/src/AR.re b/packages/reason-expo/src/AR.re index 35ac562..c2ee4ac 100644 --- a/packages/reason-expo/src/AR.re +++ b/packages/reason-expo/src/AR.re @@ -1,5 +1,5 @@ module HitTestResultTypes = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "HitTestResultTypes")] external featurePoint: t = "FeaturePoint"; @@ -21,7 +21,7 @@ module HitTestResultTypes = { }; module TrackingConfiguration = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "TrackingConfiguration")] external world: t = "World"; @@ -34,7 +34,7 @@ module TrackingConfiguration = { }; module DepthDataQuality = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "DepthDataQuality")] external low: t = "Low"; @@ -44,7 +44,7 @@ module DepthDataQuality = { }; module DepthDataAccuracy = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "DepthDataAccuracy")] external absolute: t = "Absolute"; @@ -54,7 +54,7 @@ module DepthDataAccuracy = { }; module BlendShape = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "BlendShape")] external browDownL: t = "BrowDownL"; @@ -211,7 +211,7 @@ module BlendShape = { }; module FaceAnchorProp = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "FaceAnchorProp")] external geometry: t = "Geometry"; @@ -221,7 +221,7 @@ module FaceAnchorProp = { }; module PlaneDetection = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "PlaneDetection")] external none: t = "None"; @@ -234,7 +234,7 @@ module PlaneDetection = { }; module WorldAlignment = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "WorldAlignment")] external gravity: t = "Gravity"; @@ -269,7 +269,7 @@ module EventType = { }; module AnchorType = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "AnchorType")] external face: t = "Face"; @@ -285,7 +285,7 @@ module AnchorType = { }; module AnchorEventType = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "AnchorEventType")] external add: t = "Add"; @@ -298,7 +298,7 @@ module AnchorEventType = { }; module FrameAttribute = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "FrameAttribute")] external anchors: t = "Anchors"; @@ -314,7 +314,7 @@ module FrameAttribute = { }; module TrackingState = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "TrackingState")] external notAvailable: t = "NotAvailable"; @@ -327,7 +327,7 @@ module TrackingState = { }; module TrackingStateReason = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("AR", "TrackingStateReason")] external none: t = "None"; @@ -424,13 +424,9 @@ and arFaceTrackingConfiguration = { }; type arFrameRequest = { - // [@bs.optional] anchors: option(arFrameAnchorRequest), - // [@bs.optional] rawFeaturePoints: option(bool), - // [@bs.optional] lightEstimation: option(bool), - // [@bs.optional] capturedDepthData: option(bool), }; @@ -513,30 +509,23 @@ external onFrameDidUpdate: (unit => unit) => unit = "onFrameDidUpdate"; external onDidFailWithError: ({. error: string} => unit) => unit = "onDidFailWithError"; +type onAnchorsDidUpdateResult = { + anchors: array(anchor), + eventType: AnchorEventType.t, +}; + [@bs.module "expo"] [@bs.scope "AR"] -external onAnchorsDidUpdate: - ( - { - . - anchors: array(anchor), - eventType: AnchorEventType.t, - } => - unit - ) => - unit = +external onAnchorsDidUpdate: (onAnchorsDidUpdateResult => unit) => unit = "onAnchorsDidUpdate"; +type onCameraDidChangeTrackingStateResult = { + trackingState: TrackingState.t, + trackingStateReason: TrackingStateReason.t, +}; + [@bs.module "expo"] [@bs.scope "AR"] external onCameraDidChangeTrackingState: - ( - { - . - trackingState: TrackingState.t, - trackingStateReason: TrackingStateReason.t, - } => - unit - ) => - unit = + (onCameraDidChangeTrackingStateResult => unit) => unit = "onCameraDidChangeTrackingState"; [@bs.module "expo"] [@bs.scope "AR"] @@ -547,17 +536,14 @@ external onSessionWasInterrupted: (unit => unit) => unit = external onSessionInterruptionEnded: (unit => unit) => unit = "onSessionInterruptionEnded"; +type performHitTestPoint = { + x: float, + y: float, +}; + [@bs.module "expo"] [@bs.scope "AR"] external performHitTest: - ( - { - . - x: float, - y: float, - }, - HitTestResultTypes.t - ) => - hitTestResults = + (performHitTestPoint, HitTestResultTypes.t) => hitTestResults = "performHitTest"; [@bs.module "expo"] [@bs.scope "AR"] diff --git a/packages/reason-expo/src/Accelerometer.re b/packages/reason-expo/src/Accelerometer.re index dec3d48..55de973 100644 --- a/packages/reason-expo/src/Accelerometer.re +++ b/packages/reason-expo/src/Accelerometer.re @@ -1,9 +1,5 @@ -[@bs.deriving abstract] -type eventSubscription; +type eventSubscription = {remove: unit => unit}; -[@bs.send] external remove: (eventSubscription, unit) => unit = "remove"; - -[@bs.deriving abstract] type location = { x: int, y: int, @@ -17,4 +13,4 @@ external addListener: (location => unit) => eventSubscription = "addListener"; external removeAllListeners: unit => unit = "removeAllListeners"; [@bs.module "expo-sensors"] [@bs.scope "Accelerometer"] -external setUpdateInterval: int => unit = "setUpdateInterval"; \ No newline at end of file +external setUpdateInterval: int => unit = "setUpdateInterval"; diff --git a/packages/reason-expo/src/ActionSheet.re b/packages/reason-expo/src/ActionSheet.re new file mode 100644 index 0000000..07279ec --- /dev/null +++ b/packages/reason-expo/src/ActionSheet.re @@ -0,0 +1,44 @@ +module Provider = { + [@bs.module "@expo/react-native-action-sheet"] [@react.component] + external make: (~children: React.element) => React.element = + "ActionSheetProvider"; +}; + +type actionSheetOptions = { + title: option(string), + message: option(string), + options: array(string), + destructiveButtonIndex: int, + cancelButtonIndex: option(int), +}; + +type handleAction = int => unit; + +type useActionSheet = { + showActionSheetWithOptions: (actionSheetOptions, handleAction) => unit, +}; + +[@bs.module "@expo/react-native-action-sheet"] +external useActionSheet: unit => useActionSheet = "useActionSheet"; + +let useActionSheetRe = () => { + let {showActionSheetWithOptions} = useActionSheet(); + + let showActionSheetWithOptionsRe = + ( + ~title: option(string)=?, + ~message: option(string)=?, + ~onSelect: handleAction, + ~options: array(string), + ~destructiveButtonIndex: int, + ~cancelButtonIndex: option(int)=?, + (), + ) => { + showActionSheetWithOptions( + {title, message, options, destructiveButtonIndex, cancelButtonIndex}, + onSelect, + ); + }; + + showActionSheetWithOptionsRe; +}; diff --git a/packages/reason-expo/src/AdMob.re b/packages/reason-expo/src/AdMob.re index a8a208a..52542b4 100644 --- a/packages/reason-expo/src/AdMob.re +++ b/packages/reason-expo/src/AdMob.re @@ -1,64 +1,27 @@ -type bannerSize = - | Banner - | LargeBanner - | MediumRectangle - | FullBanner - | Leaderboard - | SmartBannerPortrait - | SmartBannerLandscape; - module AdMobBanner = { - type props = { - // [@bs.optional] - bannerSize: option(string), - // [@bs.optional] - onAdViewDidReceiveAd: option(unit => unit), - // [@bs.optional] - onDidFailToReceiveAdWithError: option(string => unit), - // [@bs.optional] - onAdViewWillPresentScreen: option(unit => unit), - // [@bs.optional] - onAdViewWillDismissScreen: option(unit => unit), - // [@bs.optional] - onAdViewDidDismissScreen: option(unit => unit), - // [@bs.optional] - onAdViewWillLeaveApplication: option(unit => unit), - // [@bs.optional] - children: option(React.element), - }; - - let props = - ( - ~bannerSize=Banner, - ~onAdViewDidReceiveAd=() => (), - ~onDidFailToReceiveAdWithError=_e => (), - ~onAdViewWillPresentScreen=() => (), - ~onAdViewWillDismissScreen=() => (), - ~onAdViewDidDismissScreen=() => (), - ~onAdViewWillLeaveApplication=() => (), - ~children, - ) => { - bannerSize: - switch (bannerSize) { - | Banner => Some("banner") - | LargeBanner => Some("largeBanner") - | MediumRectangle => Some("mediumRectangle") - | FullBanner => Some("fullBanner") - | Leaderboard => Some("leaderboard") - | SmartBannerPortrait => Some("smartBannerPortrait") - | SmartBannerLandscape => Some("smartBannerLandscape") - }, - onAdViewDidReceiveAd: Some(onAdViewDidReceiveAd), - onDidFailToReceiveAdWithError: Some(onDidFailToReceiveAdWithError), - onAdViewWillPresentScreen: Some(onAdViewWillPresentScreen), - onAdViewWillDismissScreen: Some(onAdViewWillDismissScreen), - onAdViewDidDismissScreen: Some(onAdViewDidDismissScreen), - onAdViewWillLeaveApplication: Some(onAdViewWillLeaveApplication), - children: Some(children), - }; - [@bs.module "expo-ads-admob"] [@react.component] - external make: props => React.element = "AdMobBanner"; + external make: + ( + ~bannerSize: [ + | `banner + | `largeBanner + | `mediumRectangle + | `fullBanner + | `leaderboard + | `smartBannerPortrait + | `smartBannerLandscape + ] + =?, + ~onAdViewDidReceiveAd: unit => unit=?, + ~onDidFailToReceiveAdWithError: string => unit=?, + ~onAdViewWillPresentScreen: unit => unit=?, + ~onAdViewWillDismissScreen: unit => unit=?, + ~onAdViewDidDismissScreen: unit => unit=?, + ~onAdViewWillLeaveApplication: unit => unit=?, + ~children: React.element=? + ) => + React.element = + "AdMobBanner"; }; module AdMobInterstitial = { @@ -83,4 +46,4 @@ module AdMobRewarded = { external requestAdAsync: unit => Js.Promise.t(unit) = "requestAdAsync"; [@bs.module "expo-ads-admob"] [@bs.scope "AdMobRewarded"] external showAdAsync: unit => Js.Promise.t(unit) = "showAdAsync"; -}; \ No newline at end of file +}; diff --git a/packages/reason-expo/src/Amplitude.re b/packages/reason-expo/src/Amplitude.re index 992432e..a108316 100644 --- a/packages/reason-expo/src/Amplitude.re +++ b/packages/reason-expo/src/Amplitude.re @@ -18,4 +18,4 @@ external logEventWithProperties: (string, 'a) => unit = "logEventWithProperties"; [@bs.module "expo-analytics-amplitude"] -external setGroup: (string, array(string)) => unit = "setGroup"; \ No newline at end of file +external setGroup: (string, array(string)) => unit = "setGroup"; diff --git a/packages/reason-expo/src/AppLoading.re b/packages/reason-expo/src/AppLoading.re index 5234f0e..c134c90 100644 --- a/packages/reason-expo/src/AppLoading.re +++ b/packages/reason-expo/src/AppLoading.re @@ -8,4 +8,4 @@ external make: ~children: React.element=? ) => React.element = - "AppLoading"; \ No newline at end of file + "AppLoading"; diff --git a/packages/reason-expo/src/Asset.re b/packages/reason-expo/src/Asset.re index 12886fb..9f10b79 100644 --- a/packages/reason-expo/src/Asset.re +++ b/packages/reason-expo/src/Asset.re @@ -1,4 +1,3 @@ -[@bs.deriving abstract] type t = { name: string, [@bs.as "type"] @@ -19,4 +18,4 @@ external loadAsync: "loadAsync"; [@bs.module "expo-asset"] [@bs.scope "Asset"] -external fromModule: ReactNative.Packager.required => t = "fromModule"; \ No newline at end of file +external fromModule: ReactNative.Packager.required => t = "fromModule"; diff --git a/packages/reason-expo/src/AuthSession.re b/packages/reason-expo/src/AuthSession.re index dab1770..7d061b1 100644 --- a/packages/reason-expo/src/AuthSession.re +++ b/packages/reason-expo/src/AuthSession.re @@ -1,32 +1,13 @@ -/* - Usage: +type options; +[@bs.obj] +external options: (~authUrl: string, ~returnUrl: string=?) => options; - [@bs.deriving abstract] - type paramsType = {token: string}; - - [@bs.deriving abstract] - type eventType = {code: string}; - - let x: Js.Promise.t(result(paramsType, eventType)) = startAsync(options(~authUrl="", ())); - */ - -[@bs.deriving abstract] -type options = { - authUrl: string, - [@bs.optional] - returnUrl: string, -}; - -[@bs.deriving abstract] type result('paramType, 'eventType) = { [@bs.as "type"] _type: string, - [@bs.optional] - params: 'paramType, - [@bs.optional] - event: 'eventType, - [@bs.optional] - errorCode: string, + params: option('paramType), + event: option('eventType), + errorCode: option(string), }; [@bs.module "expo"] [@bs.scope "AuthSession"] @@ -37,4 +18,4 @@ external startAsync: options => Js.Promise.t(result('paramType, 'eventType)) = external dismiss: unit => unit = "dismiss"; [@bs.module "expo"] [@bs.scope "AuthSession"] -external getRedirectUrl: unit => string = "getRedirectUrl"; \ No newline at end of file +external getRedirectUrl: unit => string = "getRedirectUrl"; diff --git a/packages/reason-expo/src/BackgroundFetch.re b/packages/reason-expo/src/BackgroundFetch.re index 0aee0a4..9cf6923 100644 --- a/packages/reason-expo/src/BackgroundFetch.re +++ b/packages/reason-expo/src/BackgroundFetch.re @@ -1,5 +1,5 @@ module Status = { - type t = int; + type t; [@bs.module "expo-background-fetch"] [@bs.scope "Status"] external restricted: t = "Restricted"; @@ -12,7 +12,7 @@ module Status = { }; module Result = { - type t = int; + type t; [@bs.module "expo-background-fetch"] [@bs.scope "Result"] external noData: t = "NoData"; @@ -28,10 +28,13 @@ module Result = { external getStatusAsync: unit => Js.Promise.t(Status.t) = "getStatusAsync"; [@bs.module "expo-background-fetch"] -external registerTaskAsync: string => Js.Promise.t(unit) = "registerTaskAsync"; +external registerTaskAsync: string => Js.Promise.t(unit) = + "registerTaskAsync"; [@bs.module "expo-background-fetch"] -external unregisterTaskAsync: string => Js.Promise.t(unit) = "unregisterTaskAsync"; +external unregisterTaskAsync: string => Js.Promise.t(unit) = + "unregisterTaskAsync"; [@bs.module "expo-background-fetch"] -external setMinimumIntervalAsync: float => Js.Promise.t(unit) = "setMinimumIntervalAsync"; \ No newline at end of file +external setMinimumIntervalAsync: float => Js.Promise.t(unit) = + "setMinimumIntervalAsync"; diff --git a/packages/reason-expo/src/BarCodeScanner.re b/packages/reason-expo/src/BarCodeScanner.re index b25efba..fb2d11f 100644 --- a/packages/reason-expo/src/BarCodeScanner.re +++ b/packages/reason-expo/src/BarCodeScanner.re @@ -1,61 +1,23 @@ -type cameraType = - | Front - | Back; - -type torchMode = - | On - | Off; - -// [@bs.deriving abstract] type onBarCodeScannedResult = { [@bs.as "type"] _type: string, data: string, }; -// [@bs.deriving abstract] type barCodeScannerSettings = { barCodeTypes: array(string), useCamera2Api: bool, }; -// [@bs.deriving abstract] -type props = { - onBarCodeScanned: onBarCodeScannedResult => unit, - [@bs.as "type"] - _type: string, - torchMode: string, - // [@bs.optional] - barCodeScannerSettings: Js.Nullable.t(barCodeScannerSettings), - style: ReactNative.Style.t, - // [@bs.optional] - children: React.element, -}; - -let props = - ( - ~onBarCodeScanned, - ~type_=Back, - ~torchMode=Off, - ~barCodeScannerSettings=?, - ~style=ReactNative.Style.style(), - ~children, - ) => { - onBarCodeScanned, - _type: - switch (type_) { - | Front => "front" - | Back => "back" - }, - torchMode: - switch (torchMode) { - | On => "on" - | Off => "off" - }, - barCodeScannerSettings: Js.Nullable.fromOption(barCodeScannerSettings), - style, - children, -}; - [@bs.module "expo-barcode-scanner"] [@react.component] -external make: props => React.element = "BarCodeScanner"; \ No newline at end of file +external make: + ( + ~onBarCodeScanned: onBarCodeScannedResult => unit, + ~_type: [ | `front | `back], + ~torchMode: [ | `on | `off], + ~barCodeScannerSettings: barCodeScannerSettings=?, + ~style: ReactNative.Style.t, + ~children: React.element + ) => + React.element = + "BarCodeScanner"; diff --git a/packages/reason-expo/src/BlurView.re b/packages/reason-expo/src/BlurView.re index e33549e..6009938 100644 --- a/packages/reason-expo/src/BlurView.re +++ b/packages/reason-expo/src/BlurView.re @@ -1,10 +1,10 @@ [@bs.module "expo-blur"] [@react.component] external make: ( - ~tint: [@bs.string] [ | `default | `light | `dark]=?, + ~tint: [ | `default | `light | `dark]=?, ~intensity: float=?, ~style: ReactNative.Style.t=?, ~children: React.element=? ) => React.element = - "BlurView"; \ No newline at end of file + "BlurView"; diff --git a/packages/reason-expo/src/Brightness.re b/packages/reason-expo/src/Brightness.re index 9d0c8dd..0ec15e4 100644 --- a/packages/reason-expo/src/Brightness.re +++ b/packages/reason-expo/src/Brightness.re @@ -10,4 +10,4 @@ external setSystemBrightnessAsync: float => unit = "setSystemBrightnessAsync"; [@bs.module "expo-brightness"] external getSystemBrightnessAsync: unit => Js.Promise.t(float) = - "getSystemBrightnessAsync"; \ No newline at end of file + "getSystemBrightnessAsync"; diff --git a/packages/reason-expo/src/Calendar.re b/packages/reason-expo/src/Calendar.re index fb61db4..a041345 100644 --- a/packages/reason-expo/src/Calendar.re +++ b/packages/reason-expo/src/Calendar.re @@ -234,14 +234,12 @@ module SourceType = { external birthdays: t = "BIRTHDAYS"; }; -// [@bs.deriving abstract] type alarm = { absoluteDate: Js.Date.t, relativeOffset: int, method: AlarmMethod.t, }; -// [@bs.deriving abstract] type recurrenceRule = { frequency: Frequency.t, interval: int, @@ -249,7 +247,6 @@ type recurrenceRule = { occurrence: int, }; -// [@bs.deriving abstract] type attendee = { id: string, email: string, @@ -261,17 +258,7 @@ type attendee = { url: option(string), isCurrentUser: option(bool), }; -/* { - . - id: string, - email: string, - name: string, - role: AttendeeRole.t, - status: AttendeeStatus.t, - _type: string, - } */ -// [@bs.deriving abstract] type source = { id: string, name: string, @@ -280,7 +267,6 @@ type source = { isLocalAccount: bool, }; -// [@bs.deriving abstract] type calendar = { id: string, title: string, @@ -302,7 +288,6 @@ type calendar = { accessLevel: CalendarAccessLevel.t, }; -// [@bs.deriving abstract] type event = { id: string, calendarId: string, @@ -333,7 +318,6 @@ type event = { instanceId: string, }; -// [@bs.deriving abstract] type reminder = { id: string, calendarId: string, @@ -356,7 +340,6 @@ type reminder = { external getCalendarsAsync: EntityType.t => Js.Promise.t(array(calendar)) = "getCalendarsAsync"; -// [@bs.deriving abstract] type createCalendarAsyncDetails = { title: string, color: string, @@ -370,19 +353,12 @@ type createCalendarAsyncDetails = { }, name: string, ownerAccount: string, - // [@bs.optional] timeZone: option(string), - // [@bs.optional] allowedAvailabilities: option(array(Availability.t)), - // [@bs.optional] allowedReminders: option(array(AlarmMethod.t)), - // [@bs.optional] allowedAttendeeTypes: option(array(AttendeeType.t)), - // [@bs.optional] isVisible: option(bool), - // [@bs.optional] isSynced: option(bool), - // [@bs.optional] accessLevel: string, }; @@ -391,7 +367,6 @@ external createCalendarAsync: createCalendarAsyncDetails => Js.Promise.t(string) = "createCalendarAsync"; -// [@bs.deriving abstract] type updateCalendarAsyncDetails = { title: Js.Nullable.t(string), color: Js.Nullable.t(string), @@ -415,7 +390,6 @@ external getEventAsync: (string, {. instanceStartDate: Js.Date.t}) => Js.Promise.t(event) = "getEventAsync"; -// [@bs.deriving abstract] type createEventAsyncDetails = { title: string, startDate: Js.Date.t, @@ -441,7 +415,6 @@ external createEventAsync: (string, createEventAsyncDetails) => Js.Promise.t(string) = "createEventAsync"; -// [@bs.deriving abstract] type updateEventAsyncDetails = { title: string, startDate: Js.Date.t, @@ -486,17 +459,11 @@ external deleteEventAsync: deleteEventAsyncProps => Js.Promise.t(unit) = [@bs.module "expo-calendar"] external getAttendeesForEventAsync: - (string, instanceStartDate) => - Js.Promise.t(array(attendee)) = + (string, instanceStartDate) => Js.Promise.t(array(attendee)) = "getAttendeesForEventAsync"; [@bs.module "expo-calendar"] -external createAttendeeAsync: - ( - string, - attendee - ) => - Js.Promise.t(string) = +external createAttendeeAsync: (string, attendee) => Js.Promise.t(string) = "createAttendeeAsync"; [@bs.module "expo-calendar"] @@ -586,4 +553,4 @@ external getSourcesAsync: unit => Js.Promise.t(array(source)) = external getSourceAsync: string => Js.Promise.t(source) = "getSourceAsync"; [@bs.module "expo-calendar"] -external openEventInCalendar: string => unit = "openEventInCalendar"; \ No newline at end of file +external openEventInCalendar: string => unit = "openEventInCalendar"; diff --git a/packages/reason-expo/src/Camera.re b/packages/reason-expo/src/Camera.re index 08f8d60..447c875 100644 --- a/packages/reason-expo/src/Camera.re +++ b/packages/reason-expo/src/Camera.re @@ -1,7 +1,7 @@ module Constants = { - type t; - module Type = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("Camera", "Constants", "Type")] external front: t = "front"; [@bs.module "expo-camera"] [@bs.scope ("Camera", "Constants", "Type")] @@ -9,6 +9,8 @@ module Constants = { }; module FlashMode = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("Camera", "Constants", "FlashMode")] external on: t = "on"; @@ -24,6 +26,8 @@ module Constants = { }; module AutoFocus = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("Camera", "Constants", "AutoFocus")] external on: t = "on"; @@ -33,6 +37,8 @@ module Constants = { }; module WhiteBalance = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("Camera", "Constants", "WhiteBalance")] external auto: t = "auto"; @@ -55,6 +61,8 @@ module Constants = { module FaceDetection = { module Mode = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("FaceDetector", "Constants", "Mode")] external fast: t = "fast"; @@ -64,6 +72,8 @@ module Constants = { }; module Landmarks = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("FaceDetector", "Constants", "Landmarks")] external all: t = "all"; @@ -73,6 +83,8 @@ module Constants = { }; module Classifications = { + type t; + [@bs.module "expo-camera"] [@bs.scope ("FaceDetector", "Constants", "Classifications")] external all: t = "all"; @@ -83,113 +95,38 @@ module Constants = { }; }; -type cameraType = - | Front - | Back; - -type flashMode = - | On - | Off - | Auto - | Torch; - -type autoFocusType = - | On - | Off; - -type whiteBalanceType = - | Auto - | Sunny - | Cloudy - | Shadow - | Fluorescent - | Incandescent; - type face = { faceID: int, bounds, } and bounds = { - origin, + origin: xy, size, rollAngle: float, yawAngle: float, smilingProbability: Js.nullable(float), - leftEarPosition, - rightEarPosition, - leftEyePosition, + leftEarPosition: xy, + rightEarPosition: xy, + leftEyePosition: xy, leftEyeOpenProbability: Js.nullable(float), - rightEyePosition, + rightEyePosition: xy, rightEyeOpenProbability: Js.nullable(float), - leftCheekPosition, - rightCheekPosition, - mouthPosition, - leftMouthPosition, - rightMouthPosition, - noseBasePosition, -} -and origin = { - x: float, - y: float, + leftCheekPosition: xy, + rightCheekPosition: xy, + mouthPosition: xy, + leftMouthPosition: xy, + rightMouthPosition: xy, + noseBasePosition: xy, } and size = { width: float, height: float, } -and leftEarPosition = { - x: float, - y: float, -} -and rightEarPosition = { - x: float, - y: float, -} -and leftEyePosition = { - x: float, - y: float, -} -and rightEyePosition = { - x: float, - y: float, -} -and leftCheekPosition = { - x: float, - y: float, -} -and rightCheekPosition = { - x: float, - y: float, -} -and mouthPosition = { - x: float, - y: float, -} -and leftMouthPosition = { - x: float, - y: float, -} -and rightMouthPosition = { - x: float, - y: float, -} -and noseBasePosition = { +and xy = { x: float, y: float, }; -type faceDetectionMode = - | Fast - | Accurate; - -type faceDetectionLandmarks = - | All - | None; - -type faceDetectionClassifications = - | All - | None; - -// [@bs.deriving abstract] type barCodeScannerSettings = { barCodeTypes: array(string), useCamera2Api: bool, @@ -199,80 +136,29 @@ type onBarCodeScanned = { _type: string, data: string, }; + type onFacesDetected = {faces: array(face)}; -type message = string; -let props = - ( - ~type_: cameraType, - ~flashMode: flashMode, - ~autoFocus: autoFocusType, - ~zoom: float, - ~whiteBalance: whiteBalanceType, - ~focusDepth: float, - ~ratio: string, - ~onCameraReady: unit => unit, - ~onFacesDetected: onFacesDetected => unit, - ~faceDetectionMode: faceDetectionMode, - ~faceDetectionLandmarks: faceDetectionLandmarks, - ~faceDetectionClassifications: faceDetectionClassifications, - ~onMountError: message => unit, - ~onBarCodeScanned: onBarCodeScanned => unit, - ~barCodeScannerSettings=?, - ~style=?, - ~children, - ) => { - "type": - switch (type_) { - | Front => Constants.Type.front - | Back => Constants.Type.back - }, - "flashMode": - switch (flashMode) { - | On => Constants.FlashMode.on - | Off => Constants.FlashMode.off - | Auto => Constants.FlashMode.auto - | Torch => Constants.FlashMode.torch - }, - "autoFocus": - switch (autoFocus) { - | On => Constants.AutoFocus.on - | Off => Constants.AutoFocus.off - }, - "zoom": zoom, - "whiteBalance": - switch (whiteBalance) { - | Auto => Constants.WhiteBalance.auto - | Sunny => Constants.WhiteBalance.sunny - | Cloudy => Constants.WhiteBalance.cloudy - | Shadow => Constants.WhiteBalance.shadow - | Fluorescent => Constants.WhiteBalance.fluorescent - | Incandescent => Constants.WhiteBalance.incandescent - }, - "focusDepth": focusDepth, - "ratio": ratio, - "onCameraReady": onCameraReady, - "onFacesDetected": onFacesDetected, - "faceDetectionMode": - switch (faceDetectionMode) { - | Fast => Constants.FaceDetection.Mode.fast - | Accurate => Constants.FaceDetection.Mode.accurate - }, - "faceDetectionLandmarks": - switch (faceDetectionLandmarks) { - | All => Constants.FaceDetection.Landmarks.all - | None => Constants.FaceDetection.Landmarks.none - }, - "faceDetectionClassifications": - switch (faceDetectionClassifications) { - | All => Constants.FaceDetection.Classifications.all - | None => Constants.FaceDetection.Classifications.none - }, - "onMountError": onMountError, - "onBarCodeScanned": onBarCodeScanned, - "barCodeScannerSettings": Js.Nullable.fromOption(barCodeScannerSettings), - "style": Js.Undefined.fromOption(style), - "children": children, -}; [@bs.module "expo-camera"] [@react.component] -external make: props => React.element = "Camera" /* external make: 'a => React.element = "Camera"*/; \ No newline at end of file +external make: + ( + ~type_: Constants.Type.t, + ~flashMode: Constants.FlashMode.t, + ~autoFocus: Constants.AutoFocus.t, + ~zoom: float, + ~whiteBalance: Constants.WhiteBalance.t, + ~focusDepth: float, + ~ratio: string, + ~onCameraReady: unit => unit, + ~onFacesDetected: onFacesDetected => unit, + ~faceDetectionMode: Constants.FaceDetection.Mode.t, + ~faceDetectionLandmarks: Constants.FaceDetection.Landmarks.t, + ~faceDetectionClassifications: Constants.FaceDetection.Classifications.t, + ~onMountError: string => unit, + ~onBarCodeScanned: onBarCodeScanned => unit, + ~barCodeScannerSettings: barCodeScannerSettings=?, + ~style: ReactNative.Style.t=?, + ~children: React.element + ) => + React.element = + "Camera"; diff --git a/packages/reason-expo/src/Constants.re b/packages/reason-expo/src/Constants.re index 6f816d1..e17fe1e 100644 --- a/packages/reason-expo/src/Constants.re +++ b/packages/reason-expo/src/Constants.re @@ -1,15 +1,12 @@ type platforms = array(string); -[@bs.deriving {abstract: light}] type ios = {supportsTablet: bool}; -[@bs.deriving {abstract: light}] type developer = { projectRoot: string, tool: string, }; -[@bs.deriving {abstract: light}] type packagerOpts = { dev: bool, hostType: string, @@ -18,7 +15,6 @@ type packagerOpts = { urlRandomness: string, }; -[@bs.deriving {abstract: light}] type splash = { backgroundColor: string, image: string, @@ -26,14 +22,13 @@ type splash = { resizeMode: string, }; -[@bs.deriving {abstract: light}] type updates = {fallbackToCacheTimeout: int}; -[@bs.deriving {abstract: light}] type manifest = { assetBundlePatterns: array(string), bundleUrl: string, - debuggerHost: string, + releaseChannel: option(string), + debuggerHost: option(string), developer, env: Js.t({.}), hostUri: string, @@ -58,7 +53,6 @@ type manifest = { xde: bool, }; -[@bs.deriving {abstract: light}] type platformIOS = { buildNumber: string, platform: string, @@ -67,16 +61,13 @@ type platformIOS = { systemVersion: string, }; -[@bs.deriving {abstract: light}] type platformAndroid = {versionCode: int}; -[@bs.deriving {abstract: light}] type platform = { ios: platformIOS, android: platformAndroid, }; -[@bs.deriving {abstract: light}] type t = { appOwnership: string, debugMode: bool, @@ -103,19 +94,28 @@ type t = { systemFonts: array(string), }; -[@bs.module "expo-constants"] external constants: t = "default"; +[@bs.module "expo-constants"] external _constants: t = "default"; -let deviceId = constants->deviceId; -let deviceName = constants->deviceName; -let deviceYearClass = constants->deviceYearClass; -let linkingUrl = constants->linkingUrl; -let statusBarHeight = constants->statusBarHeight; -let appOwnership = constants->appOwnership; -let expoVersion = constants->expoVersion; -let installationId = constants->installationId; -let isDevice = constants->isDevice; -let getWebViewUserAgentAsync = constants->getWebViewUserAgentAsync; -let systemFonts = constants->systemFonts; -let platform = constants->platform; -let sessionId = constants->sessionId; -let manifest = constants->manifest; +let appOwnership = _constants.appOwnership; +let debugMode = _constants.debugMode; +let deviceId = _constants.deviceId; +let deviceName = _constants.deviceName; +let deviceYearClass = _constants.deviceYearClass; +let experienceUrl = _constants.experienceUrl; +let expoRuntimeVersion = _constants.expoRuntimeVersion; +let expoVersion = _constants.expoVersion; +let getWebViewUserAgentAsync = _constants.getWebViewUserAgentAsync; +let installationId = _constants.installationId; +let isDetached = _constants.isDetached; +let isDevice = _constants.isDevice; +let isHeadless = _constants.isHeadless; +let linkingUri = _constants.linkingUri; +let linkingUrl = _constants.linkingUrl; +let manifest = _constants.manifest; +let nativeAppVersion = _constants.nativeAppVersion; +let nativeBuildVersion = _constants.nativeBuildVersion; +let platform = _constants.platform; +let sessionId = _constants.sessionId; +let statusBarHeight = _constants.statusBarHeight; +let supportedExpoSdks = _constants.supportedExpoSdks; +let systemFonts = _constants.systemFonts; diff --git a/packages/reason-expo/src/Contacts.re b/packages/reason-expo/src/Contacts.re index 0b9ece8..eb0da5a 100644 --- a/packages/reason-expo/src/Contacts.re +++ b/packages/reason-expo/src/Contacts.re @@ -1,5 +1,5 @@ module Fields = { - type t = string; + type t; [@bs.module "expo-contacts"] [@bs.scope "Fields"] external id: t = "ID"; @@ -100,7 +100,7 @@ module Fields = { }; module FormTypes = { - type t = string; + type t; [@bs.module "expo-contacts"] [@bs.scope "FormTypes"] external new_: t = "New"; @@ -113,7 +113,7 @@ module FormTypes = { }; module ContactTypes = { - type t = string; + type t; [@bs.module "expo-contacts"] [@bs.scope "ContactTypes"] external person: t = "Person"; @@ -123,7 +123,7 @@ module ContactTypes = { }; module SortTypes = { - type t = string; + type t; [@bs.module "expo-contacts"] [@bs.scope "SortTypes"] external firstName: t = "FirstName"; @@ -136,7 +136,7 @@ module SortTypes = { }; module ContainerTypes = { - type t = string; + type t; [@bs.module "expo-contacts"] [@bs.scope "ContainerTypes"] external local: t = "Local"; @@ -152,7 +152,7 @@ module ContainerTypes = { }; module CalendarFormats = { - type t = string; + type t; [@bs.module "expo-contacts"] [@bs.scope "CalendarFormats"] external gregorian: t = "Gregorian"; @@ -167,7 +167,6 @@ module CalendarFormats = { external islamic: t = "Islamic"; }; -// [@bs.deriving abstract] type image = { uri: string, width: int, @@ -175,7 +174,6 @@ type image = { base64: string, }; -// [@bs.deriving abstract] type date = { day: int, month: int, @@ -185,14 +183,12 @@ type date = { label: string, }; -// [@bs.deriving abstract] type relationship = { name: string, id: string, label: string, }; -// [@bs.deriving abstract] type email = { email: string, isPrimary: bool, @@ -200,7 +196,6 @@ type email = { label: string, }; -// [@bs.deriving abstract] type phoneNumber = { number: string, isPrimary: bool, @@ -210,7 +205,6 @@ type phoneNumber = { label: string, }; -// [@bs.deriving abstract] type address = { street: string, city: string, @@ -224,19 +218,16 @@ type address = { label: string, }; -// [@bs.deriving abstract] type group = { id: string, name: string, }; -// [@bs.deriving abstract] type container = { id: string, name: string, }; -// [@bs.deriving abstract] type socialProfile = { service: string, username: string, @@ -247,7 +238,6 @@ type socialProfile = { label: string, }; -// [@bs.deriving abstract] type instantMessageAddress = { service: string, username: string, @@ -256,14 +246,12 @@ type instantMessageAddress = { label: string, }; -// [@bs.deriving abstract] type urlAddress = { url: string, id: string, label: string, }; -// [@bs.deriving abstract] type formOptions = { displayedPropertyKeys: array(Fields.t), message: string, @@ -277,7 +265,6 @@ type formOptions = { preventAnimation: bool, }; -// [@bs.deriving abstract] type contactQuery = { fields: array(Fields.t), pageSize: int, @@ -290,21 +277,18 @@ type contactQuery = { rawContacts: bool, }; -// [@bs.deriving abstract] type groupQuery = { groupName: string, groupId: string, containerId: string, }; -// [@bs.deriving abstract] type containerQuery = { contactId: string, groupId: string, containerId: string, }; -// [@bs.deriving abstract] type contact = { id: string, name: string, @@ -338,7 +322,6 @@ type contact = { socialProfiles: array(socialProfile), }; -// [@bs.deriving abstract] type contactResponse = { data: array(contact), hasNextPage: bool, @@ -411,4 +394,4 @@ external getDefaultContainerIdAsync: unit => Js.Promise.t(string) = [@bs.module "expo-contacts"] external getContainersAsync: containerQuery => Js.Promise.t(array(container)) = - "getContainersAsync"; \ No newline at end of file + "getContainersAsync"; diff --git a/packages/reason-expo/src/Crypto.re b/packages/reason-expo/src/Crypto.re index cbbd304..fba7346 100644 --- a/packages/reason-expo/src/Crypto.re +++ b/packages/reason-expo/src/Crypto.re @@ -1,5 +1,5 @@ module CryptoDigestAlgorithm = { - type t = string; + type t; [@bs.module "expo-crypto"] [@bs.scope "CryptoDigestAlgorithm"] external sha1: t = "SHA1"; @@ -23,7 +23,7 @@ module CryptoDigestAlgorithm = { }; module CryptoEncoding = { - type t = string; + type t; [@bs.module "expo-crypto"] [@bs.scope "CryptoEncoding"] external hex: t = "HEX"; @@ -38,4 +38,4 @@ type cryptoDigestOptions = {encoding: CryptoEncoding.t}; external digestStringAsync: (CryptoDigestAlgorithm.t, string, cryptoDigestOptions) => Js.Promise.t(string) = - "digestStringAsync"; \ No newline at end of file + "digestStringAsync"; diff --git a/packages/reason-expo/src/DocumentPicker.re b/packages/reason-expo/src/DocumentPicker.re index 14224ae..4081745 100644 --- a/packages/reason-expo/src/DocumentPicker.re +++ b/packages/reason-expo/src/DocumentPicker.re @@ -1,22 +1,14 @@ -[@bs.deriving abstract] -type options = { - [@bs.as "type"] - _type: string, - copyToCacheDirectory: bool, -}; +type options; +external options: (~_type: string, ~copyToCacheDirectory: bool) => options; -[@bs.deriving abstract] type result = { [@bs.as "type"] _type: string, - [@bs.optional] - uri: string, - [@bs.optional] - name: string, - [@bs.optional] - size: int, + uri: option(string), + name: option(string), + size: option(int), }; [@bs.module "expo-document-picker"] external getDocumentAsync: options => Js.Promise.t(result) = - "getDocumentAsync"; \ No newline at end of file + "getDocumentAsync"; diff --git a/packages/reason-expo/src/ErrorRecovery.re b/packages/reason-expo/src/ErrorRecovery.re index 3b756bb..973df67 100644 --- a/packages/reason-expo/src/ErrorRecovery.re +++ b/packages/reason-expo/src/ErrorRecovery.re @@ -1,2 +1,2 @@ [@bs.module "expo"] [@bs.scope "ErrorRecovery"] -external setRecoveryProps: Js.t({..}) => unit = "setRecoveryProps"; \ No newline at end of file +external setRecoveryProps: Js.t({..}) => unit = "setRecoveryProps"; diff --git a/packages/reason-expo/src/FaceDetector.re b/packages/reason-expo/src/FaceDetector.re index 5a293ba..32aee6d 100644 --- a/packages/reason-expo/src/FaceDetector.re +++ b/packages/reason-expo/src/FaceDetector.re @@ -32,13 +32,11 @@ module Constants = { }; }; -// [@bs.deriving abstract] type point = { x: int, y: int, }; -// [@bs.deriving abstract] type faceFeature = { bounds, smilingProbability: Js.Nullable.t(float), @@ -67,12 +65,12 @@ and size = { height: int, }; -// [@bs.deriving abstract] type detectionOptions = { mode: Js.Nullable.t(Constants.Mode.t), detectLandmarks: Js.Nullable.t(Constants.Landmarks.t), runClassifications: Js.Nullable.t(Constants.Classifications.t), }; + type detectFacesAsyncResponse = { faces: array(faceFeature), image, @@ -83,7 +81,8 @@ and image = { height: float, orientation: int, }; + [@bs.module "expo-face-detector"] external detectFacesAsync: (string, detectionOptions) => Js.Promise.t(detectFacesAsyncResponse) = - "detectFacesAsync"; \ No newline at end of file + "detectFacesAsync"; diff --git a/packages/reason-expo/src/Facebook.re b/packages/reason-expo/src/Facebook.re index 4527343..0df86a3 100644 --- a/packages/reason-expo/src/Facebook.re +++ b/packages/reason-expo/src/Facebook.re @@ -1,20 +1,15 @@ -[@bs.deriving abstract] type result = { [@bs.as "type"] _type: string, - [@bs.optional] - token: string, - [@bs.optional] - expires: string, + token: option(string), + expires: option(string), }; -[@bs.deriving abstract] -type options = { - permissions: array(string), - behavior: string, -}; +type options; +[@bs.obj] +external options: (~permissions: array(string), ~behavior: string) => options; [@bs.module "expo-facebook"] external logInWithReadPermissionsAsync: (string, options) => Js.Promise.t(result) = - "logInWithReadPermissionsAsync"; \ No newline at end of file + "logInWithReadPermissionsAsync"; diff --git a/packages/reason-expo/src/FacebookAds.re b/packages/reason-expo/src/FacebookAds.re index 45bee07..99d8c91 100644 --- a/packages/reason-expo/src/FacebookAds.re +++ b/packages/reason-expo/src/FacebookAds.re @@ -82,4 +82,4 @@ module BannerAd = { ) => React.element = "BannerAd"; -}; \ No newline at end of file +}; diff --git a/packages/reason-expo/src/FileSystem.re b/packages/reason-expo/src/FileSystem.re index 42c453b..0c2057b 100644 --- a/packages/reason-expo/src/FileSystem.re +++ b/packages/reason-expo/src/FileSystem.re @@ -5,7 +5,7 @@ external documentDirectory: string = "documentDirectory"; external cacheDirectory: string = "cacheDirectory"; module EncodingTypes = { - type t = string; + type t; [@bs.module "expo-file-system"] [@bs.scope "EncodingTypes"] external utf8: t = "UTF8"; @@ -14,86 +14,72 @@ module EncodingTypes = { external base64: t = "Base64"; }; -[@bs.deriving abstract] type fileInfo = { exists: bool, - [@bs.optional] - isDirectory: bool, - [@bs.optional] - modificationTime: int, - [@bs.optional] - size: int, - [@bs.optional] - uri: string, - [@bs.optional] - md5: string, + isDirectory: option(bool), + modificationTime: option(int), + size: option(int), + uri: option(string), + md5: option(string), }; -[@bs.deriving abstract] -type getInfoAsyncOptions = { - [@bs.optional] - md5: bool, - [@bs.optional] - size: bool, -}; +type getInfoAsyncOptions; +[@bs.obj] +external getInfoAsyncOptions: + (~md5: bool=?, ~size: bool=?) => getInfoAsyncOptions; [@bs.module "expo-file-system"] external getInfoAsync: (string, getInfoAsyncOptions) => Js.Promise.t(fileInfo) = "getInfoAsync"; -[@bs.deriving abstract] -type readAsStringAsyncOptions = { - encoding: EncodingTypes.t, - length: int, - position: int, -}; +type readAsStringAsyncOptions; +[@bs.obj] +external readAsStringAsyncOptions: + (~encoding: EncodingTypes.t, ~length: int, ~position: int) => + readAsStringAsyncOptions; [@bs.module "expo-file-system"] external readAsStringAsync: (string, readAsStringAsyncOptions) => Js.Promise.t(string) = "readAsStringAsync"; -[@bs.deriving abstract] -type writeAsStringAsyncOptions = {encoding: EncodingTypes.t}; +type writeAsStringAsyncOptions; +[@bs.obj] +external writeAsStringAsyncOptions: + (~encoding: EncodingTypes.t) => writeAsStringAsyncOptions; [@bs.module "expo-file-system"] external writeAsStringAsync: (string, string) => Js.Promise.t(unit) = "writeAsStringAsync"; -[@bs.deriving abstract] -type deleteAsyncOptions = { - [@bs.optional] - idempotent: bool, -}; +type deleteAsyncOptions; +[@bs.obj] +external deleteAsyncOptions: (~idempotent: bool) => deleteAsyncOptions; [@bs.module "expo-file-system"] external deleteAsync: (string, deleteAsyncOptions) => Js.Promise.t(unit) = "deleteAsync"; -[@bs.deriving abstract] -type moveAsyncOptions = { - from: string, - [@bs.as "to"] - to_: string, -}; +type moveAsyncOptions; +[@bs.obj] +external moveAsyncOptions: (~from: string, ~_to: string) => moveAsyncOptions; [@bs.module "expo-file-system"] external moveAsync: (string, moveAsyncOptions) => Js.Promise.t(unit) = "moveAsync"; -[@bs.deriving abstract] -type copyAsyncOptions = { - from: string, - [@bs.as "to"] - to_: string, -}; +type copyAsyncOptions; +[@bs.obj] +external copyAsyncOptions: (~from: string, ~_to: string) => copyAsyncOptions; [@bs.module "expo-file-system"] external copyAsync: (string, copyAsyncOptions) => Js.Promise.t(unit) = "copyAsync"; -[@bs.deriving abstract] -type makeDirectoryAsyncOptions = {intermediates: bool}; +type makeDirectoryAsyncOptions; +[@bs.obj] +external makeDirectoryAsyncOptions: + (~intermediates: bool) => makeDirectoryAsyncOptions; [@bs.module "expo-file-system"] external makeDirectoryAsync: @@ -104,10 +90,9 @@ external makeDirectoryAsync: external readDirectoryAsync: string => Js.Promise.t(array(string)) = "readDirectoryAsync"; -[@bs.deriving abstract] -type downloadAsyncOptions = {md5: bool}; +type downloadAsyncOptions; +[@bs.obj] external downloadAsyncOptions: (~md5: bool) => downloadAsyncOptions; -[@bs.deriving abstract] type downloadAsyncResult('headersType) = { uri: string, status: int, @@ -122,15 +107,13 @@ external downloadAsync: "downloadAsync"; module DownloadResumable = { - type t = {.}; + type t; - [@bs.deriving abstract] type downloadAsyncResult('headersType) = { uri: string, status: int, headers: 'headersType, - [@bs.optional] - md5: string, + md5: option(string), }; [@bs.send] @@ -138,11 +121,12 @@ module DownloadResumable = { (t, unit) => Js.Promise.t(downloadAsyncResult('headersType)) = "downloadAsync"; - [@bs.deriving abstract] + type options = {md5: bool}; + type pauseAsyncResult = { uri: string, fileUri: string, - options: {. md5: bool}, + options, resumeData: string, }; @@ -150,13 +134,11 @@ module DownloadResumable = { external pauseAsync: (t, unit) => Js.Promise.t(pauseAsyncResult) = "pauseAsync"; - [@bs.deriving abstract] type resumeAsyncResult('headersType) = { uri: string, status: int, headers: 'headersType, - [@bs.optional] - md5: string, + md5: option(string), }; [@bs.send] @@ -164,11 +146,10 @@ module DownloadResumable = { (t, unit) => Js.Promise.t(resumeAsyncResult('headersType)) = "resumeAsync"; - [@bs.deriving abstract] type savableResult = { uri: string, fileUri: string, - options: {. md5: bool}, + options, resumeData: string, }; @@ -176,19 +157,17 @@ module DownloadResumable = { external savable: (t, unit) => Js.Promise.t(savableResult) = "savable"; }; -[@bs.deriving abstract] -type createDownloadResumableOptions('headersType) = { - md5: bool, - headers: 'headersType, -}; +type createDownloadResumableOptions('headersType); +[@bs.obj] +external createDownloadResumableOptions: + (~md5: bool, ~headers: 'headersType) => + createDownloadResumableOptions('headersType); -[@bs.deriving abstract] type createDownloadResumableCallbackParam = { totalBytesWritten: int, totalBytesExpectedToWrite: int, }; -[@bs.deriving abstract] type createDownloadResumableResult('headersType) = { uri: string, status: int, @@ -199,11 +178,11 @@ type createDownloadResumableResult('headersType) = { [@bs.module "expo-file-system"] external createDownloadResumable: ( - string, - string, - createDownloadResumableOptions('headersType), - createDownloadResumableCallbackParam => unit, - string + ~uri: string, + ~fileUri: string, + ~options: createDownloadResumableOptions('headersType), + ~callback: createDownloadResumableCallbackParam => unit, + ~data: string ) => DownloadResumable.t = - "createDownloadResumable"; \ No newline at end of file + "createDownloadResumable"; diff --git a/packages/reason-expo/src/FirebaseAnalytics.re b/packages/reason-expo/src/FirebaseAnalytics.re new file mode 100644 index 0000000..1c275e0 --- /dev/null +++ b/packages/reason-expo/src/FirebaseAnalytics.re @@ -0,0 +1,12 @@ +[@bs.module "expo-firebase-analytics"] +external logEvent: (string, Js.t('extra)) => Js.Promise.t(unit) = "logEvent"; + +[@bs.module "expo-firebase-analytics"] +external setCurrentScreen: string => Js.Promise.t(unit) = "setCurrentScreen"; + +[@bs.module "expo-firebase-analytics"] +external setUserId: string => Js.Promise.t(unit) = "setUserId"; + +[@bs.module "expo-firebase-analytics"] +external setDebugModeEnabled: bool => Js.Promise.t(unit) = + "setDebugModeEnabled"; diff --git a/packages/reason-expo/src/Font.re b/packages/reason-expo/src/Font.re index 3de46e9..332576f 100644 --- a/packages/reason-expo/src/Font.re +++ b/packages/reason-expo/src/Font.re @@ -3,10 +3,4 @@ external _loadDict: Js.Dict.t(ReactNative.Packager.required) => Js.Promise.t(unit) = "loadAsync"; -let loadAsync = fonts => - List.map( - ((name, font: ReactNative.Packager.required)) => (name, font), - fonts, - ) - |> Js.Dict.fromList - |> _loadDict; \ No newline at end of file +let loadAsync = fonts => fonts->Js.Dict.fromArray->_loadDict; diff --git a/packages/reason-expo/src/Font.rei b/packages/reason-expo/src/Font.rei index 1b57065..2c41be6 100644 --- a/packages/reason-expo/src/Font.rei +++ b/packages/reason-expo/src/Font.rei @@ -1,2 +1,2 @@ let loadAsync: - list((string, ReactNative.Packager.required)) => Js.Promise.t(unit); \ No newline at end of file + array((string, ReactNative.Packager.required)) => Js.Promise.t(unit); diff --git a/packages/reason-expo/src/GLView.re b/packages/reason-expo/src/GLView.re index ba1d7d7..e65f2c4 100644 --- a/packages/reason-expo/src/GLView.re +++ b/packages/reason-expo/src/GLView.re @@ -4,6 +4,7 @@ external createContextAsync: unit => Js.Promise.t('a) = "createContextAsync"; [@bs.module "expo-gl"] [@bs.scope "GLView"] external destroyContextAsync: 'a => Js.Promise.t(bool) = "destroyContextAsync"; + type takeSnapshotAsyncProps('a) = { framebuffer: 'a, rect, @@ -17,12 +18,14 @@ and rect = { height: float, width: float, }; + type takeSnapshotAsyncResult = { uri: string, localUri: string, width: float, height: float, }; + [@bs.module "expo-gl"] [@bs.scope "GLView"] external takeSnapshotAsync: takeSnapshotAsyncProps('a) => Js.Promise.t(takeSnapshotAsyncResult) = @@ -36,4 +39,4 @@ external make: ~children: React.element=? ) => React.element = - "GLView"; \ No newline at end of file + "GLView"; diff --git a/packages/reason-expo/src/Google.re b/packages/reason-expo/src/Google.re index 84a19bc..530c523 100644 --- a/packages/reason-expo/src/Google.re +++ b/packages/reason-expo/src/Google.re @@ -1,20 +1,18 @@ -// [@bs.deriving abstract] -type logInConfig = { - // [@bs.optional] - iosClientId: option(string), - // [@bs.optional] - androidClientId: option(string), - // [@bs.optional] - iosStandaloneAppClientId: option(string), - // [@bs.optional] - androidStandaloneAppClientId: option(string), - // [@bs.optional] - scopes: option(array(string)), - // [@bs.optional] - redirectUrl: option(string), - // [@bs.optional] - mutable accessToken: option(string), -}; +type logInConfig; +[@bs.obj] +external logInConfig: + ( + ~iosClientId: string=?, + ~androidClientId: string=?, + ~iosStandaloneAppClientId: string=?, + ~androidStandaloneAppClientId: string=?, + ~clientId: string=?, + ~language: string=?, + ~loginHint: string=?, + ~scopes: array(string)=?, + ~redirectUrl: string=? + ) => + logInConfig; type logInResult = { [@bs.as "type"] @@ -32,26 +30,9 @@ and googleUser = { photoUrl: string, email: string, }; -// type logInResult = { -// . -// "_type": string, -// "accessToken": string, -// "idToken": string, -// "refreshToken": string, -// "user": googleUser, -// } -// and googleUser = { -// . -// "id": string, -// "name": string, -// "givenName": string, -// "familyName": string, -// "photoUrl": string, -// "email": string, -// }; [@bs.module "expo-google-app-auth"] external logInAsync: logInConfig => Js.Promise.t(logInResult) = "logInAsync"; [@bs.module "expo-google-app-auth"] -external logOutAsync: logInConfig => Js.Promise.t('a) = "logOutAsync"; \ No newline at end of file +external logOutAsync: logInConfig => Js.Promise.t(unit) = "logOutAsync"; diff --git a/packages/reason-expo/src/Gyroscope.re b/packages/reason-expo/src/Gyroscope.re index 8bb5b2e..e4c9aac 100644 --- a/packages/reason-expo/src/Gyroscope.re +++ b/packages/reason-expo/src/Gyroscope.re @@ -1,9 +1,5 @@ -[@bs.deriving abstract] -type eventSubscription; +type eventSubscription = {remove: unit => unit}; -[@bs.send] external remove: (eventSubscription, unit) => unit = "remove"; - -[@bs.deriving abstract] type location = { x: int, y: int, @@ -17,4 +13,4 @@ external addListener: (location => unit) => eventSubscription = "addListener"; external removeAllListeners: unit => unit = "removeAllListeners"; [@bs.module "expo-sensors"] [@bs.scope "Gyroscope"] -external setUpdateInterval: int => unit = "setUpdateInterval"; \ No newline at end of file +external setUpdateInterval: int => unit = "setUpdateInterval"; diff --git a/packages/reason-expo/src/Haptics.re b/packages/reason-expo/src/Haptics.re index 6a6d17d..8e04587 100644 --- a/packages/reason-expo/src/Haptics.re +++ b/packages/reason-expo/src/Haptics.re @@ -1,50 +1,27 @@ +type t; + [@bs.module "expo-haptics"] [@bs.scope "NotificationFeedbackType"] -external _success: string = "Success"; +external success: t = "Success"; [@bs.module "expo-haptics"] [@bs.scope "NotificationFeedbackType"] -external _warning: string = "Warning"; +external warning: t = "Warning"; [@bs.module "expo-haptics"] [@bs.scope "NotificationFeedbackType"] -external _error: string = "Error"; +external error: t = "Error"; [@bs.module "expo-haptics"] [@bs.scope "ImpactFeedbackStyle"] -external _light: string = "Light"; +external light: t = "Light"; [@bs.module "expo-haptics"] [@bs.scope "ImpactFeedbackStyle"] -external _medium: string = "Medium"; +external medium: t = "Medium"; [@bs.module "expo-haptics"] [@bs.scope "ImpactFeedbackStyle"] -external _heavy: string = "Heavy"; +external heavy: t = "Heavy"; [@bs.module "expo-haptics"] external selectionAsync: unit => unit = "selectionAsync"; [@bs.module "expo-haptics"] -external _notificationAsync: string => unit = "notificationAsync"; +external notificationAsync: t => unit = "notificationAsync"; -[@bs.module "expo-haptics"] -external _impactAsync: string => unit = "impactAsync"; - -type notificationType = - | Success - | Warning - | Error; - -type impactStyle = - | Light - | Medium - | Heavy; - -let notificationAsync = notificationType => - switch (notificationType) { - | Success => _notificationAsync(_success) - | Warning => _notificationAsync(_warning) - | Error => _notificationAsync(_error) - }; - -let impactAsync = impactStyle => - switch (impactStyle) { - | Light => _impactAsync(_light) - | Medium => _impactAsync(_medium) - | Heavy => _impactAsync(_heavy) - }; \ No newline at end of file +[@bs.module "expo-haptics"] external impactAsync: t => unit = "impactAsync"; diff --git a/packages/reason-expo/src/Haptics.rei b/packages/reason-expo/src/Haptics.rei deleted file mode 100644 index 488c1c6..0000000 --- a/packages/reason-expo/src/Haptics.rei +++ /dev/null @@ -1,15 +0,0 @@ -type notificationType = - | Success - | Warning - | Error; - -type impactStyle = - | Light - | Medium - | Heavy; - -let selectionAsync: unit => unit; - -let notificationAsync: notificationType => unit; - -let impactAsync: impactStyle => unit; \ No newline at end of file diff --git a/packages/reason-expo/src/ImageManipulator.re b/packages/reason-expo/src/ImageManipulator.re index 30f2474..71371ca 100644 --- a/packages/reason-expo/src/ImageManipulator.re +++ b/packages/reason-expo/src/ImageManipulator.re @@ -1,45 +1,37 @@ -[@bs.deriving abstract] -type action = { - [@bs.optional] - resize: { - . - width: float, - height: float, - }, - [@bs.optional] - rotate: float, - [@bs.optional] - flip: { - . - vertical: bool, - horizontal: bool, - }, - [@bs.optional] - crop: { - . - originX: float, - originY: float, - width: float, - height: float, - }, +type crop = { + originX: float, + originY: float, + width: float, + height: float, +}; + +type flip = { + vertical: bool, + horizontal: bool, }; -[@bs.deriving abstract] -type saveOptions = { - compress: float, - format: string, - base64: bool, +type resize = { + width: float, + height: float, }; -[@bs.deriving abstract] +type action; +[@bs.obj] +external action: + (~resize: resize=?, ~rotate: float=?, ~flip: flip=?, ~crop: crop=?) => action; + +type saveOptions; +[@bs.obj] +external saveOptions: + (~compress: float, ~format: string, ~base64: bool) => saveOptions; + type manipulateResult = { uri: string, width: float, height: float, - [@bs.optional] - base64: string, + base64: option(string), }; [@bs.module "expo-image-manipulator"] external manipulate: (string, array(action), saveOptions) => manipulateResult = - "manipulate"; \ No newline at end of file + "manipulate"; diff --git a/packages/reason-expo/src/ImagePicker.re b/packages/reason-expo/src/ImagePicker.re index 07feef5..baa3d11 100644 --- a/packages/reason-expo/src/ImagePicker.re +++ b/packages/reason-expo/src/ImagePicker.re @@ -1,72 +1,68 @@ -module MediaTypeOptions = { +module MediaType = { + type t; + [@bs.module "expo-image-picker"] [@bs.scope "MediaTypeOptions"] - external images: string = "Images"; + external images: t = "Images"; [@bs.module "expo-image-picker"] [@bs.scope "MediaTypeOptions"] - external videos: string = "Videos"; + external videos: t = "Videos"; [@bs.module "expo-image-picker"] [@bs.scope "MediaTypeOptions"] - external all: string = "all"; + external all: t = "all"; }; -[@bs.deriving abstract] -type launchImageLibraryAsyncOptions = { - mediaTypes: string, - allowsEditing: bool, - aspect: array(int), - quality: float, - base64: bool, - exif: bool, -}; +type launchImageLibraryAsyncOptions; +[@bs.obj] +external launchImageLibraryAsyncOptions: + ( + ~mediaTypes: MediaType.t, + ~allowsEditing: bool, + ~aspect: array(int), + ~quality: float, + ~base64: bool, + ~exif: bool + ) => + launchImageLibraryAsyncOptions; -[@bs.deriving abstract] type launchImageLibraryAsyncResult = { cancelled: bool, - [@bs.optional] - uri: string, - [@bs.optional] - width: float, - [@bs.optional] - height: float, - [@bs.optional] [@bs.as "type"] - _type: string, - [@bs.optional] - duration: float, - [@bs.optional] - base64: string, - [@bs.optional] - exif: string, + uri: option(string), + width: option(float), + height: option(float), + [@bs.as "type"] + _type: option(string), + duration: option(float), + base64: option(string), + exif: option(string), }; [@bs.module "expo-image-picker"] external launchImageLibraryAsync: - launchImageLibraryAsyncOptions => launchImageLibraryAsyncResult = + launchImageLibraryAsyncOptions => + Js.Promise.t(launchImageLibraryAsyncResult) = "launchImageLibraryAsync"; -[@bs.deriving abstract] -type launchCameraAsyncOptions = { - allowsEditing: bool, - aspect: array(int), - quality: float, - base64: bool, - exif: bool, -}; +type launchCameraAsyncOptions; +[@bs.obj] +external launchCameraAsyncOptions: + ( + ~allowsEditing: bool, + ~aspect: array(int), + ~quality: float, + ~base64: bool, + ~exif: bool + ) => + launchCameraAsyncOptions; -[@bs.deriving abstract] type launchCameraAsyncResult = { cancelled: bool, - [@bs.optional] - uri: string, - [@bs.optional] - width: float, - [@bs.optional] - height: float, - [@bs.optional] - duration: float, - [@bs.optional] - base64: string, - [@bs.optional] - exif: string, + uri: option(string), + width: option(float), + height: option(float), + duration: option(float), + base64: option(string), + exif: option(string), }; [@bs.module "expo-image-picker"] -external launchCameraAsync: launchCameraAsyncOptions => launchCameraAsyncResult = - "launchCameraAsync"; \ No newline at end of file +external launchCameraAsync: + launchCameraAsyncOptions => Js.Promise.t(launchCameraAsyncResult) = + "launchCameraAsync"; diff --git a/packages/reason-expo/src/IntentLauncher.re b/packages/reason-expo/src/IntentLauncher.re index b94b0dc..9cae32c 100644 --- a/packages/reason-expo/src/IntentLauncher.re +++ b/packages/reason-expo/src/IntentLauncher.re @@ -1,12 +1,9 @@ -[@bs.deriving abstract] type intentResult('extras) = { resultCode: int, - [@bs.optional] - data: string, - [@bs.optional] - extra: 'extras, + data: option(string), + extra: option('extras), }; [@bs.module "expo-intent-launcher"] external startActivityAsync: (string, 'a) => intentResult('extras) = - "startActivityAsync"; \ No newline at end of file + "startActivityAsync"; diff --git a/packages/reason-expo/src/KeepAwake.re b/packages/reason-expo/src/KeepAwake.re index e90d6a8..db3e85d 100644 --- a/packages/reason-expo/src/KeepAwake.re +++ b/packages/reason-expo/src/KeepAwake.re @@ -2,7 +2,9 @@ external useKeepAwake: Js.Nullable.t(string) => unit = "useKeepAwake"; [@bs.module "expo-keep-awake"] -external activateKeepAwake: Js.Nullable.t(string) => unit = "activateKeepAwake"; +external activateKeepAwake: Js.Nullable.t(string) => unit = + "activateKeepAwake"; [@bs.module "expo-keep-awake"] -external deactivateKeepAwake: Js.Nullable.t(string) => unit = "deactivateKeepAwake"; \ No newline at end of file +external deactivateKeepAwake: Js.Nullable.t(string) => unit = + "deactivateKeepAwake"; diff --git a/packages/reason-expo/src/LinearGradient.re b/packages/reason-expo/src/LinearGradient.re index 4f0f369..e9dc1c2 100644 --- a/packages/reason-expo/src/LinearGradient.re +++ b/packages/reason-expo/src/LinearGradient.re @@ -1,14 +1,12 @@ -open ReactNative; - [@bs.module "expo-linear-gradient"] [@react.component] external make: ( ~colors: array(string)=?, - ~style: Style.t=?, + ~style: ReactNative.Style.t=?, ~start: array(float)=?, ~_end: array(float)=?, ~locations: array(float)=?, ~children: React.element=? ) => React.element = - "LinearGradient"; \ No newline at end of file + "LinearGradient"; diff --git a/packages/reason-expo/src/Linking.re b/packages/reason-expo/src/Linking.re index e9fa0ca..64f0013 100644 --- a/packages/reason-expo/src/Linking.re +++ b/packages/reason-expo/src/Linking.re @@ -11,4 +11,4 @@ external parse: string => pathObject('a) = "parse"; [@bs.module "expo"] [@bs.scope "Linking"] external parseInitialURLAsync: unit => Js.Promise.t(pathObject('a)) = - "parseInitialURLAsync"; \ No newline at end of file + "parseInitialURLAsync"; diff --git a/packages/reason-expo/src/LocalAuthentication.re b/packages/reason-expo/src/LocalAuthentication.re index f5e4c40..f38e2a1 100644 --- a/packages/reason-expo/src/LocalAuthentication.re +++ b/packages/reason-expo/src/LocalAuthentication.re @@ -1,5 +1,5 @@ module AuthenticationType = { - type t = int; + type t; [@bs.module "expo-local-authentication"] [@bs.scope "AuthenticationType"] external fingerprint: t = "FINGERPRINT"; @@ -19,24 +19,20 @@ external supportedAuthenticationTypesAsync: [@bs.module "expo-local-authentication"] external isEnrolledAsync: unit => Js.Promise.t(bool) = "isEnrolledAsync"; -[@bs.deriving abstract] type authenticateAsyncResult = { success: bool, - [@bs.optional] - error: string, -}; -[@bs.deriving abstract] -type authenticateAsyncOptions = { - [@bs.optional] - promptMessage: string, - [@bs.optional] - fallbackLabel: string, + error: option(string), }; +type authenticateAsyncOptions; +[@bs.obj] +external authenticateAsyncOptions: + (~promptMessage: string, ~fallbackLabel: string) => authenticateAsyncOptions; + [@bs.module "expo-local-authentication"] external authenticateAsync: authenticateAsyncOptions => Js.Promise.t(authenticateAsyncResult) = "authenticateAsync"; [@bs.module "expo-local-authentication"] -external cancelAuthenticate: unit => unit = "cancelAuthenticate"; \ No newline at end of file +external cancelAuthenticate: unit => unit = "cancelAuthenticate"; diff --git a/packages/reason-expo/src/Localization.re b/packages/reason-expo/src/Localization.re index b3414ff..adc2c7e 100644 --- a/packages/reason-expo/src/Localization.re +++ b/packages/reason-expo/src/Localization.re @@ -2,7 +2,8 @@ [@bs.module "expo-localization"] external locales: array(string) = "locales"; -[@bs.module "expo-localization"] external country: Js.Nullable.t(string) = "country"; +[@bs.module "expo-localization"] +external country: Js.Nullable.t(string) = "country"; [@bs.module "expo-localization"] external isoCurrencyCodes: Js.Nullable.t(array(string)) = "isoCurrencyCodes"; @@ -21,4 +22,5 @@ type localization = { }; [@bs.module "expo-localization"] -external getLocalizationAsync: unit => Js.Promise.t(localization) = "getLocalizationAsync"; \ No newline at end of file +external getLocalizationAsync: unit => Js.Promise.t(localization) = + "getLocalizationAsync"; diff --git a/packages/reason-expo/src/Location.re b/packages/reason-expo/src/Location.re index bf1b791..12136ea 100644 --- a/packages/reason-expo/src/Location.re +++ b/packages/reason-expo/src/Location.re @@ -1,16 +1,21 @@ -[@bs.deriving abstract] -type eventSubscription; - -[@bs.send] external remove: (eventSubscription, unit) => unit = "remove"; +type eventSubscription = {remove: unit => unit}; [@bs.module "expo-location"] -external hasServicesEnabledAsync: unit => Js.Promise.t(bool) = "hasServicesEnabledAsync"; +external hasServicesEnabledAsync: unit => Js.Promise.t(bool) = + "hasServicesEnabledAsync"; + +type requestPermissionResult = { + status: [ | `granted | `denied | `undetermined], +}; [@bs.module "expo-location"] -external requestPermissionsAsync: unit => Js.Promise.t(unit) = "requestPermissionsAsync"; +external requestPermissionsAsync: + unit => Js.Promise.t(requestPermissionResult) = + "requestPermissionsAsync"; module Accuracy = { - type t = int; + type t; + [@bs.module "expo-location"] [@bs.scope "Accuracy"] external lowest: t = "Lowest"; [@bs.module "expo-location"] [@bs.scope "Accuracy"] external low: t = "Low"; @@ -25,7 +30,8 @@ module Accuracy = { }; module GeofencingEventType = { - type t = int; + type t; + [@bs.module "expo-location"] [@bs.scope "GeofencingEventType"] external enter: t = "Enter"; [@bs.module "expo-location"] [@bs.scope "GeofencingEventType"] @@ -33,14 +39,14 @@ module GeofencingEventType = { }; module GeofencingRegionState = { - type t = int; + type t; + [@bs.module "expo-location"] [@bs.scope "GeofencingRegionState"] external inside: t = "Inside"; [@bs.module "expo-location"] [@bs.scope "GeofencingRegionState"] external outside: t = "Outside"; }; -[@bs.deriving abstract] type region = { identifier: string, latitude: float, @@ -49,7 +55,6 @@ type region = { state: GeofencingRegionState.t, }; -[@bs.deriving abstract] type coords = { latitude: float, longitude: float, @@ -60,29 +65,32 @@ type coords = { speed: float, }; -[@bs.deriving abstract] type location = { coords, timestamp: int, }; -[@bs.deriving abstract] -type getCurrentPositionAsyncOptions = { - accuracy: Accuracy.t, - maximumAge: int, -}; +type getCurrentPositionAsyncOptions; +[@bs.obj] +external getCurrentPositionAsyncOptions: + (~maximumAge: int=?, ~accuracy: Accuracy.t=?) => + getCurrentPositionAsyncOptions; [@bs.module "expo-location"] external getCurrentPositionAsync: getCurrentPositionAsyncOptions => Js.Promise.t(location) = "getCurrentPositionAsync"; -[@bs.deriving abstract] -type watchPositionAsyncOptions = { - accuracy: Accuracy.t, - timeInterval: int, - distanceInterval: float, -}; +type watchPositionAsyncOptions; +[@bs.obj] +external watchPositionAsyncOptions: + ( + ~accuracy: Accuracy.t, + ~timeInterval: int, + ~distanceInterval: float, + ~mayShowUserSettingsDialog: bool=? + ) => + watchPositionAsyncOptions; [@bs.module "expo-location"] external watchPositionAsync: @@ -90,7 +98,6 @@ external watchPositionAsync: Js.Promise.t(eventSubscription) = "watchPositionAsync"; -[@bs.deriving abstract] type getProviderStatusAsyncResult = { locationServicesEnabled: bool, gpsAvailable: bool, @@ -103,7 +110,6 @@ external getProviderStatusAsync: unit => Js.Promise.t(getProviderStatusAsyncResult) = "getProviderStatusAsync"; -[@bs.deriving abstract] type getHeadingAsyncResult = { magHeading: float, trueHeading: float, @@ -114,7 +120,6 @@ type getHeadingAsyncResult = { external getHeadingAsync: unit => Js.Promise.t(getHeadingAsyncResult) = "getHeadingAsync"; -[@bs.deriving abstract] type watchHeadingAsyncResult = { magHeading: float, trueHeading: float, @@ -126,7 +131,6 @@ external watchHeadingAsync: (watchHeadingAsyncResult => unit) => Js.Promise.t(eventSubscription) = "watchHeadingAsync"; -[@bs.deriving abstract] type geocodeAsyncResult = { latitude: float, longitude: float, @@ -138,13 +142,11 @@ type geocodeAsyncResult = { external geocodeAsync: string => Js.Promise.t(geocodeAsyncResult) = "geocodeAsync"; -[@bs.deriving abstract] -type reverseGeocodeAsyncOptions = { - latitude: float, - longitude: float, -}; +type reverseGeocodeAsyncOptions; +[@bs.obj] +external reverseGeocodeAsyncOptions: + (~latitude: float, ~longitude: float) => reverseGeocodeAsyncOptions; -[@bs.deriving abstract] type reverseGeocodeAsyncResult = { city: string, street: string, @@ -163,15 +165,19 @@ external reverseGeocodeAsync: [@bs.module "expo-location"] external setApiKey: string => unit = "setApiKey"; [@bs.module "expo-location"] -external installWebGeolocationPolyfill: unit => unit = "installWebGeolocationPolyfill"; +external installWebGeolocationPolyfill: unit => unit = + "installWebGeolocationPolyfill"; -[@bs.deriving abstract] -type startLocationUpdatesAsyncOptions = { - accuracy: Accuracy.t, - timeInterval: int, - distanceInterval: float, - showsBackgroundLocationIndicator: bool, -}; +type startLocationUpdatesAsyncOptions; +[@bs.obj] +external startLocationUpdatesAsyncOptions: + ( + ~accuracy: Accuracy.t, + ~timeInterval: int, + ~distanceInterval: float, + ~showsBackgroundLocationIndicator: bool + ) => + startLocationUpdatesAsyncOptions; [@bs.module "expo-location"] external startLocationUpdatesAsync: @@ -179,10 +185,12 @@ external startLocationUpdatesAsync: "startLocationUpdatesAsync"; [@bs.module "expo-location"] -external stopLocationUpdatesAsync: string => Js.Promise.t(unit) = "stopLocationUpdatesAsync"; +external stopLocationUpdatesAsync: string => Js.Promise.t(unit) = + "stopLocationUpdatesAsync"; [@bs.module "expo-location"] -external hasStartedLocationUpdatesAsync: string => Js.Promise.t(bool) = "hasStartedLocationUpdatesAsync"; +external hasStartedLocationUpdatesAsync: string => Js.Promise.t(bool) = + "hasStartedLocationUpdatesAsync"; type geofencingRegion = { identifier: string, @@ -199,6 +207,8 @@ external startGeofencingAsync: "startGeofencingAsync"; [@bs.module "expo-location"] -external stopGeofencingAsync: string => Js.Promise.t(unit) = "stopGeofencingAsync"; +external stopGeofencingAsync: string => Js.Promise.t(unit) = + "stopGeofencingAsync"; [@bs.module "expo-location"] -external hasStartedGeofencingAsync: string => Js.Promise.t(bool) = "hasStartedGeofencingAsync"; \ No newline at end of file +external hasStartedGeofencingAsync: string => Js.Promise.t(bool) = + "hasStartedGeofencingAsync"; diff --git a/packages/reason-expo/src/Magnetometer.re b/packages/reason-expo/src/Magnetometer.re index d80317e..7f5c046 100644 --- a/packages/reason-expo/src/Magnetometer.re +++ b/packages/reason-expo/src/Magnetometer.re @@ -1,9 +1,5 @@ -[@bs.deriving abstract] -type eventSubscription; +type eventSubscription = {remove: unit => unit}; -[@bs.send] external remove: (eventSubscription, unit) => unit = "remove"; - -[@bs.deriving abstract] type location = { x: int, y: int, @@ -17,4 +13,4 @@ external addListener: (location => unit) => eventSubscription = "addListener"; external removeAllListeners: unit => unit = "removeAllListeners"; [@bs.module "expo-sensors"] [@bs.scope "Magnetometer"] -external setUpdateInterval: int => unit = "setUpdateInterval"; \ No newline at end of file +external setUpdateInterval: int => unit = "setUpdateInterval"; diff --git a/packages/reason-expo/src/MailComposer.re b/packages/reason-expo/src/MailComposer.re index 538aa7b..eab6c53 100644 --- a/packages/reason-expo/src/MailComposer.re +++ b/packages/reason-expo/src/MailComposer.re @@ -1,17 +1,19 @@ -[@bs.deriving abstract] -type composeAsyncOptions = { - recipients: array(string), - ccRecipients: array(string), - bccRecipients: array(string), - subject: string, - body: string, - isHtml: bool, - attachments: array(string), -}; +type composeAsyncOptions; +[@bs.obj] +external composeAsyncOptions: + ( + ~recipients: array(string), + ~ccRecipients: array(string), + ~bccRecipients: array(string), + ~subject: string, + ~body: string, + ~isHtml: bool, + ~attachments: array(string) + ) => + composeAsyncOptions; -[@bs.deriving abstract] type composeAsyncResult = {status: string}; [@bs.module "expo-mail-composer"] external composeAsync: composeAsyncOptions => Js.Promise.t(composeAsyncResult) = - "composeAsync"; \ No newline at end of file + "composeAsync"; diff --git a/packages/reason-expo/src/MediaLibrary.re b/packages/reason-expo/src/MediaLibrary.re index d6e70fe..d86c16e 100644 --- a/packages/reason-expo/src/MediaLibrary.re +++ b/packages/reason-expo/src/MediaLibrary.re @@ -41,7 +41,6 @@ module SortBy = { external duration: t = "duration"; }; -// [@bs.deriving abstract] type asset('exif) = { id: string, filename: string, @@ -65,7 +64,6 @@ and location = { longitude: float, }; -// [@bs.deriving abstract] type album = { id: string, title: string, @@ -105,26 +103,19 @@ type getAssetsAsyncProps = { sortBy: array(SortBy.t), mediaType: array(MediaType.t), }; + type getAssetsAsyncResponse('exif) = { assets: array(asset('exif)), endCursor: string, hasNextPage: bool, totalCount: int, }; + [@bs.module "expo-media-library"] external _getAssetsAsync: getAssetsAsyncProps => Js.Promise.t(getAssetsAsyncResponse('exif)) = "getAssetsAsync"; -let getAssetsAsync = (~first, ~after, ~album, ~sortBy, ~mediaType) => - _getAssetsAsync({ - first, - after, - album: AlbumOption.encodeSource(album), - sortBy, - mediaType, - }); - module AssetOption = { type t = [ | `ID(string) | `Asset(asset({.}))]; @@ -222,4 +213,4 @@ external addListener: "addListener"; [@bs.module "expo-media-library"] -external removeAllListeners: unit => unit = "removeAllListeners"; \ No newline at end of file +external removeAllListeners: unit => unit = "removeAllListeners"; diff --git a/packages/reason-expo/src/Notifications.re b/packages/reason-expo/src/Notifications.re index a32c02c..4500a72 100644 --- a/packages/reason-expo/src/Notifications.re +++ b/packages/reason-expo/src/Notifications.re @@ -55,14 +55,13 @@ external setBadgeNumberAsync: int => Js.Promise.t(unit) = type gcmSenderId = string; type getDevicePushTokenAsyncResponse = { - [@bs.as "type"] - _type: string, - data: string, - }; + [@bs.as "type"] + _type: string, + data: string, +}; [@bs.module "expo"] [@bs.scope "Notifications"] external getDevicePushTokenAsync: - gcmSenderId => - Js.Promise.t(getDevicePushTokenAsyncResponse) = + gcmSenderId => Js.Promise.t(getDevicePushTokenAsyncResponse) = "getDevicePushTokenAsync"; type createCategoryAsyncProps = { actionId: string, @@ -100,4 +99,4 @@ external createChannelAndroidAsync: "createChannelAndroidAsync"; [@bs.module "expo"] [@bs.scope "Notifications"] external deleteChannelAndroidAsync: string => Js.Promise.t(unit) = - "deleteChannelAndroidAsync"; \ No newline at end of file + "deleteChannelAndroidAsync"; diff --git a/packages/reason-expo/src/Pedometer.re b/packages/reason-expo/src/Pedometer.re index 11380ed..012520a 100644 --- a/packages/reason-expo/src/Pedometer.re +++ b/packages/reason-expo/src/Pedometer.re @@ -1,16 +1,13 @@ +type steps = {steps: int}; +type eventSubscription = {remove: unit => unit}; + [@bs.module "expo-sensors"] [@bs.scope "Pedometer"] external isAvailableAsync: unit => Js.Promise.t(bool) = "isAvailableAsync"; [@bs.module "expo-sensors"] [@bs.scope "Pedometer"] -external getStepCountAsync: - (Js.Date.t, Js.Date.t) => Js.Promise.t({. steps: int}) = +external getStepCountAsync: (Js.Date.t, Js.Date.t) => Js.Promise.t(steps) = "getStepCountAsync"; -class type eventSubscription = - [@bs] - { - pub remove: unit => unit; - }; -type steps = {steps: int}; [@bs.module "expo-sensors"] [@bs.scope "Pedometer"] -external watchStepCount: (steps => unit) => eventSubscription = "watchStepCount"; \ No newline at end of file +external watchStepCount: (steps => unit) => eventSubscription = + "watchStepCount"; diff --git a/packages/reason-expo/src/Permissions.re b/packages/reason-expo/src/Permissions.re index a1ef046..e92ce58 100644 --- a/packages/reason-expo/src/Permissions.re +++ b/packages/reason-expo/src/Permissions.re @@ -1,59 +1,41 @@ -type t = - | Notifications - | Location - | Camera - | AudioRecording - | Contacts - | CameraRoll - | UserFacingNotifications - | SystemBrightness - | Calendar - | Reminders; - -[@bs.module "expo-permissions"] external location: string = "LOCATION"; - -[@bs.module "expo-permissions"] external camera: string = "CAMERA"; +// type t = +// | Notifications +// | Location +// | Camera +// | AudioRecording +// | Contacts +// | CameraRoll +// | UserFacingNotifications +// | SystemBrightness +// | Calendar +// | Reminders; -[@bs.module "expo-permissions"] -external audioRecording: string = "AUDIO_RECORDING"; +type t; -[@bs.module "expo-permissions"] external contacts: string = "CONTACTS"; +[@bs.module "expo-permissions"] external location: t = "LOCATION"; -[@bs.module "expo-permissions"] external cameraRoll: string = "CAMERA_ROLL"; +[@bs.module "expo-permissions"] external camera: t = "CAMERA"; -[@bs.module "expo-permissions"] external calendar: string = "CALENDAR"; +[@bs.module "expo-permissions"] external audioRecording: t = "AUDIO_RECORDING"; -[@bs.module "expo-permissions"] external reminders: string = "REMINDERS"; +[@bs.module "expo-permissions"] external contacts: t = "CONTACTS"; -[@bs.module "expo-permissions"] -external userFacingNotifications: string = "USER_FACING_NOTIFICATIONS"; +[@bs.module "expo-permissions"] external cameraRoll: t = "CAMERA_ROLL"; -[@bs.module "expo-permissions"] -external notification: string = "NOTIFICATIONS"; +[@bs.module "expo-permissions"] external calendar: t = "CALENDAR"; -[@bs.module "expo-permissions"] -external systemBrightness: string = "SYSTEM_BRIGHTNESS"; - -let toString = p => - switch (p) { - | Notifications => notification - | Location => location - | Camera => camera - | AudioRecording => audioRecording - | UserFacingNotifications => userFacingNotifications - | Contacts => contacts - | CameraRoll => cameraRoll - | SystemBrightness => systemBrightness - | Calendar => calendar - | Reminders => reminders - }; +[@bs.module "expo-permissions"] external reminders: t = "REMINDERS"; [@bs.module "expo-permissions"] -external _get: string => Js.Promise.t('b) = "getAsync"; +external userFacingNotifications: t = "USER_FACING_NOTIFICATIONS"; -let getAsync = permission => _get(toString(permission)); +[@bs.module "expo-permissions"] external notification: t = "NOTIFICATIONS"; [@bs.module "expo-permissions"] -external _ask: string => Js.Promise.t('b) = "askAsync"; +external systemBrightness: t = "SYSTEM_BRIGHTNESS"; -let askAsync = permission => _ask(toString(permission)); \ No newline at end of file +[@bs.module "expo-permissions"] +external getAsync: t => Js.Promise.t('b) = "getAsync"; + +[@bs.module "expo-permissions"] +external askAsync: t => Js.Promise.t('b) = "askAsync"; diff --git a/packages/reason-expo/src/Permissions.rei b/packages/reason-expo/src/Permissions.rei deleted file mode 100644 index b4d3197..0000000 --- a/packages/reason-expo/src/Permissions.rei +++ /dev/null @@ -1,15 +0,0 @@ -type t = - | Notifications - | Location - | Camera - | AudioRecording - | Contacts - | CameraRoll - | UserFacingNotifications - | SystemBrightness - | Calendar - | Reminders; - -let getAsync: t => Js.Promise.t('a); - -let askAsync: t => Js.Promise.t('a); \ No newline at end of file diff --git a/packages/reason-expo/src/Print.re b/packages/reason-expo/src/Print.re index a19dcf0..c62fb36 100644 --- a/packages/reason-expo/src/Print.re +++ b/packages/reason-expo/src/Print.re @@ -1,5 +1,5 @@ module Orientation = { - type t = string; + type t; [@bs.module "expo-print"] [@bs.scope "Orientation"] external portrait: t = "portrait"; @@ -8,33 +8,32 @@ module Orientation = { external landscape: t = "landscape"; }; -[@bs.deriving abstract] -type printAsyncOptions = { - uri: string, - html: string, - width: float, - height: float, - printerUrl: string, - orientation: Orientation.t, -}; +type printAsyncOptions; +[@bs.obj] +external printAsyncOptions: + ( + ~uri: string, + ~html: string, + ~width: float, + ~height: float, + ~printerUrl: string, + ~orientation: Orientation.t + ) => + printAsyncOptions; [@bs.module "expo-print"] external printAsync: printAsyncOptions => Js.Promise.t(unit) = "printAsync"; -[@bs.deriving abstract] -type printToFileAsyncOptions = { - html: string, - width: float, - height: float, - base64: bool, -}; +type printToFileAsyncOptions; +[@bs.obj] +external printToFileAsyncOptions: + (~html: string, ~width: float, ~height: float, ~base64: bool) => + printToFileAsyncOptions; -[@bs.deriving abstract] type printToFileAsyncResult = { uri: string, numberOfPages: int, - [@bs.optional] - base64: string, + base64: option(string), }; [@bs.module "expo-print"] @@ -42,12 +41,11 @@ external printToFileAsync: printToFileAsyncOptions => Js.Promise.t(printToFileAsyncResult) = "printToFileAsync"; -[@bs.deriving abstract] type selectPrinterAsyncResult = { name: string, url: string, }; [@bs.module "expo-print"] -external selectPrinterAsync: unit => Js.Promise.t(unit) = - "selectPrinterAsync"; \ No newline at end of file +external selectPrinterAsync: unit => Js.Promise.t(selectPrinterAsyncResult) = + "selectPrinterAsync"; diff --git a/packages/reason-expo/src/Random.re b/packages/reason-expo/src/Random.re index 9fb4100..4d04894 100644 --- a/packages/reason-expo/src/Random.re +++ b/packages/reason-expo/src/Random.re @@ -1,3 +1,3 @@ [@bs.module "expo-random"] external getRandomBytesAsync: int => Js.Promise.t(Js.Typed_array.Uint8Array.t) = - "getRandomBytesAsync"; \ No newline at end of file + "getRandomBytesAsync"; diff --git a/packages/reason-expo/src/SMS.re b/packages/reason-expo/src/SMS.re index 5332932..d0704ac 100644 --- a/packages/reason-expo/src/SMS.re +++ b/packages/reason-expo/src/SMS.re @@ -1,10 +1,9 @@ [@bs.module "expo-sms"] external isAvailableAsync: unit => Js.Promise.t(bool) = "isAvailableAsync"; -[@bs.deriving abstract] type sendSMSAsyncResult = {result: string}; [@bs.module "expo-sms"] external sendSMSAsync: (array(string), string) => Js.Promise.t(sendSMSAsyncResult) = - "sendSMSAsync"; \ No newline at end of file + "sendSMSAsync"; diff --git a/packages/reason-expo/src/SQLite.re b/packages/reason-expo/src/SQLite.re index 97a75e0..9bb8404 100644 --- a/packages/reason-expo/src/SQLite.re +++ b/packages/reason-expo/src/SQLite.re @@ -85,4 +85,4 @@ module Database = { }; [@bs.module "expo-sqlite"] -external openDatabase: string => Database.t = "openDatabase"; \ No newline at end of file +external openDatabase: string => Database.t = "openDatabase"; diff --git a/packages/reason-expo/src/SQLite.rei b/packages/reason-expo/src/SQLite.rei index f4bad5f..884bee3 100644 --- a/packages/reason-expo/src/SQLite.rei +++ b/packages/reason-expo/src/SQLite.rei @@ -36,4 +36,4 @@ module Database: { Js.Promise.t(unit); }; -let openDatabase: string => Database.t; \ No newline at end of file +let openDatabase: string => Database.t; diff --git a/packages/reason-expo/src/ScreenOrientation.re b/packages/reason-expo/src/ScreenOrientation.re index 6ec30b5..ea887a8 100644 --- a/packages/reason-expo/src/ScreenOrientation.re +++ b/packages/reason-expo/src/ScreenOrientation.re @@ -1,5 +1,5 @@ module Orientation = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("ScreenOrientation", "Orientation")] external unknown: t = "UNKNOWN"; @@ -24,7 +24,7 @@ module Orientation = { }; module OrientationLock = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("ScreenOrientation", "OrientationLock")] external default: t = "DEFAULT"; @@ -58,7 +58,7 @@ module OrientationLock = { }; module SizeClassIOS = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("ScreenOrientation", "SizeClassIOS")] external regular: t = "REGULAR"; @@ -71,7 +71,7 @@ module SizeClassIOS = { }; module WebOrientationLock = { - type t = string; + type t; [@bs.module "expo"] [@bs.scope ("ScreenOrientation", "WebOrientationLock")] external portraitPrimary: t = "PORTRAIT_PRIMARY"; @@ -115,14 +115,7 @@ type orientationChangeEvent = { orientationInfo, }; -module Subscription = { - - type t; - - [@bs.send] external remove: (t, unit) => unit = "remove"; -}; - -type orientationChangeListener = orientationChangeEvent => unit; +type eventSubscription = {remove: unit => unit}; [@bs.module "expo"] [@bs.scope "ScreenOrientation"] external allowAsync: OrientationLock.t => Js.Promise.t(unit) = "allowAsync"; @@ -152,11 +145,13 @@ external supportsOrientationLockAsync: OrientationLock.t => Js.Promise.t(bool) = [@bs.module "expo"] [@bs.scope "ScreenOrientation"] external addOrientationChangeListener: - orientationChangeListener => Subscription.t = + (orientationChangeEvent => unit) => eventSubscription = "addOrientationChangeListener"; [@bs.module "expo"] [@bs.scope "ScreenOrientation"] -external removeOrientationChangeListeners: unit => unit = "removeOrientationChangeListeners"; +external removeOrientationChangeListeners: unit => unit = + "removeOrientationChangeListeners"; [@bs.module "expo"] [@bs.scope "ScreenOrientation"] -external removeOrientationChangeListener: Subscription.t => unit = "removeOrientationChangeListener"; \ No newline at end of file +external removeOrientationChangeListener: eventSubscription => unit = + "removeOrientationChangeListener"; diff --git a/packages/reason-expo/src/SecureStore.re b/packages/reason-expo/src/SecureStore.re index 05cf19c..eff08a4 100644 --- a/packages/reason-expo/src/SecureStore.re +++ b/packages/reason-expo/src/SecureStore.re @@ -1,82 +1,55 @@ -type keychainAccessibilityType; +type t; -[@bs.module "expo-secure-store"] -external whenUnlocked: keychainAccessibilityType = "WHEN_UNLOCKED"; +[@bs.module "expo-secure-store"] external whenUnlocked: t = "WHEN_UNLOCKED"; [@bs.module "expo-secure-store"] -external afterFirstUnlock: keychainAccessibilityType = "AFTER_FIRST_UNLOCK"; +external afterFirstUnlock: t = "AFTER_FIRST_UNLOCK"; -[@bs.module "expo-secure-store"] -external always: keychainAccessibilityType = "ALWAYS"; +[@bs.module "expo-secure-store"] external always: t = "ALWAYS"; [@bs.module "expo-secure-store"] -external whenUnlockedThisDeviceOnly: keychainAccessibilityType = - "WHEN_UNLOCKED_THIS_DEVICE_ONLY"; +external whenUnlockedThisDeviceOnly: t = "WHEN_UNLOCKED_THIS_DEVICE_ONLY"; [@bs.module "expo-secure-store"] -external whenPasscodeSetThisDeviceOnly: keychainAccessibilityType = +external whenPasscodeSetThisDeviceOnly: t = "WHEN_PASSCODE_SET_THIS_DEVICE_ONLY"; [@bs.module "expo-secure-store"] -external afterFirstUnlockThisDeviceOnly: keychainAccessibilityType = +external afterFirstUnlockThisDeviceOnly: t = "AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY"; [@bs.module "expo-secure-store"] -external alwaysThisDeviceOnly: keychainAccessibilityType = - "ALWAYS_THIS_DEVICE_ONLY"; +external alwaysThisDeviceOnly: t = "ALWAYS_THIS_DEVICE_ONLY"; -[@bs.deriving abstract] -type setItemAsyncOptions = { - keychainService: string, - keychainAccessible: keychainAccessibilityType, -}; +type setItemAsyncOptions; +[@bs.obj] +external setItemAsyncOptions: + (~keychainService: string, ~keychainAccessible: t) => setItemAsyncOptions; [@bs.module "expo-secure-store"] -external _setItemAsyncWithOptions: - (string, string, setItemAsyncOptions) => Js.Promise.t(unit) = +external setItemAsync: + (~key: string, ~value: string, ~options: setItemAsyncOptions=?, unit) => + Js.Promise.t(unit) = "setItemAsync"; -[@bs.module "expo-secure-store"] -external _setItemAsync: (string, string) => Js.Promise.t(unit) = - "setItemAsync"; - -let setItemAsync = (~key, ~value, ~options=?, ()) => - switch (options) { - | Some(o) => _setItemAsyncWithOptions(key, value, o) - | None => _setItemAsync(key, value) - }; - -[@bs.deriving abstract] -type getItemAsyncOptions = {keychainService: string}; +type getItemAsyncOptions; +[@bs.obj] +external getItemAsyncOptions: + (~keychainService: string) => getItemAsyncOptions; [@bs.module "expo-secure-store"] -external _getItemAsyncWithOptions: - (string, getItemAsyncOptions) => Js.Promise.t(Js.nullable(string)) = +external getItemAsync: + (~key: string, ~options: getItemAsyncOptions=?, unit) => + Js.Promise.t(Js.nullable(string)) = "getItemAsync"; -[@bs.module "expo-secure-store"] -external _getItemAsync: string => Js.Promise.t(Js.nullable(string)) = - "getItemAsync"; - -let getItemAsync = (~key, ~options=?, ()) => - switch (options) { - | Some(o) => _getItemAsyncWithOptions(key, o) - | None => _getItemAsync(key) - }; - -[@bs.deriving abstract] -type deleteItemAsyncOptions = {keychainService: string}; +type deleteItemAsyncOptions; +[@bs.obj] +external deleteItemAsyncOptions: + (~keychainService: string) => deleteItemAsyncOptions; [@bs.module "expo-secure-store"] -external _deleteItemAsync: string => Js.Promise.t(unit) = "deleteItemAsync"; - -[@bs.module "expo-secure-store"] -external _deleteItemAsyncWithOptions: - (string, deleteItemAsyncOptions) => Js.Promise.t(unit) = +external deleteItemAsyncWithOptions: + (~key: string, ~options: deleteItemAsyncOptions=?, unit) => + Js.Promise.t(unit) = "deleteItemAsync"; - -let deleteItemAsync = (~key, ~options=?, ()) => - switch (options) { - | Some(o) => _deleteItemAsyncWithOptions(key, o) - | None => _deleteItemAsync(key) - }; \ No newline at end of file diff --git a/packages/reason-expo/src/SecureStore.rei b/packages/reason-expo/src/SecureStore.rei deleted file mode 100644 index 59a5289..0000000 --- a/packages/reason-expo/src/SecureStore.rei +++ /dev/null @@ -1,39 +0,0 @@ -type keychainAccessibilityType; - -let whenUnlocked: keychainAccessibilityType; - -let afterFirstUnlock: keychainAccessibilityType; - -let always: keychainAccessibilityType; - -let whenUnlockedThisDeviceOnly: keychainAccessibilityType; - -let whenPasscodeSetThisDeviceOnly: keychainAccessibilityType; - -let afterFirstUnlockThisDeviceOnly: keychainAccessibilityType; - -let alwaysThisDeviceOnly: keychainAccessibilityType; - -[@bs.deriving abstract] -type setItemAsyncOptions = { - keychainService: string, - keychainAccessible: keychainAccessibilityType, -}; - -let setItemAsync: - (~key: string, ~value: string, ~options: setItemAsyncOptions=?, unit) => - Js.Promise.t(unit); - -[@bs.deriving abstract] -type getItemAsyncOptions = {keychainService: string}; - -let getItemAsync: - (~key: string, ~options: getItemAsyncOptions=?, unit) => - Js.Promise.t(Js.nullable(string)); - -[@bs.deriving abstract] -type deleteItemAsyncOptions = {keychainService: string}; - -let deleteItemAsync: - (~key: string, ~options: deleteItemAsyncOptions=?, unit) => - Js.Promise.t(unit); \ No newline at end of file diff --git a/packages/reason-expo/src/Segment.re b/packages/reason-expo/src/Segment.re index 9a61201..017a418 100644 --- a/packages/reason-expo/src/Segment.re +++ b/packages/reason-expo/src/Segment.re @@ -1,8 +1,7 @@ -[@bs.deriving abstract] -type initializeOptions = { - androidWriteKey: string, - iosWriteKey: string, -}; +type initializeOptions; +[@bs.obj] +external initializeOptions: + (~androidWriteKey: string, ~iosWriteKey: string) => initializeOptions; [@bs.module "expo-analytics-segment"] external initialize: initializeOptions => unit = "initialize"; @@ -29,4 +28,4 @@ external screen: string => unit = "screen"; external screenWithProperties: (string, 'propertiesType) => unit = "screenWithProperties"; -[@bs.module "expo-analytics-segment"] external flush: unit => unit = "flush"; \ No newline at end of file +[@bs.module "expo-analytics-segment"] external flush: unit => unit = "flush"; diff --git a/packages/reason-expo/src/Sharing.re b/packages/reason-expo/src/Sharing.re index 47f636f..680507b 100644 --- a/packages/reason-expo/src/Sharing.re +++ b/packages/reason-expo/src/Sharing.re @@ -6,4 +6,5 @@ type shareAsyncOptions = { }; [@bs.module "expo-sharing"] -external shareAsync: (string, shareAsyncOptions) => Js.Promise.t(unit) = "shareAsync"; \ No newline at end of file +external shareAsync: (string, shareAsyncOptions) => Js.Promise.t(unit) = + "shareAsync"; diff --git a/packages/reason-expo/src/Speech.re b/packages/reason-expo/src/Speech.re index 1b463d3..9ae9161 100644 --- a/packages/reason-expo/src/Speech.re +++ b/packages/reason-expo/src/Speech.re @@ -1,16 +1,19 @@ -[@bs.deriving abstract] -type speakOptions('errorObj) = { - language: string, - pitch: float, - rate: float, - onStart: unit => unit, - onDone: unit => unit, - onStopped: unit => unit, - onError: 'errorObj => unit, -}; +type speakOptions('errorObj); +[@bs.obj] +external speakOptions: + ( + ~language: string, + ~pitch: float, + ~rate: float, + ~onStart: unit => unit, + ~onDone: unit => unit, + ~onStopped: unit => unit, + ~onError: 'errorObj => unit + ) => + speakOptions('errorObj); [@bs.module "expo-speech"] -external speak: (string, speakOptions('a)) => unit = "speak"; +external speak: (string, speakOptions('errorObj)) => unit = "speak"; [@bs.module "expo-speech"] external stop: unit => unit = "stop"; @@ -19,4 +22,4 @@ external speak: (string, speakOptions('a)) => unit = "speak"; [@bs.module "expo-speech"] external resume: unit => unit = "resume"; [@bs.module "expo-speech"] -external isSpeakingAsync: unit => Js.Promise.t(bool) = "isSpeakingAsync"; \ No newline at end of file +external isSpeakingAsync: unit => Js.Promise.t(bool) = "isSpeakingAsync"; diff --git a/packages/reason-expo/src/SplashScreen.re b/packages/reason-expo/src/SplashScreen.re index ee7ae74..0f24c13 100644 --- a/packages/reason-expo/src/SplashScreen.re +++ b/packages/reason-expo/src/SplashScreen.re @@ -1,5 +1,5 @@ [@bs.module "expo"] [@bs.scope "SplashScreen"] -external preventAutoHide : unit => unit = "preventAutoHide"; +external preventAutoHide: unit => unit = "preventAutoHide"; [@bs.module "expo"] [@bs.scope "SplashScreen"] -external hide : unit => unit = "hide"; \ No newline at end of file +external hide: unit => unit = "hide"; diff --git a/packages/reason-expo/src/Static.re b/packages/reason-expo/src/Static.re index 406a133..e05a96e 100644 --- a/packages/reason-expo/src/Static.re +++ b/packages/reason-expo/src/Static.re @@ -2,13 +2,17 @@ external registerRootComponent: ('a => React.element) => unit = "registerRootComponent"; -type takeSnapshotAsyncOptions = { - format: string, - quality: float, - result: string, - height: int, - width: int, -}; +type takeSnapshotAsyncOptions; +[@bs.obj] +external takeSnapshotAsyncOptions: + ( + ~format: string, + ~quality: float, + ~result: string, + ~height: int, + ~width: int + ) => + takeSnapshotAsyncOptions; [@bs.module "expo"] external takeSnapshotAsync: diff --git a/packages/reason-expo/src/StoreReview.re b/packages/reason-expo/src/StoreReview.re index 6f22250..82cfecc 100644 --- a/packages/reason-expo/src/StoreReview.re +++ b/packages/reason-expo/src/StoreReview.re @@ -8,4 +8,4 @@ external isSupported: unit => bool = "isSupported"; external storeUrl: unit => string = "storeUrl"; [@bs.scope "StoreReview"] [@bs.module "expo"] -external hasAction: unit => bool = "hasAction"; \ No newline at end of file +external hasAction: unit => bool = "hasAction"; diff --git a/packages/reason-expo/src/TaskManager.re b/packages/reason-expo/src/TaskManager.re index 56e93a2..c263404 100644 --- a/packages/reason-expo/src/TaskManager.re +++ b/packages/reason-expo/src/TaskManager.re @@ -9,18 +9,16 @@ external isTaskRegisteredAsync: string => Js.Promise.t(bool) = external getTaskOptionsAsync: string => Js.Promise.t('a) = "getTaskOptionsAsync"; -type getTasgetRegisteredTasksAsyncResponse('a) = { +type getRegisteredTasksAsyncResponse('a) = { taskName: string, taskType: string, options: 'a, }; + [@bs.module "expo-task-manager"] -external getTasgetRegisteredTasksAsync: - unit => - Js.Promise.t( - array(getTasgetRegisteredTasksAsyncResponse('a)), - ) = - "getTasgetRegisteredTasksAsync"; +external getRegisteredTasksAsync: + unit => Js.Promise.t(array(getRegisteredTasksAsyncResponse('a))) = + "getRegisteredTasksAsync"; [@bs.module "expo-task-manager"] external unregisterTaskAsync: string => Js.Promise.t(unit) = @@ -28,4 +26,4 @@ external unregisterTaskAsync: string => Js.Promise.t(unit) = [@bs.module "expo-task-manager"] external unregisterAllTasksAsync: unit => Js.Promise.t(unit) = - "unregisterAllTasksAsync"; \ No newline at end of file + "unregisterAllTasksAsync"; diff --git a/packages/reason-expo/src/Updates.re b/packages/reason-expo/src/Updates.re index ecdcab8..3d121fe 100644 --- a/packages/reason-expo/src/Updates.re +++ b/packages/reason-expo/src/Updates.re @@ -1,28 +1,21 @@ -[@bs.deriving abstract] type updateCheckResult('manifestType) = { isAvailable: bool, manifest: 'manifestType, }; -[@bs.deriving abstract] type updateFetchResult('manifestType) = { isNew: bool, manifest: 'manifestType, }; -[@bs.deriving abstract] type event('manifestType) = { [@bs.as "type"] _type: string, manifest: 'manifestType, - [@bs.optional] - message: string, + message: option(string), }; -[@bs.deriving abstract] -type eventSubscription; - -[@bs.send] external remove: (eventSubscription, unit) => unit = "remove"; +type eventSubscription = {remove: unit => unit}; [@bs.module "expo"] [@bs.scope "Updates"] external reload: unit => unit = "reload"; @@ -43,4 +36,4 @@ external fetchUpdateAsync: [@bs.module "expo"] [@bs.scope "Updates"] external addListener: (event('manifestType) => unit) => eventSubscription = - "addListener"; \ No newline at end of file + "addListener"; diff --git a/packages/reason-expo/src/VectorIcons.re b/packages/reason-expo/src/VectorIcons.re index ed5a772..099f693 100644 --- a/packages/reason-expo/src/VectorIcons.re +++ b/packages/reason-expo/src/VectorIcons.re @@ -1,47 +1,116 @@ module MaterialIcons = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "MaterialIcons"; }; module Ionicons = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "Ionicons"; }; module Entypo = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "Entypo"; }; module EvilIcons = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "EvilIcons"; }; +module Feather = { + [@bs.module "@expo/vector-icons"] [@react.component] + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = + "Feather"; +}; + module FontAwesome = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "FontAwesome"; }; module Foundation = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "Foundation"; }; module MaterialCommunityIcons = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "MaterialCommunityIcons"; }; module Octicons = { [@bs.module "@expo/vector-icons"] [@react.component] - external make: (~name: string, ~size: int, ~color: string) => React.element = + external make: + ( + ~style: ReactNative.Style.t=?, + ~name: string, + ~size: int, + ~color: string + ) => + React.element = "Octicons"; }; diff --git a/packages/reason-expo/src/Video.re b/packages/reason-expo/src/Video.re index bb5d6db..38219a6 100644 --- a/packages/reason-expo/src/Video.re +++ b/packages/reason-expo/src/Video.re @@ -23,53 +23,36 @@ module PosterSource = { external fromRequired: ReactNative.Packager.required => t = "%identity"; }; -[@bs.deriving abstract] type playbackStatus = { isLoaded: bool, - [@bs.optional] - error: string, - [@bs.optional] - uri: string, - [@bs.optional] - progressUpdateIntervalMillis: int, - [@bs.optional] - durationMillis: int, - [@bs.optional] - positionMillis: int, - [@bs.optional] - playableDurationMillis: int, - [@bs.optional] - shouldPlay: bool, - [@bs.optional] - isPlaying: bool, - [@bs.optional] - isBuffering: bool, - [@bs.optional] - rate: float, - [@bs.optional] - shouldCorrectPitch: bool, - [@bs.optional] - volume: float, - [@bs.optional] - isMuted: bool, - [@bs.optional] - isLooping: bool, - [@bs.optional] - didJustFinish: bool, + error: option(string), + uri: option(string), + progressUpdateIntervalMillis: option(int), + durationMillis: option(int), + positionMillis: option(int), + playableDurationMillis: option(int), + shouldPlay: option(bool), + isPlaying: option(bool), + isBuffering: option(bool), + rate: option(float), + shouldCorrectPitch: option(bool), + volume: option(float), + isMuted: option(bool), + isLooping: option(bool), + didJustFinish: option(bool), +}; + +type naturalSize = { + width: float, + height: float, + orientation: string, }; -[@bs.deriving abstract] type onReadyForDisplayParam = { - naturalSize: { - . - "width": float, - "height": float, - "orientation": string, - }, + naturalSize, status: playbackStatus, }; -[@bs.deriving abstract] type onFullscreenUpdateParam = { fullscreenUpdate: int, status: playbackStatus, @@ -94,7 +77,7 @@ external make: ~isMuted: bool=?, ~useNativeControls: bool=?, ~usePoster: bool=?, - ~resizeMode: [@bs.string] [ | `stretch | `contain | `cover]=?, + ~resizeMode: [ | `stretch | `contain | `cover]=?, ~isLooping: bool=?, ~shouldPlay: bool=?, ~volume: float=?, diff --git a/packages/reason-expo/src/VideoThumbnails.re b/packages/reason-expo/src/VideoThumbnails.re index 5053dd5..2d67eb8 100644 --- a/packages/reason-expo/src/VideoThumbnails.re +++ b/packages/reason-expo/src/VideoThumbnails.re @@ -1,8 +1,8 @@ -type getThumbnailAsyncOptions('headers) = { - compress: float, - time: int, - headers: 'headers, -}; +type getThumbnailAsyncOptions('headers); +[@bs.obj] +external getThumbnailAsyncOptions: + (~compress: float, ~time: int, ~headers: 'headers) => + getThumbnailAsyncOptions('headers); type getThumbnailAsyncResult = { uri: string, @@ -14,4 +14,4 @@ type getThumbnailAsyncResult = { external getThumbnailAsync: (string, getThumbnailAsyncOptions('headers)) => Js.Promise.t(getThumbnailAsyncResult) = - "getThumbnailAsync"; \ No newline at end of file + "getThumbnailAsync"; diff --git a/packages/reason-expo/src/WebBrowser.re b/packages/reason-expo/src/WebBrowser.re index 8a027c9..f365b86 100644 --- a/packages/reason-expo/src/WebBrowser.re +++ b/packages/reason-expo/src/WebBrowser.re @@ -1,41 +1,41 @@ -[@bs.deriving abstract] type openBrowserAsyncResult = { [@bs.as "type"] _type: string, }; -[@bs.deriving abstract] -type openBrowserAsyncOptions = { - [@bs.optional] - toolbarColor: string, - [@bs.optional] - collapseToolbar: bool, - [@bs.optional] - controlsColor: string, - [@bs.optional] - showTitle: bool, - [@bs.optional] - package: string, -}; +type openBrowserAsyncOptions; +[@bs.obj] +external openBrowserAsyncOptions: + ( + ~controlsColor: string=?, + ~dismissButtonStyle: [ | `close | `cancel]=?, + ~enableBarCollapsing: bool=?, + ~enableDefaultShare: bool=?, + ~package: string=?, + ~readerMode: bool=?, + ~showInRecents: bool=?, + ~showTitle: bool=?, + ~toolbarColor: string=? + ) => + openBrowserAsyncOptions; [@bs.module "expo-web-browser"] -external openBrowserAsync: string => Js.Promise.t(openBrowserAsyncResult) = +external openBrowserAsync: + (~url: string, ~options: openBrowserAsyncOptions=?, unit) => + Js.Promise.t(openBrowserAsyncResult) = "openBrowserAsync"; -[@bs.deriving abstract] type openAuthSessionAsyncResult = { [@bs.as "type"] _type: string, }; [@bs.module "expo-web-browser"] -external _openAuthSessionAsync: - (string, string) => Js.Promise.t(openAuthSessionAsyncResult) = +external openAuthSessionAsync: + (~url: string, ~redirectUrl: string) => + Js.Promise.t(openAuthSessionAsyncResult) = "openAuthSessionAsync"; -let openAuthSessionAsync = (~url, ~redirectUrl=Constants.linkingUrl, ()) => - _openAuthSessionAsync(url, redirectUrl); - [@bs.deriving abstract] type warmUpAsyncResult = {package: string}; @@ -58,7 +58,6 @@ type coolDownAsyncResult = {package: string}; external coolDownAsync: string => Js.Promise.t(coolDownAsyncResult) = "coolDownAsync"; -[@bs.deriving abstract] type dismissBrowserResult = { [@bs.as "type"] _type: string, @@ -68,17 +67,14 @@ type dismissBrowserResult = { external dismissBrowser: unit => Js.Promise.t(dismissBrowserResult) = "dismissBrowser"; -[@bs.deriving abstract] type getCustomTabsSupportingBrowsersResult = { browserPackages: array(string), - [@bs.optional] - defaultBrowserPackage: string, + defaultBrowserPackage: option(string), servicePackages: array(string), - [@bs.optional] - preferredBrowserPackage: string, + preferredBrowserPackage: option(string), }; [@bs.module "expo-web-browser"] external getCustomTabsSupportingBrowsers: unit => Js.Promise.t(getCustomTabsSupportingBrowsersResult) = - "getCustomTabsSupportingBrowsers"; \ No newline at end of file + "getCustomTabsSupportingBrowsers"; diff --git a/packages/template/app.json b/packages/template/app.json index a9c3408..dd5bee3 100644 --- a/packages/template/app.json +++ b/packages/template/app.json @@ -4,7 +4,7 @@ "description": "A basic ReasonExpo app.", "slug": "new-template", "privacy": "public", - "sdkVersion": "34.0.0", + "sdkVersion": "38.0.0", "platforms": ["ios", "android"], "version": "1.0.0", "orientation": "portrait", diff --git a/packages/template/package.json b/packages/template/package.json index ec7adc0..ee1af1f 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -1,7 +1,8 @@ { "name": "expo-template-reason", "main": "node_modules/expo/AppEntry.js", - "version": "34.0.0", + "version": "38.0.0", + "private": true, "scripts": { "start": "expo start", "android": "expo start --android", @@ -11,14 +12,14 @@ "watch": "bsb -make-world -clean-world -w" }, "dependencies": { - "bs-platform": "^7.3.2", - "expo": "^37.0.0", - "expo-linear-gradient": "~8.1.0", + "bs-platform": "^8.2.0", + "expo": "^38.0.0", + "expo-linear-gradient": "~8.2.1", "react": "16.9.0", "react-dom": "^16.13.1", - "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz", - "react-native-web": "~0.11.7", - "reason-react": "^0.8.0" + "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz", + "react-native-web": "~0.13.13", + "reason-react": "^0.9.0" }, "devDependencies": { "babel-preset-expo": "^8.1.0" diff --git a/packages/template/src/App.re b/packages/template/src/App.re index 8be9f94..1bac99d 100644 --- a/packages/template/src/App.re +++ b/packages/template/src/App.re @@ -29,4 +29,4 @@ let app = () => { ; -}; \ No newline at end of file +}; diff --git a/packages/test/app.json b/packages/test/app.json index 5b32566..78891e7 100644 --- a/packages/test/app.json +++ b/packages/test/app.json @@ -4,7 +4,7 @@ "description": "A basic ReasonExpo app.", "slug": "new-template", "privacy": "public", - "sdkVersion": "37.0.1", + "sdkVersion": "38.0.0", "platforms": ["ios", "android"], "version": "1.0.0", "orientation": "portrait", diff --git a/packages/test/package.json b/packages/test/package.json index b1b7d1a..05dd449 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -8,7 +8,7 @@ }, "bugs": "https://github.com/fiberjw/reason-expo/issues", "main": "__generated__/AppEntry.js", - "version": "37.0.1", + "version": "38.0.0", "scripts": { "start": "expo start", "android": "expo start --android", @@ -19,18 +19,18 @@ "postinstall": "yarn build" }, "dependencies": { - "expo": "^37.0.0", - "expo-linear-gradient": "~8.1.0", + "expo": "^38.0.0", + "expo-linear-gradient": "~8.2.1", "react": "16.9.0", "react-dom": "^16.13.1", - "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz", - "react-native-web": "~0.11.7", - "reason-react": "^0.8.0", - "reason-react-native": "reason-react-native/reason-react-native#698/head" + "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz", + "react-native-web": "~0.13.13", + "reason-react": "^0.9.0", + "reason-react-native": "^0.62.3" }, "devDependencies": { "babel-preset-expo": "^8.1.0", - "bs-platform": "^7.3.2", + "bs-platform": "^8.2.0", "expo-yarn-workspaces": "^1.2.0" }, "private": true diff --git a/packages/test/src/App.re b/packages/test/src/App.re index 8be9f94..1bac99d 100644 --- a/packages/test/src/App.re +++ b/packages/test/src/App.re @@ -29,4 +29,4 @@ let app = () => { ; -}; \ No newline at end of file +}; diff --git a/yarn.lock b/yarn.lock index 3918dc7..eccc1e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,13 @@ dependencies: "@babel/highlight" "^7.0.0" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" @@ -45,7 +52,16 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.0.0", "@babel/generator@^7.4.4": +"@babel/generator@^7.11.5", "@babel/generator@^7.5.0": + version "7.11.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== + dependencies: + "@babel/types" "^7.11.5" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041" integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ== @@ -124,6 +140,18 @@ levenary "^1.1.1" semver "^5.5.0" +"@babel/helper-create-class-features-plugin@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/helper-create-class-features-plugin@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba" @@ -200,6 +228,15 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" @@ -216,6 +253,13 @@ dependencies: "@babel/types" "^7.0.0" +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-get-function-arity@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" @@ -244,6 +288,13 @@ dependencies: "@babel/types" "^7.0.0" +"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-member-expression-to-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" @@ -297,6 +348,13 @@ dependencies: "@babel/types" "^7.0.0" +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-optimise-call-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" @@ -309,6 +367,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== +"@babel/helper-plugin-utils@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" @@ -360,6 +423,16 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" @@ -386,6 +459,13 @@ "@babel/template" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-split-export-declaration@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" @@ -400,6 +480,11 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + "@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" @@ -443,6 +528,15 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.8.3": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" @@ -457,6 +551,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872" integrity sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew== +"@babel/parser@^7.10.4", "@babel/parser@^7.11.5": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" + integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== + "@babel/parser@^7.8.6", "@babel/parser@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" @@ -742,6 +841,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-typescript@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25" + integrity sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-typescript@^7.2.0": version "7.3.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" @@ -1217,6 +1323,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" +"@babel/plugin-transform-typescript@^7.5.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb" + integrity sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-typescript" "^7.10.4" + "@babel/plugin-transform-unicode-regex@^7.0.0": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" @@ -1346,6 +1461,15 @@ "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/template@^7.8.3", "@babel/template@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" @@ -1370,6 +1494,21 @@ globals "^11.1.0" lodash "^4.17.11" +"@babel/traverse@^7.10.4": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" + integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442" @@ -1394,6 +1533,15 @@ lodash "^4.17.11" to-fast-properties "^2.0.0" +"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" + integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" @@ -1411,6 +1559,22 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@expo/configure-splash-screen@0.1.13": + version "0.1.13" + resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.1.13.tgz#9f974146d716ffc03461e4d2deb7bfb22826e56a" + integrity sha512-1AYaHDJlAXfS7K/i2kI7U5+dELfKnFrXti97cIC5PkHOwEQVti8Uw1/KXO0+Pih7g8BNDvDPjHlMNDqn7AnBCA== + dependencies: + "@react-native-community/cli-platform-android" "^4.10.0" + "@react-native-community/cli-platform-ios" "^4.10.0" + color-string "^1.5.3" + commander "^5.1.0" + core-js "^3.6.5" + deep-equal "^2.0.3" + fs-extra "^9.0.0" + pngjs "^5.0.0" + xcode "^3.0.0" + xml-js "^1.6.11" + "@expo/vector-icons@^10.0.2": version "10.0.3" resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-10.0.3.tgz#9dec25cf6c29871f2bb1fe932029878c221f1f75" @@ -1516,96 +1680,124 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@react-native-community/cli-debugger-ui@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-3.0.0.tgz#d01d08d1e5ddc1633d82c7d84d48fff07bd39416" - integrity sha512-m3X+iWLsK/H7/b7PpbNO33eQayR/+M26la4ZbYe1KRke5Umg4PIWsvg21O8Tw4uJcY8LA5hsP+rBi/syBkBf0g== +"@react-native-community/cli-debugger-ui@^4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.9.0.tgz#4177764ba69243c97aa26829d59d9501acb2bd71" + integrity sha512-fBFGamHm4VUrDqkBGnsrwQL8OC6Om7K6EBQb4xj0nWekpXt1HSa3ScylYHTTWwYcpRf9htGMRGiv4dQDY/odAw== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-platform-android@^3.0.0-alpha.1": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-3.1.4.tgz#61f964dc311623e60b0fb29c5f3732cc8a6f076f" - integrity sha512-ClSdY20F0gzWVLTqCv7vHjnUqOcuq10jd9GgHX6lGSc2GI+Ql3/aQg3tmG4uY3KXNNwAv3U8QCoYgg1WGfwiHA== +"@react-native-community/cli-hermes@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-4.13.0.tgz#6243ed9c709dad5e523f1ccd7d21066b32f2899d" + integrity sha512-oG+w0Uby6rSGsUkJGLvMQctZ5eVRLLfhf84lLyz942OEDxFRa9U19YJxOe9FmgCKtotbYiM3P/XhK+SVCuerPQ== dependencies: - "@react-native-community/cli-tools" "^3.0.0" - chalk "^2.4.2" + "@react-native-community/cli-platform-android" "^4.13.0" + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + +"@react-native-community/cli-platform-android@^4.10.0", "@react-native-community/cli-platform-android@^4.13.0", "@react-native-community/cli-platform-android@^4.5.1": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.13.0.tgz#922681ec82ee1aadd993598b814df1152118be02" + integrity sha512-3i8sX8GklEytUZwPnojuoFbCjIRzMugCdzDIdZ9UNmi/OhD4/8mLGO0dgXfT4sMWjZwu3qjy45sFfk2zOAgHbA== + dependencies: + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" jetifier "^1.6.2" - logkitty "^0.6.0" + lodash "^4.17.15" + logkitty "^0.7.1" slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^3.0.0-alpha.1": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.2.0.tgz#c469444f5993c9e6737a4b16d78cf033e3702f00" - integrity sha512-pzEnx68H6+mHBq5jsMrr3UmAmkrLSMlC9BZ4yoUdfUXCQq6/R70zNYvH4hjUw8h2Al7Kgq53UzHUsM0ph8TSWQ== +"@react-native-community/cli-platform-ios@^4.10.0", "@react-native-community/cli-platform-ios@^4.5.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.13.0.tgz#a738915c68cac86df54e578b59a1311ea62b1aef" + integrity sha512-6THlTu8zp62efkzimfGr3VIuQJ2514o+vScZERJCV1xgEi8XtV7mb/ZKt9o6Y9WGxKKkc0E0b/aVAtgy+L27CA== dependencies: - "@react-native-community/cli-tools" "^3.0.0" - chalk "^2.4.2" + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" + glob "^7.1.3" js-yaml "^3.13.1" + lodash "^4.17.15" + plist "^3.0.1" xcode "^2.0.0" -"@react-native-community/cli-tools@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-3.0.0.tgz#fe48b80822ed7e49b8af051f9fe41e22a2a710b1" - integrity sha512-8IhQKZdf3E4CR8T7HhkPGgorot/cLkRDgneJFDSWk/wCYZAuUh4NEAdumQV7N0jLSMWX7xxiWUPi94lOBxVY9g== +"@react-native-community/cli-server-api@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.13.0.tgz#ef0e53fe0edc7356d62bca725ca47cb368f748a5" + integrity sha512-ER138ChLc1YYX7j9yE6fDm4DdNdsHThr+pla/B6iZoKje1r7TwymDdKaUvOsYalG7sWG9glW3bofcCq+Yh0Dvw== dependencies: - chalk "^2.4.2" - lodash "^4.17.5" + "@react-native-community/cli-debugger-ui" "^4.9.0" + "@react-native-community/cli-tools" "^4.13.0" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.0" + pretty-format "^25.1.0" + serve-static "^1.13.1" + ws "^1.1.0" + +"@react-native-community/cli-tools@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-4.13.0.tgz#b406463d33af16cedc4305a9a9257ed32845cf1b" + integrity sha512-s4f489h5+EJksn4CfheLgv5PGOM0CDmK1UEBLw2t/ncWs3cW2VI7vXzndcd/WJHTv3GntJhXDcJMuL+Z2IAOgg== + dependencies: + chalk "^3.0.0" + lodash "^4.17.15" mime "^2.4.1" - node-fetch "^2.5.0" + node-fetch "^2.6.0" + open "^6.2.0" + shell-quote "1.6.1" -"@react-native-community/cli-types@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-3.0.0.tgz#488d46605cb05e88537e030f38da236eeda74652" - integrity sha512-ng6Tm537E/M42GjE4TRUxQyL8sRfClcL7bQWblOCoxPZzJ2J3bdALsjeG3vDnVCIfI/R0AeFalN9KjMt0+Z/Zg== +"@react-native-community/cli-types@^4.10.1": + version "4.10.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-4.10.1.tgz#d68a2dcd1649d3b3774823c64e5e9ce55bfbe1c9" + integrity sha512-ael2f1onoPF3vF7YqHGWy7NnafzGu+yp88BbFbP0ydoCP2xGSUzmZVw0zakPTC040Id+JQ9WeFczujMkDy6jYQ== -"@react-native-community/cli@^3.0.0-alpha.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-3.2.1.tgz#2a466801eb6080a1f73358c5d740c53c24ed8c6f" - integrity sha512-bZ/bfZ+9r1gQSxp6t7+00DcpC6vmbVYSvzUCFM/yo5k8bhsDdcy8aocscIaXXVGG+v9Edri/Q7hH9ks7L18/Rg== +"@react-native-community/cli@^4.5.1": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.13.0.tgz#04d5032f9b2b423c61ceef6be83b1bcc8a37db75" + integrity sha512-R+1VehIQ6VTLf+e7YOwzJk0F9tstfeSC4xy7oT6GSgB3FnXbTJGHFUp4siyO68Ae/gzGqt8SiUO145teWkP+ZA== dependencies: "@hapi/joi" "^15.0.3" - "@react-native-community/cli-debugger-ui" "^3.0.0" - "@react-native-community/cli-tools" "^3.0.0" - "@react-native-community/cli-types" "^3.0.0" - chalk "^2.4.2" + "@react-native-community/cli-debugger-ui" "^4.9.0" + "@react-native-community/cli-hermes" "^4.13.0" + "@react-native-community/cli-server-api" "^4.13.0" + "@react-native-community/cli-tools" "^4.13.0" + "@react-native-community/cli-types" "^4.10.1" + chalk "^3.0.0" command-exists "^1.2.8" commander "^2.19.0" - compression "^1.7.1" - connect "^3.6.5" cosmiconfig "^5.1.0" deepmerge "^3.2.0" - didyoumean "^1.2.1" - envinfo "^7.1.0" - errorhandler "^1.5.0" + envinfo "^7.7.2" execa "^1.0.0" find-up "^4.1.0" - fs-extra "^7.0.1" - glob "^7.1.1" + fs-extra "^8.1.0" + glob "^7.1.3" graceful-fs "^4.1.3" inquirer "^3.0.6" - lodash "^4.17.5" - metro "^0.56.0" - metro-config "^0.56.0" - metro-core "^0.56.0" - metro-react-native-babel-transformer "^0.56.0" + leven "^3.1.0" + lodash "^4.17.15" + metro "^0.58.0" + metro-config "^0.58.0" + metro-core "^0.58.0" + metro-react-native-babel-transformer "^0.58.0" + metro-resolver "^0.58.0" minimist "^1.2.0" mkdirp "^0.5.1" - morgan "^1.9.0" - node-notifier "^5.2.1" - open "^6.2.0" + node-stream-zip "^1.9.1" ora "^3.4.0" - plist "^3.0.0" - pretty-format "^25.1.0" + pretty-format "^25.2.0" semver "^6.3.0" serve-static "^1.13.1" - shell-quote "1.6.1" strip-ansi "^5.2.0" sudo-prompt "^9.0.0" wcwidth "^1.0.1" - ws "^1.1.0" "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" @@ -1619,16 +1811,6 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== -"@types/fbemitter@^2.0.32": - version "2.0.32" - resolved "https://registry.yarnpkg.com/@types/fbemitter/-/fbemitter-2.0.32.tgz#8ed204da0f54e9c8eaec31b1eec91e25132d082c" - integrity sha1-jtIE2g9U6cjq7DGx7skeJRMtCCw= - -"@types/invariant@^2.2.29": - version "2.2.29" - resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.29.tgz#aa845204cd0a289f65d47e0de63a6a815e30cc66" - integrity sha512-lRVw09gOvgviOfeUrKc/pmTiRZ7g7oDOU6OAutyuSHpm1/o2RaBQvRhgK8QEdu+FFuw/wnWb29A/iuxv9i8OpQ== - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" @@ -1649,38 +1831,16 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/lodash.zipobject@^4.1.4": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/lodash.zipobject/-/lodash.zipobject-4.1.6.tgz#75e140f44ac7d7682a18d3aae8ee4594fad094d7" - integrity sha512-30khEHqHWaLgMZR35wtkg07OmHiNiDQyor0SK7oj8Sy05tg6jDjPmJybeZ64WKeFZUEgs1tdJwdT0xUl+2qUgQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.135" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.135.tgz#d2607c35dd68f70c2b35ba020c667493dedd8447" - integrity sha512-Ed+tSZ9qM1oYpi5kzdsBuOzcAIn1wDW+e8TFJ50IMJMlSopGdJgKAbhHzN6h1E1OfjlGOr2JepzEWtg9NIfoNg== - "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/qs@^6.5.1": - version "6.5.3" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.5.3.tgz#1c3b71b091eaeaf5924538006b7f70603ce63d38" - integrity sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA== - "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== -"@types/websql@^0.0.27": - version "0.0.27" - resolved "https://registry.yarnpkg.com/@types/websql/-/websql-0.0.27.tgz#621a666a7f02018e7cbb4abab956a25736c27d71" - integrity sha1-Yhpman8CAY58u0q6uVaiVzbCfXE= - "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1700,17 +1860,17 @@ dependencies: "@types/yargs-parser" "*" -"@unimodules/core@~5.1.0": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.1.2.tgz#44de60184c9a50cf57bc8ec1cd024810a72ecf3e" - integrity sha512-iCWEbzsNHqDfL6p8FyCGPnL2EW7vdgMJsNNSlWtM/gl8kePdqZMI7aOxTC4cdRS2xm0wzxuDBtpfJkzZsKINZg== +"@unimodules/core@~5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.3.0.tgz#c425e59b1f9c1e2c91b235b6192e5f622a47d833" + integrity sha512-uGpkYE2zI0F1LTv+p6drzCHAZo8UFITxedHUH6pjWQBHdpTtae5cU7l3F/CzQ4WYU6SWhkzaB90/Ydf3DNTuLw== dependencies: compare-versions "^3.4.0" -"@unimodules/react-native-adapter@~5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.2.0.tgz#96bfd4cfbad5083b3aa1152ee0a4ac84fa9dfb69" - integrity sha512-S3HMEeQbV6xs7ORRcxXFGMk38DAnxqNcZG9T8JkX/KGY9ILUUqTS/e68+d849B6beEeglNMcOxyjwlqjykN+FA== +"@unimodules/react-native-adapter@~5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.4.0.tgz#6639a2b6df74806bc886933c99bb18408e54f7f0" + integrity sha512-2c3hDWzfBAyDWNCkBziyXphmxRZvZ5J8oSMLRDohvj6DnQiHvnlgr/A4oberkjPSEve5fN4GA+eybcJrec08AA== dependencies: invariant "^2.2.4" lodash "^4.5.0" @@ -1744,6 +1904,11 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" +anser@^1.4.9: + version "1.4.10" + resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b" + integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== + ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -1798,11 +1963,6 @@ ansi-red@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" @@ -1891,6 +2051,11 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= + array-filter@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" @@ -1921,11 +2086,6 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -art@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/art/-/art-0.10.3.tgz#b01d84a968ccce6208df55a733838c96caeeaea2" - integrity sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ== - asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -1946,11 +2106,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== - async@^2.4.0: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" @@ -1958,11 +2113,23 @@ async@^2.4.0: dependencies: lodash "^4.17.11" +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" + integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== + dependencies: + array-filter "^1.0.0" + babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -2002,21 +2169,21 @@ babel-preset-expo@^8.1.0: babel-plugin-react-native-web "^0.11.7" metro-react-native-babel-preset "^0.56.0" -babel-preset-expo@~8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.1.1.tgz#7b6bd561ee598197c7f49572c85f3f45df94d57e" - integrity sha512-73VtU6+IsOPMHsXIXHJTycoAmE9hDCvWY2E14E3sVL/EhOJsH3YbWirRTiUiklfEMAEaOxBRc4C4GxqGmaFjxQ== +babel-preset-expo@~8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.2.3.tgz#0e2726f578287e1b0278674abc0933eba9a493e6" + integrity sha512-DL8GU7XsPPQFmDHYHo1/sTfNiXeThwSba4v3vOLbmkrzLetVGJruKMcKy7Vv0D1WmSpMvVj1J7G8C0IQ9pIDxQ== dependencies: "@babel/plugin-proposal-decorators" "^7.6.0" "@babel/preset-env" "^7.6.3" babel-plugin-module-resolver "^3.2.0" babel-plugin-react-native-web "^0.11.7" - metro-react-native-babel-preset "^0.56.0" + metro-react-native-babel-preset "^0.58.0" -babel-preset-fbjs@^3.1.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz#a6024764ea86c8e06a22d794ca8b69534d263541" - integrity sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw== +babel-preset-fbjs@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz#c0e6347d3e0379ed84b3c2434d3467567aa05297" + integrity sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g== dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-object-rest-spread" "^7.0.0" @@ -2046,10 +2213,10 @@ babel-preset-fbjs@^3.1.2: "@babel/plugin-transform-template-literals" "^7.0.0" babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" -babel-preset-fbjs@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz#c0e6347d3e0379ed84b3c2434d3467567aa05297" - integrity sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g== +babel-preset-fbjs@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz#a6024764ea86c8e06a22d794ca8b69534d263541" + integrity sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw== dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-object-rest-spread" "^7.0.0" @@ -2107,12 +2274,10 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -basic-auth@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" +big-integer@^1.6.44: + version "1.6.48" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== big-integer@^1.6.7: version "1.6.44" @@ -2138,6 +2303,13 @@ bplist-creator@0.0.7: dependencies: stream-buffers "~2.2.0" +bplist-creator@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c" + integrity sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA== + dependencies: + stream-buffers "~2.2.0" + bplist-parser@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" @@ -2145,6 +2317,13 @@ bplist-parser@0.1.1: dependencies: big-integer "^1.6.7" +bplist-parser@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== + dependencies: + big-integer "^1.6.44" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2186,10 +2365,10 @@ browserslist@^4.11.1, browserslist@^4.8.5: node-releases "^1.1.53" pkg-up "^2.0.0" -bs-platform@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-7.3.2.tgz#301f5c9b4e8cf5713cb60ca22e145e56e793affe" - integrity sha512-seJL5g4anK9la4erv+B2o2sMHQCxDF6OCRl9en3hbaUos/S3JsusQ0sPp4ORsbx5eXfHLYBwPljwKXlgpXtsgQ== +bs-platform@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-8.2.0.tgz#f3f4c06d5710a4c782f0ed030b1fe11e74a0a6d7" + integrity sha512-quvmUac/ZxGDsT7L5+6RNXrLPvLHkWFownacaqlwVoyAm770bPyupTRU49ALPGk3HpjfD5eE+lpGdOSPtuwJiA== bser@^2.0.0: version "2.1.0" @@ -2270,11 +2449,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2374,34 +2548,29 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -2429,11 +2598,19 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-string@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" @@ -2469,13 +2646,6 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-urls/-/compare-urls-2.0.0.tgz#9b378c4abd43980a8700fffec9afb85de4df9075" - integrity sha512-eCJcWn2OYFEIqbm70ta7LQowJOOZZqq1a2YbbFCFI1uwSvj+TWMwXVn7vPR1ceFNcAIt5RSTDbwdlX82gYLTkA== - dependencies: - normalize-url "^2.0.1" - compare-versions@^3.4.0: version "3.5.0" resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.5.0.tgz#85fc22a1ae9612ff730d77fb092295acd056d311" @@ -2566,6 +2736,11 @@ core-js@^3.0.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== +core-js@^3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2601,7 +2776,7 @@ create-react-class@^15.6.2, create-react-class@^15.6.3: loose-envify "^1.3.1" object-assign "^4.1.1" -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= @@ -2643,11 +2818,6 @@ dayjs@^1.8.15: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.27.tgz#a8ae63ee990af28c05c430f0e160ae835a0fbbf8" integrity sha512-Jpa2acjWIeOkg8KURUHICk0EqnEFSSF5eMEscsOgyJ92ZukXwmpmRkPSUka7KHSfbj5eKH30ieosYip+ky9emQ== -debounce@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" - integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== - debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2662,7 +2832,7 @@ debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -decamelize@^1.1.1, decamelize@^1.2.0: +decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -2684,6 +2854,26 @@ deep-assign@^3.0.0: dependencies: is-obj "^1.0.0" +deep-equal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.0.3.tgz#cad1c15277ad78a5c01c49c2dee0f54de8a6a7b0" + integrity sha512-Spqdl4H+ky45I9ByyJtXteOm9CaIrPmnIPmOhrkKGNYWeDgCvJ8jNYVCTjChxW4FqGuZnLHADc8EKRMX6+CgvA== + dependencies: + es-abstract "^1.17.5" + es-get-iterator "^1.1.0" + is-arguments "^1.0.4" + is-date-object "^1.0.2" + is-regex "^1.0.5" + isarray "^2.0.5" + object-is "^1.1.2" + object-keys "^1.1.1" + object.assign "^4.1.0" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.2" + which-boxed-primitive "^1.0.1" + which-collection "^1.0.1" + which-typed-array "^1.1.2" + deepmerge@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" @@ -2696,7 +2886,7 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2740,11 +2930,6 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -didyoumean@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" - integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -2760,6 +2945,11 @@ elegant-spinner@^2.0.0: resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-2.0.0.tgz#f236378985ecd16da75488d166be4b688fd5af94" integrity sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA== +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -2791,12 +2981,12 @@ enquirer@^2.3.5: dependencies: ansi-colors "^3.2.1" -envinfo@^7.1.0: - version "7.5.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" - integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ== +envinfo@^7.7.2: + version "7.7.3" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" + integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -2811,6 +3001,41 @@ errorhandler@^1.5.0: accepts "~1.3.7" escape-html "~1.0.3" +es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: + version "1.17.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-regex "^1.1.0" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.0: + version "1.18.0-next.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.0.tgz#b302834927e624d8e5837ed48224291f2c66e6fc" + integrity sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + es-abstract@^1.4.3: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -2823,6 +3048,19 @@ es-abstract@^1.4.3: is-regex "^1.0.4" object-keys "^1.0.12" +es-get-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" + integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== + dependencies: + es-abstract "^1.17.4" + has-symbols "^1.0.1" + is-arguments "^1.0.4" + is-map "^2.0.1" + is-set "^2.0.1" + is-string "^1.0.5" + isarray "^2.0.5" + es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" @@ -2832,6 +3070,15 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2842,6 +3089,13 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +eslint-plugin-relay@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-relay/-/eslint-plugin-relay-1.4.1.tgz#5af2ac13e24bd01ad17b6a4014204918d65021cd" + integrity sha512-yb+p+4AxZTi2gXN7cZRfXMBFlRa5j6TtiVeq3yHXyy+tlgYNpxi/dDrP1+tcUTNP9vdaJovnfGZ5jp6kMiH9eg== + dependencies: + graphql "^14.0.0" + esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -2872,19 +3126,6 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -2926,10 +3167,10 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expo-asset@~8.1.5: - version "8.1.5" - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.1.5.tgz#6d0e3504cd719e9b888d32978d419d6522eed799" - integrity sha512-Ivc4GsAXawfFT6IgjvV4BHXFdAHT+1ZhewuBm/mQ1vvkYOqcPksDVRuChdbfvgAl82lbDfAN/FeEcIfGnvevEQ== +expo-asset@~8.1.7: + version "8.1.7" + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.1.7.tgz#32618e51f85df56f1d7dd54c71eb486ae7f7674e" + integrity sha512-g0+a+Uc+GfOI7VtZ6d0WB78qq6Lu3vKqHN3TBfcsndcx893CSmo6ZVLcrlL9evdZwlbSO+9zLrLdzEw38a/gMA== dependencies: blueimp-md5 "^2.10.0" invariant "^2.2.4" @@ -2937,77 +3178,89 @@ expo-asset@~8.1.5: path-browserify "^1.0.0" url-parse "^1.4.4" -expo-constants@~9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.0.0.tgz#35c600079ee91d38fe4f56375caae6e90f122fdd" - integrity sha512-1kqZMM8Ez5JT3sTEx8I69fP6NYFLOJjeM6Z63dD/m2NiwvzSADiO5+BhghnWNGN1L3bxbgOjXS6EHtS7CdSfxA== +expo-constants@~9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.1.1.tgz#bca141ee3d4550e308798128f66c6d9c6a206ca1" + integrity sha512-zCa/wRARODHd6BSwxjBhidmao0AqQnKmLkl0tsVIoZlRyPDHsEaxNR/m+7wqGC7qiC+UpG1qRnvLOLwCGt2ihg== + dependencies: + fbjs "1.0.0" + uuid "^3.3.2" -expo-error-recovery@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-1.1.0.tgz#98b9de5400dbfd022d1631739f3bf5e7016565da" - integrity sha512-33aRfPaXdAt0df1TL26JjM5qCAoEW8RAExjgMgunPcdQcf4sWiWFm3qYL8zrO/8DM4uUq4X2FCuPLHMlOYT/aw== +expo-constants@~9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.2.0.tgz#e86a38793deaff9018878afac65bce2543c80a4c" + integrity sha512-WKwiEMvBgPrEPEyZKm21UUB2KWQux9OCWf6ZDORLTln7kO3rsbaJEprfWUWTP7AxyaLMYfN+/0WFHjZc25SZWQ== + dependencies: + fbjs "1.0.0" + uuid "^3.3.2" -expo-file-system@~8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-8.1.0.tgz#d6aa66fa32c19982b94d0013f963c5ee972dfd6d" - integrity sha512-xb4roeU8CotW8t3LkmsrliNbgFpY2KB+3sW1NnujnH39pFVwCd/kfujCYzRauj8aUy/HhSq+3xGkQTpC7pSjVw== +expo-error-recovery@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-1.2.2.tgz#512a92610c267201eae2a8c5e9e744aa34400e5f" + integrity sha512-DyTSpAXL0ir36i2v5APc31dfA5lJ8WA3n/yzsc8Q2+8mB04TTtBMNKnhnrzSD5ZGQ4fBAoW21vxWI1WiAsRbcg== + dependencies: + fbjs "1.0.0" + +expo-file-system@~9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-9.0.1.tgz#50a6a0b29fbc45413de9f7d38c0695503bf03d7e" + integrity sha512-xZKv7g0dhFNMjp49+XiZBnApOUu/WlLzwWaruNbBnSgi/HGnSwbHNyk7zuK1RdQ9NndvXu6uT4uW2i67pIrKig== dependencies: uuid "^3.4.0" -expo-font@~8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-8.1.1.tgz#40de629d7332887bdafae4756741f6979fc0043e" - integrity sha512-z6008K7YSA7wpJ1mNyG2eSYUhEoFVjdL2uAbwaHFpsqwxDS4tcdKHoWkanIUiEnsjtHK7Uk0ywKJ8MRzmCaklw== +expo-font@~8.2.1: + version "8.2.2" + resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-8.2.2.tgz#c67ee8d3841921a907464d67e8098baeed92bacf" + integrity sha512-p/a7Ve+3LiR9ofn77U0UuuE6ZQiLVu3M1btiKUDe5efAp48D9GG41AevKQ7YnkfxTDdGJa0ACAtJAVsAD30jGA== dependencies: fbjs "1.0.0" fontfaceobserver "^2.1.0" -expo-keep-awake@~8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.1.0.tgz#3a1d8aa5a8395d40c7d79e1c93020ae5f848e664" - integrity sha512-RNPwWvpwsJwJS8ZI1yklKyVQ6l2NNZBCN2aSgQMRza2SABnpFFzDLHQwMo7DC+nbmrOueMvCIDr0VI3xrzGfEg== +expo-keep-awake@~8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.2.1.tgz#a7956ad0fa80eb6ac6a28bb7242408e87c493677" + integrity sha512-m644YH7R/3n6dcn03aZcmHGTk4hDDIiEiImTKsSjbXIIRuW5tfdRqLCHnja5DwBT+4sxUn58wTpK6QnTfXichA== -expo-linear-gradient@~8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-8.1.0.tgz#6933765cf1e76ef2928fd8495e779929699ac4c6" - integrity sha512-AIy2pOXQRcgk2XE5IgAzd1S2jTFLutiDfveNm6m3fPAk00Rw4qFe98qzte1ayNrGYLJvQ2xq/Y7C0BmBP051mg== +expo-linear-gradient@~8.2.1: + version "8.2.2" + resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-8.2.2.tgz#7587d55cb6b9e81b56a9b0cf5781d7345b1840b0" + integrity sha512-aAha1FEdKAMv8cpg0E/0ijna9orKpyvi0ivj8ZYHG9Y7Maiwa9sddlTAGvSRT7E0n5qVhiWDUS6Bh8w/FO2hzA== -expo-linking@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-1.0.1.tgz#2c1b6e68f8d5f4e54add5670290a4eacb263199d" - integrity sha512-PZNT/1dJv7ZBAXxUFzcvQ5MN74E/yOPrk4UwnxvLoNOmo5fyXcP3BJJPQSIKFGLvVtzl71KJJxYtb+KsR4JvNQ== +expo-linking@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-1.0.4.tgz#ca8bdff42e0bb3cd29c387bf236218eb2ffb27cc" + integrity sha512-tKZvn3D2t/rJQQbDXZaPl3pEZvyO2coSO1WHtXeOCUaWFjrrHxjW0HAZ2H2iR0zALPq/lXo0Po83RsES3E0DAg== dependencies: - expo-constants "~9.0.0" + expo-constants "~9.2.0" qs "^6.5.0" url-parse "^1.4.4" -expo-location@~8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-8.1.0.tgz#6a71ad9a8b78d5f016a30a02013c3b28f46d0b1b" - integrity sha512-G9JvsK1t9Z5Iybf+FCG81Jgm9Ee9leqpazxOPVabUJEWu/55Iex3yLGX04BuIA4ozAlJKBPzkhPdyqKdC7zrSw== +expo-location@~8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-8.2.1.tgz#5ea6bfd3d211939117416da151f1384caa15e0db" + integrity sha512-MixKapt3nijAxyjIISscBzdKi8bwh0H/dWYsL2mCofrjguFHOh2gP07h95902lekb7NVqybl5AIQRW5cvrG4rQ== dependencies: invariant "^2.2.4" -expo-permissions@~8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-8.1.0.tgz#a7f2ee91ba76ce3a467e7b10adaa9ca5201b226f" - integrity sha512-QBHD+1J9+sGFnhoEGzMRchPweeEE0OJ9ehG/0l1BMRBA7qsLS9vRC1FTJ55NwjI0Kr4RTha9r6ZX1kZHT09f/w== +expo-permissions@~9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.0.1.tgz#dc10b58654bbe39bbbed5827369942b01b08055e" + integrity sha512-CosJgy8XQRN/OFG2JTQDcFxz3XTGi27coCMym/hVXWtQfk0z6PwdRG5IXHfLGuSckwIcgmirrwm2+Zc0X3MmNg== -expo-sqlite@~8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-8.1.0.tgz#858eb28e1143db281de8a49c99b4a953a81d0834" - integrity sha512-ziw6dbV1/sZErDkoGjG0afokyuKQqDtUuJglbLz9rQ6zNS1ceF3AjuEyfsWPDc2LL+QEdcnQODW7VUJelIk+0Q== +expo-splash-screen@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.5.0.tgz#cad0eb77a3eade2c7101d169b8655e7ee8053c2f" + integrity sha512-MqYHCbqGtmnA/b+D2JQHxeQzlSfbU4SAGQ2DmzmaBekqRMkRrVrsiBXF7b3wpHTW6R3pC5lsXoH9vq91e5a9xg== dependencies: - "@expo/websql" "^1.0.1" - "@types/websql" "^0.0.27" - lodash "^4.17.15" + "@expo/configure-splash-screen" "0.1.13" -expo-web-browser@~8.2.1: +expo-sqlite@~8.2.1: version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-8.2.1.tgz#993ba53371862ed85cfd277ba59a7004ed412905" - integrity sha512-cENMuq6nhHRdJlEt0Fk1cPDK5aid8+znJeO6rFoIs7+PokMKtcVYBpzQI/TJlxRP3pjMm0qOISnLlMbDlZ+bfg== + resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-8.2.1.tgz#69bbbe46dbb51cc80b0bccd71741925f2b52b2c0" + integrity sha512-HtkcID2knsWD7RJFNLxIYzDgOah0YNPbqaHBLyiR/s7DCCwmHtAZAtNFMHc9IGvri1HIk73ZQK3xBEE05pDlbA== dependencies: - compare-urls "^2.0.0" + "@expo/websql" "^1.0.1" + lodash "^4.17.15" expo-yarn-workspaces@^1.2.0: version "1.2.0" @@ -3018,34 +3271,30 @@ expo-yarn-workspaces@^1.2.0: find-yarn-workspace-root "^1.2.0" mkdirp "^0.5.1" -expo@^37.0.0: - version "37.0.12" - resolved "https://registry.yarnpkg.com/expo/-/expo-37.0.12.tgz#9e1a7ce138cd6c580a112e20992754c7c7e9c97e" - integrity sha512-roqGc7zTh3esYxAi95AWpNkrztO6istuKQNfYNwHbWmHbqbilZLzRNb844WWK++Uy4UxaObO5ymmacZyq4JnwA== +expo@^38.0.0: + version "38.0.10" + resolved "https://registry.yarnpkg.com/expo/-/expo-38.0.10.tgz#c3938f22ee56985289ca7532f94263c6f7fc0989" + integrity sha512-tgloRuZs3uyMEPDRo4SV6ZmCQSG7HcCvT0Ryf0tp89pnAyAS4knEX3ZfzGcK0X4njQfZ02uvBJ4dCEMxWb9h0Q== dependencies: "@babel/runtime" "^7.1.2" "@expo/vector-icons" "^10.0.2" - "@types/fbemitter" "^2.0.32" - "@types/invariant" "^2.2.29" - "@types/lodash.zipobject" "^4.1.4" - "@types/qs" "^6.5.1" - "@unimodules/core" "~5.1.0" - "@unimodules/react-native-adapter" "~5.2.0" - babel-preset-expo "~8.1.0" + "@unimodules/core" "~5.3.0" + "@unimodules/react-native-adapter" "~5.4.0" + babel-preset-expo "~8.2.3" badgin "^1.1.2" cross-spawn "^6.0.5" - expo-asset "~8.1.5" - expo-constants "~9.0.0" - expo-error-recovery "~1.1.0" - expo-file-system "~8.1.0" - expo-font "~8.1.0" - expo-keep-awake "~8.1.0" - expo-linear-gradient "~8.1.0" - expo-linking "~1.0.0" - expo-location "~8.1.0" - expo-permissions "~8.1.0" - expo-sqlite "~8.1.0" - expo-web-browser "~8.2.1" + expo-asset "~8.1.7" + expo-constants "~9.1.1" + expo-error-recovery "~1.2.1" + expo-file-system "~9.0.1" + expo-font "~8.2.1" + expo-keep-awake "~8.2.1" + expo-linear-gradient "~8.2.1" + expo-linking "~1.0.3" + expo-location "~8.2.1" + expo-permissions "~9.0.1" + expo-splash-screen "^0.5.0" + expo-sqlite "~8.2.1" fbemitter "^2.1.1" invariant "^2.2.2" lodash "^4.6.0" @@ -3053,20 +3302,20 @@ expo@^37.0.0: nullthrows "^1.1.0" pretty-format "^23.6.0" prop-types "^15.6.0" - qs "^6.5.0" - react-native-view-shot "3.1.2" + react-native-appearance "~0.3.3" + react-native-safe-area-context "~3.0.7" serialize-error "^2.1.0" - unimodules-app-loader "~1.0.1" - unimodules-barcode-scanner-interface "~5.1.0" - unimodules-camera-interface "~5.1.0" - unimodules-constants-interface "~5.1.0" - unimodules-face-detector-interface "~5.1.0" - unimodules-file-system-interface "~5.1.0" - unimodules-font-interface "~5.1.0" - unimodules-image-loader-interface "~5.1.0" - unimodules-permissions-interface "~5.1.0" - unimodules-sensors-interface "~5.1.0" - unimodules-task-manager-interface "~5.1.0" + unimodules-app-loader "~1.2.0" + unimodules-barcode-scanner-interface "~5.2.1" + unimodules-camera-interface "~5.2.1" + unimodules-constants-interface "~5.2.1" + unimodules-face-detector-interface "~5.2.1" + unimodules-file-system-interface "~5.2.1" + unimodules-font-interface "~5.2.1" + unimodules-image-loader-interface "~5.2.1" + unimodules-permissions-interface "~5.2.1" + unimodules-sensors-interface "~5.2.1" + unimodules-task-manager-interface "~5.2.1" uuid "^3.4.0" extend-shallow@^1.1.2: @@ -3252,7 +3501,7 @@ find-cache-dir@^2.0.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -3292,6 +3541,11 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -3322,15 +3576,25 @@ fs-extra@^4.0.3: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.2.0" jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -3349,10 +3613,10 @@ function-bind@^1.0.2, function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" @@ -3364,11 +3628,6 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3388,7 +3647,7 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: +glob@^7.1.2, glob@^7.1.3: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -3410,15 +3669,17 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== -graceful-fs@^4.1.15: +graceful-fs@^4.1.15, graceful-fs@^4.2.0: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= +graphql@^14.0.0: + version "14.7.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" + integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA== + dependencies: + iterall "^1.2.2" has-flag@^3.0.0: version "3.0.0" @@ -3435,6 +3696,11 @@ has-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -3473,10 +3739,17 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" -hermes-engine@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.2.1.tgz#25c0f1ff852512a92cb5c5cc47cf967e1e722ea2" - integrity sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ== +hermes-engine@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.0.0.tgz#6a65954646b5e32c87aa998dee16152c0c904cd6" + integrity sha512-q5DP4aUe6LnfMaLsxFP1cCY5qA0Ca5Qm2JQ/OgKi3sTfPpXth79AQ7vViXh/RRML53EpokDewMLJmI31RioBAA== + +hermes-profile-transformer@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b" + integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ== + dependencies: + source-map "^0.7.3" hosted-git-info@^2.1.4: version "2.7.1" @@ -3520,6 +3793,11 @@ hyphenate-style-name@^1.0.2: resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48" integrity sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ== +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -3576,7 +3854,7 @@ inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inline-style-prefixer@^5.0.3: +inline-style-prefixer@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-5.1.2.tgz#e5a5a3515e25600e016b71e39138971228486c33" integrity sha512-PYUF+94gDfhy+LsQxM0g3d6Hge4l1pAqOSOiZuHWzMvQEGsbRQ/ck2WioLqrY2ZkHyPgVUXxn+hrkF7D6QUGbA== @@ -3610,15 +3888,10 @@ invariant@^2.2.2, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= is-accessor-descriptor@^0.1.6: version "0.1.6" @@ -3634,11 +3907,31 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.0.tgz#73da8c33208d00f130e9b5e15d23eac9215601c4" + integrity sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g== + +is-boolean-object@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" + integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -3649,6 +3942,11 @@ is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -3675,6 +3973,11 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= +is-date-object@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -3710,13 +4013,6 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -3727,6 +4023,21 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" + integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== + +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + +is-number-object@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -3744,11 +4055,6 @@ is-obj@^1.0.0, is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -3768,11 +4074,23 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-set@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" + integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== + is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3783,6 +4101,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== +is-string@^1.0.4, is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" @@ -3790,6 +4113,26 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" +is-typed-array@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" + integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== + dependencies: + available-typed-arrays "^1.0.0" + es-abstract "^1.17.4" + foreach "^2.0.5" + has-symbols "^1.0.1" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakset@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.1.tgz#e9a0af88dbd751589f5e50d80f4c98b780884f83" + integrity sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw== + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -3805,6 +4148,11 @@ isarray@1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3830,6 +4178,11 @@ isomorphic-fetch@^2.1.1: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" +iterall@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + jest-get-type@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" @@ -3936,11 +4289,6 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsc-android@^245459.0.0: - version "245459.0.0" - resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-245459.0.0.tgz#e584258dd0b04c9159a27fb104cd5d491fd202c9" - integrity sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg== - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -3989,6 +4337,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" + integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + dependencies: + universalify "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -4030,20 +4387,6 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -4101,16 +4444,6 @@ listr2@^2.0.2: through "^2.3.8" uuid "^7.0.2" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -4149,7 +4482,7 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= -lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.6.0: +lodash@^4.17.11, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.6.0: version "4.17.14" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== @@ -4159,6 +4492,11 @@ lodash@^4.17.13, lodash@^4.17.15: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -4183,14 +4521,14 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -logkitty@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.6.1.tgz#fe29209669d261539cbd6bb998a136fc92a1a05c" - integrity sha512-cHuXN8qUZuzX/7kB6VyS7kB4xyD24e8gyHXIFNhIv+fjW3P+jEXNUhj0o/7qWJtv7UZpbnPgUqzu/AZQ8RAqxQ== +logkitty@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" + integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ== dependencies: ansi-fragments "^0.2.1" dayjs "^1.8.15" - yargs "^12.0.5" + yargs "^15.1.0" loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -4222,13 +4560,6 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -4248,22 +4579,6 @@ md5-file@^3.2.3: dependencies: buffer-alloc "^1.1.0" -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -4281,10 +4596,10 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -metro-babel-register@^0.56.0, metro-babel-register@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.56.4.tgz#b0c627a1cfdd1bdd768f81af79481754e833a902" - integrity sha512-Phm6hMluOWYqfykftjJ1jsTpWvbgb49AC/1taxEctxUdRCZlFgZwBleJZAhQYxJD5J+ikFkEbHDzePEXb29KVA== +metro-babel-register@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.58.0.tgz#5c44786d49a044048df56cf476a2263491d4f53a" + integrity sha512-P5+G3ufhSYL6cA3a7xkbSJzzFBvtivj/PhWvGXFXnuFssDlMAX1CTktff+0gpka5Cd6B6QLt0UAMWulUAAE4Eg== dependencies: "@babel/core" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.0.0" @@ -4299,65 +4614,106 @@ metro-babel-register@^0.56.0, metro-babel-register@^0.56.4: core-js "^2.2.2" escape-string-regexp "^1.0.5" -metro-babel-transformer@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.56.4.tgz#fe1d0dc600fcf90201a5bea4d42caea10b801057" - integrity sha512-IOi4ILgZvaX7GCGHBJp79paNVOq5QxhhbyqAdEJgDP8bHfl/OVHoVKSypfrsMSKSiBrqxhIjyc4XjkXsQtkx5g== +metro-babel-transformer@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.58.0.tgz#317c83b863cceb0573943815f1711fbcbe69b106" + integrity sha512-yBX3BkRhw2TCNPhe+pmLSgsAEA3huMvnX08UwjFqSXXI1aiqzRQobn92uKd1U5MM1Vx8EtXVomlJb95ZHNAv6A== dependencies: "@babel/core" "^7.0.0" - metro-source-map "^0.56.4" + metro-source-map "0.58.0" -metro-cache@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.56.4.tgz#542f9f8a35f8fb9d5576f46fd3ab4d4f42851a7e" - integrity sha512-d1hiUSKwtRsuMxUhHVJ3tjK2BbpUlJGvTyMWohK8Wxx+0GbnWRWWFcI4vlCzlZfoK0VtZK2MJEl5t7Du1mIniQ== +metro-cache@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.58.0.tgz#630ea0a4626dfb9591c71fdb85dce14b5e9a04ec" + integrity sha512-jjW9zCTKxhgKcVkyQ6LHyna9Zdf4TK/45vvT1fPyyTk1RY82ZYjU1qs+84ycKEd08Ka4YcK9xcUew9SIDJYI8Q== dependencies: jest-serializer "^24.4.0" - metro-core "^0.56.4" + metro-core "0.58.0" mkdirp "^0.5.1" rimraf "^2.5.4" -metro-config@^0.56.0, metro-config@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.56.4.tgz#338fd8165fba59424cec427c1a881757945e57e9" - integrity sha512-O85QDHwWdMn/8ERe13y4a6vbZL0AHyO8atTvL+9BCulLEO+FQBi1iJjr3+ViLa8cf0m5dRftDsa7P47m5euk4A== +metro-config@0.58.0, metro-config@^0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.58.0.tgz#1e24b43a5a00971d75662b1a0d3c04a13d4a1746" + integrity sha512-4vgBliXwL56vjUlYplvGMVSNrJJpkHuLcD+O20trV3FvPxKg4ZsvuOcNSxqDSMU26FCtIEJ15ojcuCbRL7KY0w== dependencies: cosmiconfig "^5.0.5" jest-validate "^24.7.0" - metro "^0.56.4" - metro-cache "^0.56.4" - metro-core "^0.56.4" + metro "0.58.0" + metro-cache "0.58.0" + metro-core "0.58.0" pretty-format "^24.7.0" -metro-core@^0.56.0, metro-core@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.56.4.tgz#67cc41b3c0bf66e9c2306f50239a1080b1e82312" - integrity sha512-hMzkBdgPt5Zm9nr/1KtIT+A6H7TNiLVCEGG5OiAXj8gTRsA2yy7wAdQpwy0xbE+zi88t/pLOzXpd3ClG/YxyWg== +metro-core@0.58.0, metro-core@^0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.58.0.tgz#ad9f6645a2b439a3fbce7ce4e19b01b00375768a" + integrity sha512-RzXUjGFmCLOyzUqcKDvr91AldGtIOxnzNZrWUIiG8uC3kerVLo0mQp4YH3+XVm6fMNiLMg6iER7HLqD+MbpUjQ== dependencies: jest-haste-map "^24.7.1" lodash.throttle "^4.1.1" - metro-resolver "^0.56.4" + metro-resolver "0.58.0" wordwrap "^1.0.0" -metro-inspector-proxy@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.56.4.tgz#7343ff3c5908af4fd99e96b6d646e24e99816be4" - integrity sha512-E1S3MO25mWKmcLn1UQuCDiS0hf9P2Fwq8sEAX5lBLoZbehepNH+4xJ3xXSY51JX4dozBrE8GGoKL4ll3II40LA== +metro-inspector-proxy@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.58.0.tgz#6fefb0cdf25655919d56c82ebe09cd26eb00e636" + integrity sha512-oFqTyNTJdCdvcw1Ha6SKE7ITbSaoTbO4xpYownIoJR+WZ0ZfxbWpp225JkHuBJm9UcBAnG9c0CME924m3uBbaw== dependencies: connect "^3.6.5" debug "^2.2.0" rxjs "^5.4.3" ws "^1.1.5" - yargs "^9.0.0" + yargs "^14.2.0" -metro-minify-uglify@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.56.4.tgz#13589dfb1d43343608aacb7f78ddfcc052daa63c" - integrity sha512-BHgj7+BKEK2pHvWHUR730bIrsZwl8DPtr49x9L0j2grPZ5/UROWXzEr8VZgIss7fl64t845uu1HXNNyuSj2EhA== +metro-minify-uglify@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.58.0.tgz#7e1066954bfd4f767ba6aca7feef676ca44c68b8" + integrity sha512-vRHsA7bCi7eCn3LXLm20EfY2NoWDyYOnmWaq/N8LB0OxL2L5DXRqMYAQK+prWGJ5S1yvVnDuuNVP+peQ9851TA== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@^0.56.0, metro-react-native-babel-preset@^0.56.4: +metro-react-native-babel-preset@0.58.0, metro-react-native-babel-preset@^0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.58.0.tgz#18f48d33fe124280ffabc000ab8b42c488d762a2" + integrity sha512-MRriNW+fF6jxABsgPphocUY6mIhmCm8idcrQZ58fT3Iti2vCdtkaK32TyCGUNUptzhUe2/cbE57j4aC+eaodAA== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.2.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-exponentiation-operator" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-assign" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + react-refresh "^0.4.0" + +metro-react-native-babel-preset@^0.56.0: version "0.56.4" resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz#dcedc64b7ff5c0734839458e70eb0ebef6d063a8" integrity sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA== @@ -4398,55 +4754,56 @@ metro-react-native-babel-preset@^0.56.0, metro-react-native-babel-preset@^0.56.4 "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@^0.56.0: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.4.tgz#3c6e48b605c305362ee624e45ff338656e35fc1d" - integrity sha512-ng74eutuy1nyGI9+TDzzVAVfEmNPDlapV4msTQMKPi4EFqo/fBn7Ct33ME9l5E51pQBBnxt/UwcpTvd13b29kQ== +metro-react-native-babel-transformer@0.58.0, metro-react-native-babel-transformer@^0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.58.0.tgz#5da0e5a1b83c01d11626905fa59f34fda53a21a5" + integrity sha512-3A73+cRq1eUPQ8g+hPNGgMUMCGmtQjwqHfoG1DwinAoJ/kr4WOXWWbGZo0xHJNBe/zdHGl0uHcDCp2knPglTdQ== dependencies: "@babel/core" "^7.0.0" - babel-preset-fbjs "^3.1.2" - metro-babel-transformer "^0.56.4" - metro-react-native-babel-preset "^0.56.4" - metro-source-map "^0.56.4" + babel-preset-fbjs "^3.3.0" + metro-babel-transformer "0.58.0" + metro-react-native-babel-preset "0.58.0" + metro-source-map "0.58.0" -metro-resolver@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.56.4.tgz#9876f57bca37fd1bfcffd733541e2ee4a89fad7f" - integrity sha512-Ug4ulVfpkKZ1Wu7mdYj9XLGuOqZTuWCqEhyx3siKTc/2eBwKZQXmiNo5d/IxWNvmwL/87Abeb724I6CMzMfjiQ== +metro-resolver@0.58.0, metro-resolver@^0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.58.0.tgz#4d03edc52e2e25d45f16688adf3b3f268ea60df9" + integrity sha512-XFbAKvCHN2iWqKeiRARzEXn69eTDdJVJC7lu16S4dPQJ+Dy82dZBr5Es12iN+NmbJuFgrAuIHbpWrdnA9tOf6Q== dependencies: absolute-path "^0.0.0" -metro-source-map@^0.56.0, metro-source-map@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.56.4.tgz#868ccac3f3519fe14eca358bc186f63651b2b9bc" - integrity sha512-f1P9/rpFmG3Z0Jatiw2zvLItx1TwR7mXTSDj4qLDCWeVMB3kEXAr3R0ucumTW8c6HfpJljeRBWzYFXF33fd81g== +metro-source-map@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.58.0.tgz#e951b99f4c653239ce9323bb08339c6f1978a112" + integrity sha512-yvN1YPmejmgiiS7T1aKBiiUTHPw2Vcm3r2TZ+DY92z/9PR4alysIywrCs/fTHs8rbDcKM5VfPCKGLpkBrbKeOw== dependencies: "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "^0.56.4" - ob1 "^0.56.4" + metro-symbolicate "0.58.0" + ob1 "0.58.0" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.56.4.tgz#53e9d40beac9049fa75a3e620ddd47d4907ff015" - integrity sha512-8mCNNn6zV5FFKCIcRgI7736Xl+owgvYuy8qanPxZN36f7utiWRYeB+PirEBPcglBk4qQvoy2lT6oPULNXZQbbQ== +metro-symbolicate@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.58.0.tgz#ba9fd52549c41fc1b656adaad7c8875726dd5abe" + integrity sha512-uIVxUQC1E26qOMj13dKROhwAa2FmZk5eR0NcBqej/aXmQhpr8LjJg2sondkoLKUp827Tf/Fm9+pS4icb5XiqCw== dependencies: invariant "^2.2.4" - metro-source-map "^0.56.4" + metro-source-map "0.58.0" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro@^0.56.0, metro@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.56.4.tgz#be7e1380ee6ac3552c25ead8098eab261029e4d7" - integrity sha512-Kt3OQJQtQdts0JrKnyGdLpKHDjqYBgIfzvYrvfhmFCkKuZ8aqRlVnvpfjQ4/OBm0Fmm9NyyxbNRD9VIbj7WjnA== +metro@0.58.0, metro@^0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.58.0.tgz#c037318c112f80dc96199780c8b401ab72cfd142" + integrity sha512-yi/REXX+/s4r7RjzXht+E+qE6nzvFIrEXO5Q61h+70Q7RODMU8EnlpXx04JYk7DevHuMhFaX+NWhCtRINzR4zA== dependencies: + "@babel/code-frame" "^7.0.0" "@babel/core" "^7.0.0" - "@babel/generator" "^7.0.0" + "@babel/generator" "^7.5.0" "@babel/parser" "^7.0.0" "@babel/plugin-external-helpers" "^7.0.0" "@babel/template" "^7.0.0" @@ -4454,9 +4811,10 @@ metro@^0.56.0, metro@^0.56.4: "@babel/types" "^7.0.0" absolute-path "^0.0.0" async "^2.4.0" - babel-preset-fbjs "^3.1.2" + babel-preset-fbjs "^3.3.0" buffer-crc32 "^0.2.13" chalk "^2.4.1" + ci-info "^2.0.0" concat-stream "^1.6.0" connect "^3.6.5" debug "^2.2.0" @@ -4472,32 +4830,33 @@ metro@^0.56.0, metro@^0.56.4: json-stable-stringify "^1.0.1" lodash.throttle "^4.1.1" merge-stream "^1.0.1" - metro-babel-register "^0.56.4" - metro-babel-transformer "^0.56.4" - metro-cache "^0.56.4" - metro-config "^0.56.4" - metro-core "^0.56.4" - metro-inspector-proxy "^0.56.4" - metro-minify-uglify "^0.56.4" - metro-react-native-babel-preset "^0.56.4" - metro-resolver "^0.56.4" - metro-source-map "^0.56.4" - metro-symbolicate "^0.56.4" + metro-babel-register "0.58.0" + metro-babel-transformer "0.58.0" + metro-cache "0.58.0" + metro-config "0.58.0" + metro-core "0.58.0" + metro-inspector-proxy "0.58.0" + metro-minify-uglify "0.58.0" + metro-react-native-babel-preset "0.58.0" + metro-resolver "0.58.0" + metro-source-map "0.58.0" + metro-symbolicate "0.58.0" mime-types "2.1.11" mkdirp "^0.5.1" node-fetch "^2.2.0" - nullthrows "^1.1.0" + nullthrows "^1.1.1" resolve "^1.5.0" rimraf "^2.5.4" serialize-error "^2.1.0" source-map "^0.5.6" + strip-ansi "^4.0.0" temp "0.8.3" throat "^4.1.0" wordwrap "^1.0.0" write-file-atomic "^1.2.0" ws "^1.1.5" xpipe "^1.0.5" - yargs "^9.0.0" + yargs "^14.2.0" micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" @@ -4565,7 +4924,7 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -mimic-fn@^2.0.0, mimic-fn@^2.1.0: +mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -4602,17 +4961,6 @@ mkdirp@^0.5.1: dependencies: minimist "0.0.8" -morgan@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" - integrity sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA== - dependencies: - basic-auth "~2.0.0" - debug "2.6.9" - depd "~1.1.2" - on-finished "~2.3.0" - on-headers "~1.0.1" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -4673,11 +5021,16 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.2.0, node-fetch@^2.5.0: +node-fetch@^2.2.0: version "2.6.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-fetch@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -4688,22 +5041,16 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^5.2.1: - version "5.4.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" - integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - node-releases@^1.1.53: version "1.1.56" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.56.tgz#bc054a417d316e3adac90eafb7e1932802f28705" integrity sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw== +node-stream-zip@^1.9.1: + version "1.11.3" + resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.11.3.tgz#223892620b4889bce9782b256a76682631c507be" + integrity sha512-GY+9LxkQuIT3O7K8BTdHVGKFcBYBy2vAVcTBtkKpu+OlBef/NSb6VuIWSyLiVDfmLMkggHeRJZN0F3W0GWU/uw== + noop-fn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/noop-fn/-/noop-fn-1.0.0.tgz#5f33d47f13d2150df93e0cb036699e982f78ffbf" @@ -4736,15 +5083,6 @@ normalize-path@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - npm-run-all@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" @@ -4774,20 +5112,15 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" -nullthrows@^1.1.0: +nullthrows@^1.1.0, nullthrows@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -ob1@^0.56.4: - version "0.56.4" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.56.4.tgz#c4acb3baa42f4993a44b35b2da7c8ef443dcccec" - integrity sha512-URgFof9z2wotiYFsqlydXtQfGV81gvBI2ODy64xfd3vPo+AYom5PVDX4t4zn23t/O+S2IxqApSQM8uJAybmz7w== +ob1@0.58.0: + version "0.58.0" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.58.0.tgz#484a1e9a63a8b79d9ea6f3a83b2a42110faac973" + integrity sha512-uZP44cbowAfHafP1k4skpWItk5iHCoRevMfrnUvYCfyNNPPJd3rfDCyj0exklWi2gDXvjlj2ObsfiqP/bs/J7Q== object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -4803,7 +5136,20 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.7.0, object-inspect@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + +object-is@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" + integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -4839,7 +5185,7 @@ on-finished@~2.3.0: dependencies: ee-first "1.1.1" -on-headers@~1.0.1, on-headers@~1.0.2: +on-headers@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== @@ -4889,44 +5235,16 @@ ora@^3.4.0: strip-ansi "^5.2.0" wcwidth "^1.0.1" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -5000,13 +5318,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -5075,13 +5386,6 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -5104,11 +5408,6 @@ pidtree@^0.3.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b" integrity sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg== -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -5147,7 +5446,7 @@ please-upgrade-node@^3.1.1, please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" -plist@^3.0.0, plist@^3.0.1: +plist@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ== @@ -5167,6 +5466,11 @@ plugin-error@^0.1.2: arr-union "^2.0.1" extend-shallow "^1.1.2" +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -5177,11 +5481,6 @@ pouchdb-collections@^1.0.1: resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-1.0.1.tgz#fe63a17da977611abef7cb8026cb1a9553fd8359" integrity sha1-/mOhfal3YRq+98uAJssalVP9g1k= -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - prettier@^1.16.4: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -5205,7 +5504,7 @@ pretty-format@^24.7.0, pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^25.1.0: +pretty-format@^25.1.0, pretty-format@^25.2.0: version "25.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== @@ -5259,15 +5558,6 @@ qs@^6.5.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystringify@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" @@ -5278,13 +5568,13 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -react-devtools-core@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.6.3.tgz#977d95b684c6ad28205f0c62e1e12c5f16675814" - integrity sha512-+P+eFy/yo8Z/UH9J0DqHZuUM5+RI2wl249TNvMx3J2jpUomLQa4Zxl56GEotGfw3PIP1eI+hVf1s53FlUONStQ== +react-devtools-core@^4.0.6: + version "4.8.2" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.8.2.tgz#4465f2e8de7795564aa20f28b2f3a9737586db23" + integrity sha512-3Lv3nI8FPAwKqUco35oOlgf+4j8mgYNnIcDv2QTfxEqg2G69q17ZJ8ScU9aBnymS28YC1OW+kTxLmdIQeTN8yg== dependencies: shell-quote "^1.6.1" - ws "^3.3.1" + ws "^7" react-dom@^16.13.1: version "16.13.1" @@ -5306,59 +5596,68 @@ react-is@^16.8.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== -react-native-view-shot@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/react-native-view-shot/-/react-native-view-shot-3.1.2.tgz#8c8e84c67a4bc8b603e697dbbd59dbc9b4f84825" - integrity sha512-9u9fPtp6a52UMoZ/UCPrCjKZk8tnkI9To0Eh6yYnLKFEGkRZ7Chm6DqwDJbYJHeZrheCCopaD5oEOnRqhF4L2Q== +react-native-appearance@~0.3.3: + version "0.3.4" + resolved "https://registry.yarnpkg.com/react-native-appearance/-/react-native-appearance-0.3.4.tgz#2cbcbc5142cdc1898c116684f519b16c879cbec2" + integrity sha512-Vz3zdJbAEiMDwuw6wH98TT1WVfBvWjvANutYtkIbl16KGRCigtSgt6IIiLsF3/TSS3y3FtHhWDelFeGw/rtuig== + dependencies: + fbemitter "^2.1.1" + invariant "^2.2.4" + use-subscription "^1.0.0" -react-native-web@~0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.11.7.tgz#d173d5a9b58db23b6d442c4bc4c81e9939adac23" - integrity sha512-w1KAxX2FYLS2GAi3w3BnEZg/IUu7FdgHnLmFKHplRnHMV3u1OPB2EVA7ndNdfu7ds4Rn2OZjSXoNh6F61g3gkA== +react-native-safe-area-context@~3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.0.7.tgz#0f53de7a30d626d82936000f3f6db374ecc4b800" + integrity sha512-dqhRTlIFe5+P1yxitj0C9XVUxLqOmjomeqzUSSY8sNOWVjtIhEY/fl4ZKYpAVnktd8dt3zl13XmJTmRmy3d0uA== + +react-native-web@~0.13.13: + version "0.13.13" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.13.13.tgz#4d933af4049961104be933257f28d0570c425f84" + integrity sha512-Fp8oam7i9CjGvEd1KvchMk9mAbT+SUlYxEbzGx4spBtY3sItSgd+XJV7aJ60OO9w4/3U8npgaWx2K4+TG35yaA== dependencies: array-find-index "^1.0.2" create-react-class "^15.6.2" - debounce "^1.2.0" deep-assign "^3.0.0" fbjs "^1.0.0" - hyphenate-style-name "^1.0.2" - inline-style-prefixer "^5.0.3" + hyphenate-style-name "^1.0.3" + inline-style-prefixer "^5.1.0" normalize-css-color "^1.0.2" prop-types "^15.6.0" react-timer-mixin "^0.13.4" -"react-native@https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz": - version "0.61.4" - resolved "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz#69f3f63c36c9df52611847a67c9d94596c1754cc" +"react-native@https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz": + version "0.62.2" + resolved "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz#7f1e02c79dbbfa4f9fa37946046952763e9a9888" dependencies: "@babel/runtime" "^7.0.0" - "@react-native-community/cli" "^3.0.0-alpha.1" - "@react-native-community/cli-platform-android" "^3.0.0-alpha.1" - "@react-native-community/cli-platform-ios" "^3.0.0-alpha.1" + "@react-native-community/cli" "^4.5.1" + "@react-native-community/cli-platform-android" "^4.5.1" + "@react-native-community/cli-platform-ios" "^4.5.0" abort-controller "^3.0.0" - art "^0.10.0" + anser "^1.4.9" base64-js "^1.1.2" connect "^3.6.5" create-react-class "^15.6.3" escape-string-regexp "^1.0.5" + eslint-plugin-relay "1.4.1" event-target-shim "^5.0.1" fbjs "^1.0.0" fbjs-scripts "^1.1.0" - hermes-engine "^0.2.1" + hermes-engine "0.0.0" invariant "^2.2.4" - jsc-android "^245459.0.0" - metro-babel-register "^0.56.0" - metro-react-native-babel-transformer "^0.56.0" - metro-source-map "^0.56.0" - nullthrows "^1.1.0" + metro-babel-register "0.58.0" + metro-react-native-babel-transformer "0.58.0" + metro-source-map "0.58.0" + nullthrows "^1.1.1" pretty-format "^24.7.0" promise "^7.1.1" prop-types "^15.7.2" - react-devtools-core "^3.6.3" + react-devtools-core "^4.0.6" react-refresh "^0.4.0" regenerator-runtime "^0.13.2" - scheduler "0.15.0" + scheduler "0.17.0" stacktrace-parser "^0.1.3" + use-subscription "^1.0.0" whatwg-fetch "^3.0.0" react-refresh@^0.4.0: @@ -5380,23 +5679,6 @@ react@16.9.0: object-assign "^4.1.1" prop-types "^15.6.2" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -5428,14 +5710,15 @@ readable-stream@^2.0.1, readable-stream@^2.2.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -reason-react-native@reason-react-native/reason-react-native#698/head: - version "0.61.1" - resolved "https://codeload.github.com/reason-react-native/reason-react-native/tar.gz/f12cf53ae41311cb930f4c49abeb18891cd5beb4" +reason-react-native@^0.62.3: + version "0.62.3" + resolved "https://registry.yarnpkg.com/reason-react-native/-/reason-react-native-0.62.3.tgz#a2653e735b5a006c7efcb20dcdf0e2ebe922cf8f" + integrity sha512-PA//0AZVVEB8iJKjYxOoFarXrMhhr7H++k9n7SmwVNy+XeUtwCiTIytqi29dCILtfNieHfT7+WTPpEzg2koOBg== -reason-react@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/reason-react/-/reason-react-0.8.0.tgz#a55143f95a872596c92b54595e7904c03ee7c9db" - integrity sha512-97AfK3eCF6vfP8rnbq3k6GgXsZt//OiPMINTUk5luJ8W0Wt/JaYsDG6eWKP8Zx3gPpxSU1EPjB1pUm6o6fBnFA== +reason-react@^0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/reason-react/-/reason-react-0.9.1.tgz#30a887158200b659aa03e2d75ff4cc54dc462bb0" + integrity sha512-nlH0O2TDy9KzOLOW+vlEQk4ExHOeciyzFdoLcsmmiit6hx6H5+CVDrwJ+8aiaLT/kqK5xFOjy4PS7PftWz4plA== regenerate-unicode-properties@^8.0.2: version "8.1.0" @@ -5489,6 +5772,14 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp.prototype.flags@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + regexpu-core@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" @@ -5557,10 +5848,10 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== requires-port@^1.0.0: version "1.0.0" @@ -5702,15 +5993,15 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@^1.2.1: +sax@^1.2.1, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" - integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== +scheduler@0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" + integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -5836,10 +6127,13 @@ shell-quote@1.6.1, shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +side-channel@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" + integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== + dependencies: + es-abstract "^1.18.0-next.0" + object-inspect "^1.8.0" signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" @@ -5855,6 +6149,22 @@ simple-plist@^1.0.0: bplist-parser "0.1.1" plist "^3.0.1" +simple-plist@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.1.0.tgz#8354ab63eb3922a054c78ce96c209c532e907a23" + integrity sha512-2i5Tc0BYAqppM7jVzmNrI+aEUntPolIq4fDgji6WuNNn1D/qYdn2KwoLhZdzQkE04lu9L5tUoeJsjuJAvd+lFg== + dependencies: + bplist-creator "0.0.8" + bplist-parser "0.2.0" + plist "^3.0.1" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -5927,13 +6237,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - source-map-resolve@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" @@ -5968,6 +6271,11 @@ source-map@^0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -6036,26 +6344,12 @@ stream-buffers@~2.2.0: resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - string-argv@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +string-width@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -6063,6 +6357,15 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" @@ -6081,6 +6384,22 @@ string.prototype.padend@^3.0.0: es-abstract "^1.4.3" function-bind "^1.0.2" +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -6097,13 +6416,6 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" @@ -6111,7 +6423,7 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.2.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -6304,11 +6616,6 @@ ultron@1.0.x: resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po= -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -6337,60 +6644,60 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== -unimodules-app-loader@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.0.2.tgz#0af821db8ae5d7c09d2be3c62ca5aab571d6e9ac" - integrity sha512-ryRAqSndIkCnWAr5jzSL6yjOrCBeIihItELUTykzi4ZxYV9j4Yl0Sd5+VKl1v/UvB6UNdgIGY4oU7S1b173/FA== +unimodules-app-loader@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.2.0.tgz#e3ab8942000b0a0ee3bef2faff7e7e276d84c86a" + integrity sha512-TZCFuyOfX/iVJf3uhy2WmGnQFUGgsfkVRzUb7mCxPTqqdyvqT7aXxCGM3gY+3Y8dPdCRGoG+EA2vrOe3aLU0qw== -unimodules-barcode-scanner-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.1.0.tgz#6d24322b6db556b21eca99a130673c7e07d86559" - integrity sha512-FUau0mm4sBOGmlekltY0iAimJ438w3rtWiv6hcjE77Map527aCH3GyjnZSw78raVxe598EXhWHviuwRxOGINYg== +unimodules-barcode-scanner-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.2.1.tgz#95b90ed96b7c97b2ce48925f28e478781e9165ea" + integrity sha512-7gLHsZ4vkQ5utDmsiBK4jgqBd2+9V7y/iHqi7P2Aqz21RomJF9ruWJMo6R6k2+14IayFbtZGU2+aRx2w/1SAGg== -unimodules-camera-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.1.0.tgz#ea43a8d05b7b1a9053e6b2281b428a1e80853661" - integrity sha512-uwBmZ3XS6vkdzRAmiDhUE/P7fafN7ufXoRuBDGoX/Q9kIiKg61D8HzTmhLMelvJFW6eCjoBJfh/zRyZ54qcjGg== +unimodules-camera-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.2.1.tgz#c46bb4319ab71751275fd581e88e7f93892a34f2" + integrity sha512-ugdWuv1FO6BZTGMIzE2KvA6x5h1CHguRKWJBeYfO8Ih/S51eE7jEyV+kO+xXROFNzWhkcKRJdQp1AutiJBDLtg== -unimodules-constants-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.1.0.tgz#916a8203a887b53cdbcd80b63bc6fd56c85ccfd2" - integrity sha512-TlrqwtKt2G0QH4Fn1ko3tRtLX+eUGSnCBuu1TiAGlsQ5FM/1+AGuJNftHdUwZY1DncIAlw6lhNW+amv0hw5ocg== +unimodules-constants-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.2.1.tgz#fa8af66276fa6784bba0a8c7d7235bdab9f88ce8" + integrity sha512-rQCtVHUVXcjMQWdDlWmOTiKMPNygagq/73U/jt6LqfQLVglx7wMjPWSndgjp3xyM34f6hrydeWXYP6rUgDY0lg== -unimodules-face-detector-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.1.0.tgz#56b4e8c238d8b38f7937f2eb87212d5f87c463f9" - integrity sha512-0qDA6j1WvPM98q32aKvRdFhgSa9Nu8lqNUlrgE740UTYsAmfQl8lM/r2TOuR1k3dVC14q33YvLizSOYM5FLhAw== +unimodules-face-detector-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.2.1.tgz#19b909771bd413e525e5d3934be64f513dfca560" + integrity sha512-6FQQCKzEE2FyVW2HrfJfQTipaBWEi7yV6Fpor9aNj362kzbiEewrDH6b6XT3eBR3xiPbAHzNu6FIfA93X/jfWA== -unimodules-file-system-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.1.0.tgz#adcba6d6dbb58d889175425dedcbb1501f498ab7" - integrity sha512-G2QXhEXY3uHuDD50MWI7C/nesbVlf2C0QHTs+fAt1VpmWYWfdDaeqgO67f/QRz8FH8xm3ul9XvgP6nA+P0xfIg== +unimodules-file-system-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.2.1.tgz#8ce9ca10bc1de91a5824b324bff879e344c6d183" + integrity sha512-Z+hMrWIbTxPiOF7B7x+1bNelsJxxt/qpG3hg/bZjeC5LG6tfiqDHqnMg/Fp1U+ykeV8RoqkHBgzIMJ8seSEdFg== -unimodules-font-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.1.0.tgz#953c1eb6e1f221f0c7d427d7aba78cce599b4b27" - integrity sha512-ZKycNecNN0xxGIo9Db2n8RYU+ijlc+hzpE5acVSiIlmMjTsiOODRLkF++yKsZxglGXn/blgtBLrcTQr4jJV4MQ== +unimodules-font-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.2.1.tgz#7f16100a693a42fc5190bdf11c79158183a5226d" + integrity sha512-dRtXGySUqGeGNRd49rc9GYXjxf/c370mAhdDIxDLWUy+HcQfBRwawweAdpSpTmqC9ksXMbsS0X3CyjY1fv0ufQ== -unimodules-image-loader-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.1.0.tgz#40eeecb1d9409b51595b559023230ce50485b626" - integrity sha512-yU1OPWMtZ9QcW5CxLE1DYWrpJGZ1hRGdoFG3vyk4syUS8QsCPR0HXqcI6KlTpI6wcLA0+HtS+1CmgJCMCUDd4w== +unimodules-image-loader-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.2.1.tgz#e9fb5aab55c6cd38cf2d67840d83856ca636c74c" + integrity sha512-e1yFtuVeVgwlsxWtuE+8uuThAERjB8d3VKF4XUtmOqTGV3+r1MxuV4/R5PmHLmfCa0vJlCpXITi9GeknWE0Yvg== -unimodules-permissions-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.1.0.tgz#146062ee5cde1f00f34ba2692efab5f0c6f55d02" - integrity sha512-3Mz9A4a+iYF57ZeE99nidRPNM7dX3dzTZRvRQyCP5+CvsEmGNlLTIbTQ7fxKECoe3I6cjw94gNSirxIbwb3lDg== +unimodules-permissions-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.2.1.tgz#97e3259d6322f4e2200685eb4b235275378e8b87" + integrity sha512-uBbcriIBdY2kMmVKgSZePDKkM2fviSCKcHnje8wBPK6O/n2UlocVpq4DJjt13KK3YcEMHUAK+D73b12zbfOUTw== -unimodules-sensors-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.1.0.tgz#2d8f5f15a8b00b3f0aab59c3ff474f39735d634f" - integrity sha512-v8nRFRHtl4jFI1aiAmWurPKDuvboSxj0qoqpy/IB3xkkzBfw4KsZQ1b1yomwNbv9cCqIkFxaNAOzyrvVZrz/dA== +unimodules-sensors-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.2.1.tgz#00ac952f30de8b4e486afbb01d81c72ece474298" + integrity sha512-GsBJkk+LSpCJ6WIl3Ik5zk1LfflOVE2RYvH7I9XOJsJP7X8Y1urUOFtldjtwWai6nNhlMyXKAFIF4aoBOQii/A== -unimodules-task-manager-interface@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.1.0.tgz#49fe4431464faa576ba3453a1824030debbf8d35" - integrity sha512-t7FSWOdw4ev9SlqPzfw9rOKlFyryZbrcmjEr0n6HtPXqZ4NRfPqXtYSjoVWswGb3iGr3GPOIHZ/OQ6Z6StL1NA== +unimodules-task-manager-interface@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.2.1.tgz#85cd7dcbcc152a65a56594b8fb8398ee1473a66d" + integrity sha512-GEjay8yVO5aoh1oNGENVU4F28q2XVPOHYSoz7ZFWlg4maKg5qSNqIAwY9I4fVyd60vbFusq3zjeTPK5fGp0dWg== union-value@^1.0.0: version "1.0.1" @@ -6407,6 +6714,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -6433,6 +6745,13 @@ url-parse@^1.4.4: querystringify "^2.1.1" requires-port "^1.0.0" +use-subscription@^1.0.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.4.1.tgz#edcbcc220f1adb2dd4fa0b2f61b6cc308e620069" + integrity sha512-7+IIwDG/4JICrWHL/Q/ZPK5yozEnvRm6vHImu0LKwQlmWGKeiF7mbAenLlK/cTNXrTtXHU/SFASQHzB6+oSJMQ== + dependencies: + object-assign "^4.1.1" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -6458,7 +6777,7 @@ uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^7.0.2: +uuid@^7.0.2, uuid@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== @@ -6500,12 +6819,45 @@ whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== +which-boxed-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz#cbe8f838ebe91ba2471bb69e9edbda67ab5a5ec1" + integrity sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ== + dependencies: + is-bigint "^1.0.0" + is-boolean-object "^1.0.0" + is-number-object "^1.0.3" + is-string "^1.0.4" + is-symbol "^1.0.2" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9, which@^1.3.0: +which-typed-array@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" + integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== + dependencies: + available-typed-arrays "^1.0.2" + es-abstract "^1.17.5" + foreach "^2.0.5" + function-bind "^1.1.1" + has-symbols "^1.0.1" + is-typed-array "^1.1.3" + +which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -6524,13 +6876,14 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" wrap-ansi@^6.2.0: version "6.2.0" @@ -6563,14 +6916,10 @@ ws@^1.1.0, ws@^1.1.5: options ">=0.0.5" ultron "1.0.x" -ws@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" +ws@^7: + version "7.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" + integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== xcode@^2.0.0: version "2.0.0" @@ -6580,6 +6929,21 @@ xcode@^2.0.0: simple-plist "^1.0.0" uuid "^3.3.2" +xcode@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" + integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== + dependencies: + simple-plist "^1.1.0" + uuid "^7.0.3" + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + xmlbuilder@^9.0.7: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" @@ -6607,12 +6971,7 @@ xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - -"y18n@^3.2.1 || ^4.0.0": +y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== @@ -6627,54 +6986,52 @@ yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== +yargs-parser@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: - camelcase "^4.1.0" + camelcase "^5.0.0" + decamelize "^1.2.0" -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== +yargs@^14.2.0: + version "14.2.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== dependencies: - cliui "^4.0.0" + cliui "^5.0.0" decamelize "^1.2.0" find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" + get-caller-file "^2.0.1" require-directory "^2.1.1" - require-main-filename "^1.0.1" + require-main-filename "^2.0.0" set-blocking "^2.0.0" - string-width "^2.0.0" + string-width "^3.0.0" which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" + y18n "^4.0.0" + yargs-parser "^15.0.1" -yargs@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" - integrity sha1-UqzCP+7Kw0BCB47njAwAf1CF20w= - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" +yargs@^15.1.0: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" require-directory "^2.1.1" - require-main-filename "^1.0.1" + require-main-filename "^2.0.0" set-blocking "^2.0.0" - string-width "^2.0.0" + string-width "^4.2.0" which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2"