open-index/open-npm huggingface dataset:
npm package: @groupher/use-mobile-detect-hook
Description: The React hook to detect if the device is mobile or desktop.
Author: haldarmahesh
Latest version: 2.0.2

[![npm version](https://badge.fury.io/js/use-mobile-detect-hook.svg)](https://badge.fury.io/js/use-mobile-detect-hook)


# modify

add [pr](https://github.com/haldarmahesh/use-mobile-detect-hook/pull/26/files) for caching

# use-mobile-detect-hook

React hook to detect the device type. This hook is able to detect mobile, desktop, android or iOS device.

# Installing

```bash
npm install use-mobile-detect-hook
```

```bash
yarn add use-mobile-detect-hook
```

# Demo

Follow [this link](http://www.maheshhaldar.com/demo-use-mobile-detect-hook/) to check the demo.

# Usage

```javascript
import useMobileDetect from 'use-mobile-detect-hook';

function MyComponent  = (props) => {
  const detectMobile = useMobileDetect();

  return (
      <div>
        is Mobile: { detectMobile.isMobile() } <br/>
        is Desktop: { detectMobile.isDesktop() } <br/>
        is Android: { detectMobile.isAndroid() } <br/>
        is iOS: { detectMobile.isIos() }
      </div>
  );
};
```

# Contributing

If you have any new suggestions, new features, bug fixes, etc. please contribute by raising pull request on the [repository](https://github.com/haldarmahesh/use-mobile-detect-hook).

If you have any issue with the `use-mobile-detect-hook`, open an issue on [Github](https://github.com/haldarmahesh/use-mobile-detect-hook).
npm package: @grouplinknetwork/rn-grouplink-sdk
Description: Plugin for implementing the company's native sdk group link
Author: Vitor Hugo
Latest version: 2.5.0

# grouplink-sdk
This is the Group Link SDK for React Native to use in Android and iOS Devices.

## Instalation

```sh
npm install @grouplinknetwork/rn-grouplink-sdk

yarn add @grouplinknetwork/rn-grouplink-sdk
```

## Usage
How to use the Group Link SDK for React Native.

### Import ```Group Link SDK```
```sh
import * as GroupLinkSDK from '@grouplinknetwork/rn-grouplink-sdk';
```

### startGrouplink

```sh
export default function App() {
  useEffect(()=>{
        GroupLinkSDK.startGrouplink("GROUP_LINK_TOKEN", isDebuggable);
    },[])
  return (
    <View style={styles.container}>
      <Text>Este é um aplicativo de teste</Text>
    </View>
  );
}
```

## Supported methods
All the following methods are included in the Group Link SDK Plugin:


### startGrouplink
Usage: Start the Group Link SDK.


### startGrouplinkIOS
Usage: Start the Group Link SDK only in Android.


### startSDKiOS
Usage: Start the Group Link SDK only in iOS.


### startLocation
Usage: Start the location, and request it in app.


### startLocationIOS
Usage: Start the location in iOS, and request it in app.


### startLocationAndroid
Usage: Start the location in android, and request it in app.


### startBluetooth
Usage: Start the bluetooth, and request it in app.


### startBluetoothAndroid
Usage: Start the bluetooth in Android, and request it in app.


### startBluetoothIOS
Usage: Start the bluetooth in iOS, and request it in app.


### setNotificationToken
Usage: Set notification by a argument required token.


### requestFullIntentPermissionAndroid
Usage: Request the full intent permission in settings of android mobile phone.


### requestScheduleExactAlarmPermissionAndroid
Usage: Request the schedule exact alarm permission.


### setNotificationNameAndroid
Usage: Set a notification name by argument in android.


### getNotificationNameAndroid
Usage: Get the notification name used by a android mobile phone.
npm package: @groupp/httpclient
Description: .Net Core style http client class library for Node.js
Author: Arthur Groupp
Latest version: 1.0.2

# httpclient
.Net Core style http client class library for Node.js

## Installation
Install Fetch as an npm module and save it to your package.json file as a dependency:
    
    npm install --save @groupp/httpclient

## Usage
Library provides `HttpClient` class for sending HTTP requests and receiving HTTP responses. The `HttpClient` class instance acts as a session to send HTTP requests. An `HttpClient` instance is a collection of settings applied to all requests executed by that instance. In addition, every `HttpClient` instance uses its own connection pool, isolating its requests from requests executed by other HttpClient instances.

## Example

```javascript
const { HttpClient } = require('./lib/http-client');
const http = new HttpClient();
http.baseAddress = 'https://jsonplaceholder.typicode.com/';
http.defaultRequestHeaders.set('X-My-Custom-Header', 'AppKey');

async function testGet(id) {
    try {
        const resp = await http.getAsync(`posts/${id}`);
        resp.ensureSuccessStatusCode();
        const result = await resp.content.readAsAsync();
        console.log(result);
    } catch (err) {
        console.error(err);
    }
}

```

```javascript
const { HttpClient } = require('./lib/http-client');
const http = new HttpClient();
http.baseAddress = 'https://jsonplaceholder.typicode.com/';
http.defaultRequestHeaders.set('X-My-Custom-Header', 'AppKey');

async function testPost() {
    try {
        const resp = await http.postAsync(`posts`, {
            title: 'foo',
            body: 'bar',
            userId: 1
        });
        resp.ensureSuccessStatusCode();
        const result = await resp.content.readAsAsync();
        console.log(result);
    } catch (err) {
        console.error(err);
    }
}

```

```javascript
const { HttpClient } = require('./lib/http-client');
const http = new HttpClient();
http.baseAddress = 'https://jsonplaceholder.typicode.com/';
http.defaultRequestHeaders.set('X-My-Custom-Header', 'AppKey');

async function testPut(id) {
    try {
        const resp = await http.putAsync(`posts/${id}`, {
            title: 'foo',
            body: 'bar',
            userId: 1
        });
        resp.ensureSuccessStatusCode();
        const result = await resp.content.readAsAsync();
        console.log(result);
    } catch (err) {
        console.error(err);
    }
}

```

```javascript
const { HttpClient } = require('./lib/http-client');
const http = new HttpClient();
http.baseAddress = 'https://jsonplaceholder.typicode.com/';
http.defaultRequestHeaders.set('X-My-Custom-Header', 'AppKey');

async function testDelete(id) {
    try {
        const resp = await http.deleteAsync(`posts/${id}`);
        resp.ensureSuccessStatusCode();
        const result = await resp.content.readAsAsync();
        console.log(result);
    } catch (err) {
        console.error(err);
    }
}

```

## Testing

    npm test
npm package: @groupp/json-with-extends
Description: How often did you think about code repetition in your configuration files? How great would it be to extend it in a manner similar to “tsconfig.json” does it? So, let’s do it.
Author: Arthur Groupp
Latest version: 1.0.0-next.1

# JSON that can extend each other

How often did you think about code repetition in your configuration files? How great would it be to extend it in a manner similar to “tsconfig.json” does it? So, let’s do it.

## Example
```json
// base.json
{
  "ship": "Enterprise"
}

// kirk.json
{
  "extends": "./base.json",
  "name": "Kirk"
}

// spok.json
{
  "extends": "./base.json",
  "name": "Spok"
}
```
```typescript
const kirk = await parseJson('./kirk.json');
/*
`kirk` will be:
{
  "ship": "Enterprise",
  "name": "Kirk"
}
*/

const spok = await parseJson('./spok.json');
/*
`spok` will be:
{
  "ship": "Enterprise",
  "name": "Spok"
}
*/
```
Feel free to place your jsons in different directories, override properties and use comments inside it.

Feedback and stars are highly appreciated 😊
npm package: @groupp/random
Description: Node.js library for generation various cryptographically strong pseudo-random numbers and sequences
Author: Arthur Groupp
Latest version: 1.0.1

# Random
Node.js library for generation various cryptographically strong pseudo-random numbers and sequences.

## Installation
Install Random as an npm module and save it to your package.json file as a dependency:
    
    npm install --save @groupp/random

## Usage
Library provides class Random with static methods for generating various numbers, arrays and sequences with randimized content. Generation based on usage of Node.js `crypto` module and won't work in browser environment. Thanks to `crypto` module it generates cryptographically strong values that you can use in various tasks like shuffling arrays or generation "short ids". Most of the methods built to work asynchronous and won't block your API's. Just resolve returning promisees and enjoy the results.

Library written on `Typescript` with type definitions provided, so feel free to use with any `Typescript` environment like [NestJS](https://nestjs.com/).

## Example

```javascript
const { Random } = require('@groupp/random');

// generate buffer with 16 random bytes
const bytes = await Random.nextBytes(16);

// generate random int number between 0 and 10
const randomInt10 = await Random.next();

// generate random int number between 0 and 100
const randomInt100 = await Random.next(100);

// shuffle array
const testArray = [1, 2, 3, 4, 5, 6, 7, 8];
const shuffledArray = await Random.shuffleArray(testArray);

// generate alpha numeric random sequence
const shortId = await Random.generateAlphanumSequence(12);
```
For more examples see test suite.


## Test

    npm test

## Feedback
Any feedback and stars will be highly appreciated.