# react-native-grpc-service

> React Native Grpc Service

Latest version **0.1.17** (published 2020-04-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-grpc-service
pnpm add react-native-grpc-service
yarn add react-native-grpc-service
bun add react-native-grpc-service
```

Provides the command `react-native-grpc-service`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.17 |
| Published | 2020-04-24 |
| First published | 2020-04-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 32.6 KB |
| Known vulnerabilities | 0 (+11 in 1 direct dependencies) |
| Install scripts | no |
| Maintainers | quarrant |
| Keywords | grpc, protobuf, react-native |

## Links

- npm: https://www.npmjs.com/package/react-native-grpc-service
- npm.io page: https://npm.io/package/react-native-grpc-service

## Dependencies (2)

- [uglify-js](https://npm.io/package/uglify-js.md) ^3.9.1
- [protobufjs](https://npm.io/package/protobufjs.md) ^6.8.9

## Recent versions

- 0.1.17 (latest) — 2020-04-24
- 0.1.16 — 2020-04-24
- 0.1.15 — 2020-04-24
- 0.1.14 — 2020-04-19
- 0.1.13 — 2020-04-19
- 0.1.12 — 2020-04-19
- 0.1.11 — 2020-04-19
- 0.1.10 — 2020-04-19
- 0.1.9 — 2020-04-19
- 0.1.8 — 2020-04-19
- 0.1.7 — 2020-04-19
- 0.1.6 — 2020-04-19
- 0.1.5 — 2020-04-19
- 0.1.4 — 2020-04-19
- 0.1.2 — 2020-04-19
- … 8 more at https://npm.io/package/react-native-grpc-service/versions

## README

# react-native-grpc-service

## Getting started

`$ npm install react-native-grpc-service --save`

### Mostly automatic installation

`$ react-native link react-native-grpc-service`

### Manual installation

#### iOS

1. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]`
2. Go to `node_modules` ➜ `react-native-grpc-service` and add `RNGrpcService.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libRNGrpcService.a` to your project's `Build Phases` ➜ `Link Binary With Libraries`
4. Run your project (`Cmd+R`)<

#### Android

1. Open up `android/app/src/main/java/[...]/MainActivity.java`

- Add `import com.reactlibrary.RNGrpcServicePackage;` to the imports at the top of the file
- Add `new RNGrpcServicePackage()` to the list returned by the `getPackages()` method

2. Append the following lines to `android/settings.gradle`:
   ```
   include ':react-native-grpc-service'
   project(':react-native-grpc-service').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-grpc-service/android')
   ```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
   ```
     compile project(':react-native-grpc-service')
   ```

## Usage

React Native Grpc Service can be configured by creating a react-native-grpc-service.json at the root of the project. Depending on the type of a package, the set of valid properties is different.

`react-native-grpc-service.json` entry:

```json
{
  "protoDirectory": "../server/proto",
  "protoFile": "app.proto"
}
```

`app.proto` entry:

```protobuf
service TodoService {
  rpc Create (CreateRequest) returns (CreateResponse) {}
}

message CreateRequest {
  string name = 1;
}

message CreateResponse {
  Todo data = 1;
}

message Todo {
  string id = 1;
  string name = 2;
}
```

`GrpcService.ts` entry:

```typescript
import RNGrpcService from 'react-native-grpc-service';
export default new RNGrpcService('localhost:8080');
```

`App.tsx` entry:

```typescript
import React from 'react';
import GrpcService from './GrpcService';

export default class App extends React.Component {
  componentDidMount() {
    GrpcService.TodoService.Create({ name: 'test' }).then(response => ...)
  }
}
```

## Roadmap

Android features

- [ ] Request support
- [ ] Bidirectional stream support
- [ ] Client stream support
- [ ] Server stream support

iOS features

- [ ] Bidirectional stream support
- [ ] Client stream support
- [ ] Server stream support

---
_Source: https://npm.io/package/react-native-grpc-service · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
