open-index/open-npm huggingface dataset:
npm package: @gimly-blockchain/rn-gimlyid-qr-code-scanner
Description: A QR code scanner component for Gimly ID
Latest version: 0.1.0

<h1 align="center">
  <br>
  <a href="https://www.gimly.io/"><img src="https://avatars.githubusercontent.com/u/64525639?s=200&v=4" alt="Gimly" width="180"></a>
  <br>A GimlyID QR code scanner component for React-Native<br>
</h1>


A GimlyID QR code scanner component for React-Native. This scanner can scan QR codes generated by the [gimlyid-qr-code-generator](https://github.com/Sphereon-Opensource/gimlyid-qr-code-generator) component.

### Example
 ```js
import GimlyIDQRCodeScanner from '@gimly-blockchain/rn-gimlyid-qr-code-scanner';

function App() {
  return (
    <View>
      <GimlyIDQRCodeScanner style={{flex: 1, width: '100%'}} onRead={content => console.log(content)}/>
    </View>
  );
}
 ```

Note: Notice the style attribute added to the camera in order for it to take the full screen. Without these styles, you may not be able to see the camera render on your screen, as it will not occupy any space.

### API
| prop                 | type                         | default value | description                                                                                |
| -------------------- | ---------------------------- | ------------- | ------------------------------------------------------------------------------------------ |
| `style`              | `React.CSSProperties`        |               | Sets the styling of the qr code scanner.                                                   |
| `onRead`             | `Function`                   |               | The onRead will be called when the QR code is read and will have access to the QR content. |

### Usage

#### Android

You must add the following permissions to android/app/src/main/AndroidManifest.xml:
 ```xml
<uses-permission android:name="android.permission.CAMERA" />
 ```

You’ll also need to set the dimension strategy in android/app/build.gradle. It has no default and you’ll get an error if you don’t define it:
 ```xml
defaultConfig {
  applicationId "com.cameraexample"
  minSdkVersion rootProject.ext.minSdkVersion
  missingDimensionStrategy 'react-native-camera', 'general'
  targetSdkVersion rootProject.ext.targetSdkVersion
  versionCode 1
  versionName "1.0"
 ```

Note: The dimension strategy should normally be set to general as above. However, you can set it to mlkit instead, if you’d like to use MLKit for QR recognition.

#### iOS

You must update Info.plist with a usage description for camera

 ```
...
<key>NSCameraUsageDescription</key>
<string>Your own description of the purpose</string>
...
 ```

### Installation
```shell
yarn add @gimly-blockchain/rn-gimlyid-qr-code-scanner
```

### Build
```shell
yarn build
```

### Utility scripts
There are other utility scripts that help with development.

* `yarn fix` - runs `eslint --fix` as well as `prettier` to fix code style.