diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 13764bb..0000000 --- a/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -# Tell github that .re and .rei files are Reason, sometimes recognized as C/C++ -*.re linguist-language=Reason -*.rei linguist-language=Reason diff --git a/.gitignore b/.gitignore index 28c4ad2..c5c6151 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,8 @@ node_modules # npm unused lock file (we use yarn.lock) package-lock.json -# ReScript / Reason / Ocaml artifacts -#*.bs.js # we do want this files to ensure zero-cost +# ReScript artifacts +# *.bs.js # we do want this files to ensure zero-cost .bsb.lock **/lib/bs **/lib/ocaml diff --git a/CHANGELOG.md b/CHANGELOG.md index f1eb842..7bc2113 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changelog of `@reason-react-native/permissions` +# Changelog of `@rescript-react-native/permissions` ## 2.2.1 - 2020-11-17 diff --git a/LICENSE b/LICENSE index 2561ad4..84b2002 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 @reason-react-native contributors +Copyright (c) 2019 @rescript-react-native contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index ad804f0..4036bf7 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -# `@reason-react-native/permissions` +# `@rescript-react-native/permissions` -[![Build Status](https://github.com/reason-react-native/permissions/workflows/Build/badge.svg)](https://github.com/reason-react-native/permissions/actions) -[![Version](https://img.shields.io/npm/v/@reason-react-native/permissions.svg)](https://www.npmjs.com/@reason-react-native/permissions) -[![Chat](https://img.shields.io/discord/235176658175262720.svg?logo=discord&colorb=blue)](https://reasonml-community.github.io/reason-react-native/discord/) +[![Build Status](https://github.com/rescript-react-native/permissions/workflows/Build/badge.svg)](https://github.com/rescript-react-native/permissions/actions) +[![Version](https://img.shields.io/npm/v/@rescript-react-native/permissions.svg)](https://www.npmjs.com/@rescript-react-native/permissions) +[![ReScript Forum](https://img.shields.io/discourse/posts?color=e6484f&label=ReScript%20Forum&server=https%3A%2F%2Fforum.rescript-lang.org)](https://forum.rescript-lang.org/) -[ReScript](https://rescript-lang.org) / [Reason](https://reasonml.github.io) bindings for +[ReScript](https://rescript-lang.org) bindings for [`react-native-permissions`](https://github.com/react-native-community/react-native-permissions). Exposed as `ReactNativePermissions` module. -`@reason-react-native/permissions` X.y.\* means it's compatible with +`@rescript-react-native/permissions` X.y.\* means it's compatible with `react-native-permissions` X.y.\* ## Installation @@ -20,22 +20,22 @@ is properly installed & configured by following their installation instructions, you can install the bindings: ```console -npm install @reason-react-native/permissions +npm install @rescript-react-native/permissions # or -yarn add @reason-react-native/permissions +yarn add @rescript-react-native/permissions ``` -`@reason-react-native/permissions` should be added to `bs-dependencies` in your +`@rescript-react-native/permissions` should be added to `bs-dependencies` in your `bsconfig.json`: ```diff { //... "bs-dependencies": [ - "reason-react", - "reason-react-native", + "@rescript/react", + "rescript-react-native", // ... -+ "@reason-react-native/permissions" ++ "@rescript-react-native/permissions" ], //... } @@ -43,7 +43,7 @@ yarn add @reason-react-native/permissions ## Usage -```reason +```rescript open ReactNative; let requestCamera = () => { @@ -77,11 +77,11 @@ releases. ## Contribute Read the -[contribution guidelines](https://github.com/reason-react-native/.github/blob/master/CONTRIBUTING.md) +[contribution guidelines](https://github.com/rescript-react-native/.github/blob/master/CONTRIBUTING.md) before contributing. ## Code of Conduct We want this community to be friendly and respectful to each other. Please read -[our full code of conduct](https://github.com/reason-react-native/.github/blob/master/CODE_OF_CONDUCT.md) +[our full code of conduct](https://github.com/rescript-react-native/.github/blob/master/CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated. diff --git a/bsconfig.json b/bsconfig.json index 489ef2b..56ed0e9 100644 --- a/bsconfig.json +++ b/bsconfig.json @@ -1,9 +1,6 @@ { - "name": "@reason-react-native/permissions", - "refmt": 3, - "reason": { - "react-jsx": 3 - }, + "name": "@rescript-react-native/permissions", + "reason": { "react-jsx": 3 }, "package-specs": { "module": "commonjs", "in-source": true diff --git a/package.json b/package.json index b55c24e..201303a 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@reason-react-native/permissions", + "name": "@rescript-react-native/permissions", "description": "ReScript bindings for react-native-permissions.", "version": "2.2.1", "publishConfig": { @@ -8,19 +8,17 @@ "peerDependencies": { "react-native-permissions": "2.2.0" }, - "repository": "https://github.com/reason-react-native/permissions.git", + "repository": "https://github.com/rescript-react-native/permissions.git", "license": "MIT", "keywords": [ "rescript", - "reason", - "reasonml", - "bucklescript", "react-native" ], "files": [ "*.md", "bsconfig.json", - "src/**/*.re", + "src/**/*.res", + "src/**/*.resi", "src/**/*.js", "!src/**/*.bs.js" ], @@ -37,7 +35,7 @@ "release": "npmpub" }, "devDependencies": { - "bs-platform": "^8.2.0", + "bs-platform": "^9.0.0", "husky": "^4.0.0", "lint-staged": "^10.0.0", "npmpub": "^5.0.0", diff --git a/src/ReactNativePermissions.re b/src/ReactNativePermissions.re deleted file mode 100644 index 6f79172..0000000 --- a/src/ReactNativePermissions.re +++ /dev/null @@ -1,213 +0,0 @@ -type permission; - -module Android = { - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external accept_handover: permission = "ACCEPT_HANDOVER"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external access_background_location: permission = - "ACCESS_BACKGROUND_LOCATION"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external access_coarse_location: permission = "ACCESS_COARSE_LOCATION"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external access_fine_location: permission = "ACCESS_FINE_LOCATION"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external activity_recognition: permission = "ACTIVITY_RECOGNITION"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external add_voicemail: permission = "ADD_VOICEMAIL"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external answer_phone_calls: permission = "ANSWER_PHONE_CALLS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external body_sensors: permission = "BODY_SENSORS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external call_phone: permission = "CALL_PHONE"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external camera: permission = "CAMERA"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external get_accounts: permission = "GET_ACCOUNTS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external process_outgoing_calls: permission = "PROCESS_OUTGOING_CALLS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_calendar: permission = "READ_CALENDAR"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_call_log: permission = "READ_CALL_LOG"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_contacts: permission = "READ_CONTACTS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_external_storage: permission = "READ_EXTERNAL_STORAGE"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_phone_numbers: permission = "READ_PHONE_NUMBERS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_phone_state: permission = "READ_PHONE_STATE"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external read_sms: permission = "READ_SMS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external receive_mms: permission = "RECEIVE_MMS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external receive_sms: permission = "RECEIVE_SMS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external receive_wap_push: permission = "RECEIVE_WAP_PUSH"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external record_audio: permission = "RECORD_AUDIO"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external send_sms: permission = "SEND_SMS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external use_sip: permission = "USE_SIP"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external write_calendar: permission = "WRITE_CALENDAR"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external write_call_log: permission = "WRITE_CALL_LOG"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external write_contacts: permission = "WRITE_CONTACTS"; - [@bs.module "react-native-permissions"] - [@bs.scope ("PERMISSIONS", "ANDROID")] - external write_external_storage: permission = "WRITE_EXTERNAL_STORAGE"; -}; - -module Ios = { - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external app_tracking_transparency: permission = "APP_TRACKING_TRANSPARENCY"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external bluetooth_peripheral: permission = "BLUETOOTH_PERIPHERAL"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external calendars: permission = "CALENDARS"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external camera: permission = "CAMERA"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external contacts: permission = "CONTACTS"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external face_id: permission = "FACE_ID"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external location_always: permission = "LOCATION_ALWAYS"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external location_when_in_use: permission = "LOCATION_WHEN_IN_USE"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external media_library: permission = "MEDIA_LIBRARY"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external microphone: permission = "MICROPHONE"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external motion: permission = "MOTION"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external photo_library: permission = "PHOTO_LIBRARY"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external reminders: permission = "REMINDERS"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external siri: permission = "SIRI"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external speech_recognition: permission = "SPEECH_RECOGNITION"; - [@bs.module "react-native-permissions"] [@bs.scope ("PERMISSIONS", "IOS")] - external storekit: permission = "STOREKIT"; -}; - -type permissionStatus; - -/* This feature is not available (on this device / in this context) */ -[@bs.module "react-native-permissions"] [@bs.scope "RESULTS"] -external unavailable: permissionStatus = "UNAVAILABLE"; - -/* The permission has not been requested / is denied but requestable */ -[@bs.module "react-native-permissions"] [@bs.scope "RESULTS"] -external denied: permissionStatus = "DENIED"; - -/* The permission is granted */ -[@bs.module "react-native-permissions"] [@bs.scope "RESULTS"] -external granted: permissionStatus = "GRANTED"; - -/* The permission is denied and not requestable anymore */ -[@bs.module "react-native-permissions"] [@bs.scope "RESULTS"] -external blocked: permissionStatus = "BLOCKED"; - -// methods - -[@bs.module "react-native-permissions"] -external check: permission => Js.Promise.t(permissionStatus) = "check"; - -[@bs.module "react-native-permissions"] -external checkMultiple: - array(permission) => Js.Promise.t(Js.Dict.t(permissionStatus)) = - "checkMultiple"; - -type requestRationale = { - title: string, - message: string, - buttonPositive: option(string), - buttonNegative: option(string), - buttonNeutral: option(string), -}; - -[@bs.module "react-native-permissions"] -external request: permission => Js.Promise.t(permissionStatus) = "request"; - -[@bs.module "react-native-permissions"] -external requestMultiple: - array(permission) => Js.Promise.t(Js.Dict.t(permissionStatus)) = - "requestMultiple"; - -[@bs.module "react-native-permissions"] -external requestWithRational: - (permission, requestRationale) => Js.Promise.t(permissionStatus) = - "request"; - -type notificationSettings = { - // properties only availables on iOS - // unavailable settings will not be included in the response object - alert: option(bool), - badge: option(bool), - sound: option(bool), - lockScreen: option(bool), - carPlay: option(bool), - notificationCenter: option(bool), - criticalAlert: option(bool), -}; - -type requestNotificationsResult = { - status: permissionStatus, - settings: notificationSettings, -}; - -[@bs.module "react-native-permissions"] -external checkNotifications: unit => Js.Promise.t(requestNotificationsResult) = - "checkNotifications"; - -// only used on iOS -// string can be -// "alert" -// "badge" -// "sound" -// "criticalAlert" -// "carPlay" -// "provisional" -[@bs.module "react-native-permissions"] -external requestNotifications: - array(string) => Js.Promise.t(requestNotificationsResult) = - "requestNotifications"; - -[@bs.module "react-native-permissions"] -external openSettings: unit => Js.Promise.t(unit) = "openSettings"; diff --git a/src/ReactNativePermissions.res b/src/ReactNativePermissions.res new file mode 100644 index 0000000..5889e0c --- /dev/null +++ b/src/ReactNativePermissions.res @@ -0,0 +1,178 @@ +type permission + +module Android = { + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external accept_handover: permission = "ACCEPT_HANDOVER" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external access_background_location: permission = "ACCESS_BACKGROUND_LOCATION" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external access_coarse_location: permission = "ACCESS_COARSE_LOCATION" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external access_fine_location: permission = "ACCESS_FINE_LOCATION" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external activity_recognition: permission = "ACTIVITY_RECOGNITION" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external add_voicemail: permission = "ADD_VOICEMAIL" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external answer_phone_calls: permission = "ANSWER_PHONE_CALLS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external body_sensors: permission = "BODY_SENSORS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external call_phone: permission = "CALL_PHONE" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external camera: permission = "CAMERA" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external get_accounts: permission = "GET_ACCOUNTS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external process_outgoing_calls: permission = "PROCESS_OUTGOING_CALLS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_calendar: permission = "READ_CALENDAR" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_call_log: permission = "READ_CALL_LOG" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_contacts: permission = "READ_CONTACTS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_external_storage: permission = "READ_EXTERNAL_STORAGE" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_phone_numbers: permission = "READ_PHONE_NUMBERS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_phone_state: permission = "READ_PHONE_STATE" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external read_sms: permission = "READ_SMS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external receive_mms: permission = "RECEIVE_MMS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external receive_sms: permission = "RECEIVE_SMS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external receive_wap_push: permission = "RECEIVE_WAP_PUSH" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external record_audio: permission = "RECORD_AUDIO" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external send_sms: permission = "SEND_SMS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external use_sip: permission = "USE_SIP" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external write_calendar: permission = "WRITE_CALENDAR" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external write_call_log: permission = "WRITE_CALL_LOG" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external write_contacts: permission = "WRITE_CONTACTS" + @module("react-native-permissions") @scope(("PERMISSIONS", "ANDROID")) + external write_external_storage: permission = "WRITE_EXTERNAL_STORAGE" +} + +module Ios = { + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external app_tracking_transparency: permission = "APP_TRACKING_TRANSPARENCY" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external bluetooth_peripheral: permission = "BLUETOOTH_PERIPHERAL" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external calendars: permission = "CALENDARS" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external camera: permission = "CAMERA" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external contacts: permission = "CONTACTS" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external face_id: permission = "FACE_ID" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external location_always: permission = "LOCATION_ALWAYS" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external location_when_in_use: permission = "LOCATION_WHEN_IN_USE" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external media_library: permission = "MEDIA_LIBRARY" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external microphone: permission = "MICROPHONE" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external motion: permission = "MOTION" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external photo_library: permission = "PHOTO_LIBRARY" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external reminders: permission = "REMINDERS" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external siri: permission = "SIRI" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external speech_recognition: permission = "SPEECH_RECOGNITION" + @module("react-native-permissions") @scope(("PERMISSIONS", "IOS")) + external storekit: permission = "STOREKIT" +} + +type permissionStatus + +/* This feature is not available (on this device / in this context) */ +@module("react-native-permissions") @scope("RESULTS") +external unavailable: permissionStatus = "UNAVAILABLE" + +/* The permission has not been requested / is denied but requestable */ +@module("react-native-permissions") @scope("RESULTS") +external denied: permissionStatus = "DENIED" + +/* The permission is granted */ +@module("react-native-permissions") @scope("RESULTS") +external granted: permissionStatus = "GRANTED" + +/* The permission is denied and not requestable anymore */ +@module("react-native-permissions") @scope("RESULTS") +external blocked: permissionStatus = "BLOCKED" + +// methods + +@module("react-native-permissions") +external check: permission => Js.Promise.t = "check" + +@module("react-native-permissions") +external checkMultiple: array => Js.Promise.t> = + "checkMultiple" + +type requestRationale = { + title: string, + message: string, + buttonPositive: option, + buttonNegative: option, + buttonNeutral: option, +} + +@module("react-native-permissions") +external request: permission => Js.Promise.t = "request" + +@module("react-native-permissions") +external requestMultiple: array => Js.Promise.t> = + "requestMultiple" + +@module("react-native-permissions") +external requestWithRational: (permission, requestRationale) => Js.Promise.t = + "request" + +type notificationSettings = { + // properties only availables on iOS + // unavailable settings will not be included in the response object + alert: option, + badge: option, + sound: option, + lockScreen: option, + carPlay: option, + notificationCenter: option, + criticalAlert: option, +} + +type requestNotificationsResult = { + status: permissionStatus, + settings: notificationSettings, +} + +@module("react-native-permissions") +external checkNotifications: unit => Js.Promise.t = "checkNotifications" + +// only used on iOS +// string can be +// "alert" +// "badge" +// "sound" +// "criticalAlert" +// "carPlay" +// "provisional" +@module("react-native-permissions") +external requestNotifications: array => Js.Promise.t = + "requestNotifications" + +@module("react-native-permissions") +external openSettings: unit => Js.Promise.t = "openSettings" diff --git a/yarn.lock b/yarn.lock index 676f0da..4f5a793 100644 --- a/yarn.lock +++ b/yarn.lock @@ -251,10 +251,10 @@ braces@^3.0.1: dependencies: fill-range "^7.0.1" -bs-platform@^8.2.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-8.3.2.tgz#c307f1cc2d2397c3d088c7f3b62e9f493283cdcf" - integrity sha512-iOTi5JIlNPoCPq31NS9ET79FLyCpwTL2JZbgHz35LzY9Bch1iDtbBR3FVGhRbjphxelAP4fLlFONfUNp5Y3a5g== +bs-platform@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-9.0.2.tgz#a6eac70eb8924a322556dacaccbfbc9b2a0d3a37" + integrity sha512-Ye9JqJ4Oa7mcjjoOVRYI8Uc2Cf8N7jQLWDcdUplY7996d/YErSR7WitmV7XnSwr4EvdrbwjEsg1NxNjUQv3ChA== callsites@^3.0.0: version "3.1.0"