open-index/open-npm huggingface dataset:
npm package: @real-estate/react
Description: An easy way to use @real-estate/core in React applications
Author: Benjam.Tech
Latest version: 1.0.0

# @real-estate/react
A small package to use @real-estate/core state management with React.

Read the readme of @real-estate/core first, to make sure you understand this. 

#### Step 0: Install the package
```bash
npm install @real-estate/react
```

#### Step 1: Register state in each React component
```typescript
import React from 'react';
import useRStateWatcher from "@real-estate/react"

function Example() {
  useRStateWatcher([state1, state2, state3]) // Register all states to watch for here, and the React component will update as soon as the state changes. 

    // After registering state in useRStateWatcher, you can use it as normally in your component
  return (
    <div>
      <p>{state1.get()}</p>
      <p>{state2.get()}</p>
      <p>{state3.get()}</p>
    </div>
  );
}
```



The hook takes an array with the states to watch for. Then it refreshes the component when any of the states in the array changes. This needs to be done in **every component that uses instance(s) of the RState class**. 



Real-estate is not meant to replace local state in React. But when it comes to global state, real-estate can do a great job.
npm package: @real-life-org/capacitor-zxing-scanner
Description: Capacitor barcode scanner plugin using ZXing (Android) and AVFoundation (iOS) — F-Droid compatible
Author: real-life-org
Latest version: 1.1.0

# Capacitor ZXing Scanner

An F-Droid compatible, drop-in replacement for the official `@capacitor/barcode-scanner` plugin.

## Why this plugin?

The official `@capacitor/barcode-scanner` relies on Google's ML Kit for Android. While performant, ML Kit is a proprietary Google Mobile Service (GMS) and is **not compatible with F-Droid** or "de-Googled" Android devices.

This plugin solves that problem by using the open-source **ZXing** library on Android and native **AVFoundation** on iOS, ensuring your app can be distributed freely without relying on proprietary blob dependencies.

## Features

*   **F-Droid Compatible:** Uses ZXing on Android (no Google Play Services required).
*   **Drop-in Replacement:** Exports the same API and names as `@capacitor/barcode-scanner`, allowing you to migrate by simply changing the import path.
*   **Native Performance:** Utilizes CameraX on Android and AVFoundation on iOS.
*   *Note: Web scanning is not supported. Please use a fallback like `html5-qrcode`.*

## Installation

```bash
npm install @real-life-org/capacitor-zxing-scanner
npx cap sync
```

## Usage

You can use the exported `CapacitorBarcodeScanner` exactly as you would the official plugin:

```typescript
import { CapacitorBarcodeScanner } from '@real-life-org/capacitor-zxing-scanner';

const scanResult = await CapacitorBarcodeScanner.scanBarcode({
  hint: 0 // Optional hint for barcode type
});

console.log('Scanned text:', scanResult.ScanResult);
```

## Limitations

*   **Currently hardcoded to QR Codes:** While the API defines various formats, the underlying native implementations currently only scan for QR Codes.
*   **Web Fallback:** No built-in web implementation.

## Development

```bash
# Install dependencies
npm install

# Build the plugin
npm run build

# Lint the code
npm run lint

# Format the code
npm run fmt
```

## License

MIT