open-index/open-npm huggingface dataset:
npm package: @speedtools/react-native-internet-speed
Description: React Native module to check connectivity + ping + download + upload speed
Latest version: 1.0.1

# @speedtools/react-native-internet-speed

A lightweight React Native utility to measure internet connectivity, ping, download speed, and upload speed.

## Usage

```js
import { check } from "@speedtools/react-native-internet-speed";

const result = await check();
console.log(result);
/*
{
  ping: 23.4,
  downloadSpeed: 12.3, // Mbps
  uploadSpeed: 3.7,    // Mbps
  isConnected: true
}
*/
```
npm package: @speedui/n8n-nodes-firebase-admin
Description: n8n nodes for Firebase Admin SDK (Firestore, Firestore Enterprise Native, Auth, Storage, AppCheck, FCM)
Author: Speed UI
Latest version: 2.1.0

# n8n-nodes-firebase-admin

This is an n8n community node. It lets you use Firebase Admin SDK in your n8n workflows.

Firebase Admin SDK provides server-side functionality for Firebase services including Firestore (NoSQL database), Authentication, and more.

## Licensing

This package uses a license key system to enable and track usage. Every time you create or use a Firebase Admin API credential, you must provide a valid license key.

### Getting a License Key

1. Visit the [Firebase Admin License Server](https://speedui.net)
2. Create an account or log in
3. Purchase or request a license key
4. Copy your license key
5. Contact speedui.info@gmail.com

### Configuring Your License

1. In n8n, go to **Credentials**
2. Create or edit a **Firebase Admin API** credential
3. Enter your **License Key** in the "License Key" field
4. Enter your **Service Account Key JSON**
5. Save the credential

## Compatibility

_State the minimum n8n version, as well as which versions you test against. You can also include any known version incompatibility issues._
npm package: @speedup/async-http-server
Description: Asynchronous wrapper for HTTP server
Author: SpeedUP
Latest version: 1.0.2

# Asynchronous wrapper for NodeJS HTTP

Instead of using old-fashioned callback functions to initialize an HTTP server, use promises (Async API).

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i @speedup/async-http-server --save

# Yarn
yarn install @speedup/async-http-server

```

## Usage

### JavaScript

```js

const AsyncHTTPServer = require('@speedup/async-http-server').default;

const instance = new AsyncHTTPServer({
    port: 3000, // it can be a pipe, too
    handler: (req, res) => {} // Any request-handler compatible function
});

// Legacy way

instance.start({
    port: 4000, // you can override it here
    handler: (req, res) => {} // you can override the handler as well.
})
.then(asyncServer => {

    console.info('HTTP server started!');
})
.catch(err => {

    console.error('Failed to start HTTP server', err);
    process.exit(1);
});

// Modern way

try {
    await instance.start({
        port: 4000, // you can override it here
        handler: (req, res) => {} // you can override the handler as well.
    });
}
catch(err) {

    console.error('Failed to start HTTP server', err);
    process.exit(1);
}

```

### TypeScript

```ts

import AsyncHTTPServer from '@speedup/async-http-server';

const instance = new AsyncHTTPServer({
    port: 3000, // it can be a pipe, too
    handler: (req, res) => {} // Any request-handler compatible function
});

// Legacy way

instance.start({
    port: 4000, // you can override it here
    handler: (req, res) => {} // you can override the handler as well.
})
.then(asyncServer => {

    console.info('HTTP server started!');
})
.catch(err => {

    console.error('Failed to start HTTP server', err);
    process.exit(1);
});

// Modern way

try {
    await instance.start({
        port: 4000, // you can override it here
        handler: (req, res) => {} // you can override the handler as well.
    });
}
catch(err) {

    console.error('Failed to start HTTP server', err);
    process.exit(1);
}

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@speedup/async-http-server.svg?color=orange
[npm-url]: https://npmjs.org/package/@speedup/async-http-server
[downloads-image]: https://img.shields.io/npm/dt/@speedup/async-http-server.svg
[downloads-url]: https://npmjs.org/package/@speedup/async-http-server
npm package: @speedup/error
Description: SpeedUP standard error library
Author: SpeedUP
Latest version: 1.0.8

# SpeedUP SMS notification

SpeedUP standard error library.

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i @speedup/error --save

# Yarn
yarn install @speedup/error

```

## Usage

```js

const { ApplicationError, HttpError } = require('@speedup/error');

throw new ApplicationError({
    code: 'E_NOT_FOUND'
});

```

```ts

import { ApplicationError, HttpError } from '@speedup/error';

throw new ApplicationError({
    code: 'E_NOT_FOUND'
});

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@speedup/error.svg?color=orange
[npm-url]: https://npmjs.org/package/@speedup/error
[downloads-image]: https://img.shields.io/npm/dt/@speedup/error.svg
[downloads-url]: https://npmjs.org/package/@speedup/error
npm package: @speedup/health-service
Description: Health service for your NodeJS applications
Author: Open Project Templates
Latest version: 1.0.1

# NodeJS module (TypeScript)

Try to describe your module briefly here. This is the first part that takes the user's attention.

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i your-module-name --save

# Yarn
yarn install your-module-name

```

## Usage

```js

const MyModule = require('your-module-name');

const instance = new MyModule({
    /**
     * Your configuration
     */
});

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@itemsjs/config.svg?color=orange
[npm-url]: https://npmjs.org/package/@itemsjs/config
[downloads-image]: https://img.shields.io/npm/dt/@itemsjs/config.svg
[downloads-url]: https://npmjs.org/package/@itemsjs/config
npm package: @speedup/method-chainer
Description: Chain your JavaScript/TypeScript callbacks/promises together to handle the most complex workflows in a functional way.
Author: SpeedUP
Latest version: 1.0.5
Deprecated: This package is deprecated in favor of async package. Try installing async package from caolan.

# JavaScript/TypeScript method chainer

Chain your JavaScript/TypeScript callbacks/promises together to handle the most complex workflows in a functional way.

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i @speedup/method-chainer --save

# Yarn
yarn install @speedup/method-chainer

```

## Usage

#### JavaScript

```js


const MethodChainer = require('@speedup/method-chainer');

const factory = new MethodChainer.ConductorFactory();

const adderAsync = (c) => async (n) => n + c;
const adderCallback = (c) => (n, callback) => callback(null, n + c);

factory
    .handle(MethodChainer.HandlerFactory.wrapAsyncMethod(adderAsync(2)))
    (MethodChainer.HandlerFactory.wrapCallbackMethod(adderCallback(2)));

const conductor = factory.toConductor();

conductor.run(2, (err, result) => {

    // result is equal to 6
});

conductor.runAsync(2)
    .then(result => {

        // result is equal to 6
    })
    .catch(err => { });

// inside an awaitable function
const result = await conductor.runAsync(2);
// result is equal to 6

```

#### TypeScript

```ts


import * as MethodChainer from '@speedup/method-chainer';

const factory = new MethodChainer.ConductorFactory();

// these are method factories
const adderAsync = (c: number) => async (n: number) => n + c;
const adderCallback = (c: number) => (n: number, callback: (err: any, result: number) => void): void => callback(null, n + c);

// add your flow here
factory
    .handle<number, number>(MethodChainer.HandlerFactory.wrapAsyncMethod(adderAsync(2)))
    <number>(MethodChainer.HandlerFactory.wrapCallbackMethod(adderCallback(2)));

// generate conductor
const conductor = factory.toConductor();

// run using callback
conductor.run(2, (err, result) => {

    // result is equal to 6
});

// run using promise
conductor.runAsync(2)
    .then(result => {

        // result is equal to 6
    })
    .catch(err => { });

// run using await keyword
// inside an awaitable function
const result = await conductor.runAsync(2);
// result is equal to 6

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@speedup/method-chainer.svg?color=orange
[npm-url]: https://npmjs.org/package/@speedup/method-chainer
[downloads-image]: https://img.shields.io/npm/dt/@speedup/method-chainer.svg
[downloads-url]: https://npmjs.org/package/@speedup/method-chainer
npm package: @speedup/micro-guard-method
Description: Method guard for zeit/micro compatible services
Author: SpeedUp
Latest version: 1.0.0

# SpeedUP method guard for microservices

This module enables the method check for zeit/micro package.

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i @speedup/micro-guard-method --save

# Yarn
yarn install @speedup/micro-guard-method

```

## Usage

```js

const micro = require('micro');
const MethodGuard = require('@speedup/micro-guard-method');

const methodGuard = MethodGuard('GET');
// or
const methodGuard = MethodGuard(['GET', 'POST']);

module.exports = async (req, res) => {

    try {

        methodGuard(req);

        // do whatever you want
        // ...
    }
    catch(err) {

        // catch the error here
    }
};

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@speedup/micro-guard-method.svg?color=orange
[npm-url]: https://npmjs.org/package/@speedup/micro-guard-method
[downloads-image]: https://img.shields.io/npm/dt/@speedup/micro-guard-method.svg
[downloads-url]: https://npmjs.org/package/@speedup/micro-guard-method
npm package: @speedup/notification-sms-smsir
Description: SMS notification implementation for SMS.ir
Author: SpeedUp
Latest version: 1.0.2

# SpeedUP SMS notification

SMS notification using [SMS.ir](https://www.sms.ir) provider.

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i @speedup/notification-sms-smsir --save

# Yarn
yarn install @speedup/notification-sms-smsir

```

## Usage

```js

const SMSSender = require('@speedup/notification-sms-smsir');

const sms = new SMSSender({
    apiKey: 'your-api-key',
    secret: 'api-key-secret'
});

await sms.send('09123456780', 'Thanks for choosing us!', {
    lineNumber: '30001234',
    sendDateTime: '', // means immediately
    canContinueInCaseOfError: true
});

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@speedup/notification-sms-smsir.svg?color=orange
[npm-url]: https://npmjs.org/package/@speedup/notification-sms-smsir
[downloads-image]: https://img.shields.io/npm/dt/@speedup/notification-sms-smsir.svg
[downloads-url]: https://npmjs.org/package/@speedup/notification-sms-smsir
npm package: @speedup/string-to
Description: Convert all the string variables into their actual data type using different parsers
Author: Open Project Templates
Latest version: 1.0.4

# @SpeedUP/string-to

Convert all the string values in an array, an object or a single property to the best primitive type.

[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]

## Installation

```sh

# NPM
npm i @speedup/string-to --save

# Yarn
yarn install @speedup/string-to

```

## Usage

### Javascript

```js

const { tryAnyToPrimitive, parseArrayItemsSync, parseObjectKeysSync, } = require('@speedup/string-to');

// supports single-level array as well as N-level array
// check test/index.spec.ts to see more examples
const originalArrayD1 = [
    '123456',
    '0.123456',
    'yes',
    'November 2018',
    null,
    undefined,
];

const parsedArray = parseArrayItemsSync(originalArrayD1);

/*
    parsedArray = [
        123456,
        0.123456,
        true,
        new Date('November 2018'),
        null,
        undefined,
    ]
*/

// supports single-level object as well as N-level object
// check test/index.spec.ts to see more examples
const originalObjectD1 = {
    name: 'John Doe',
    age: '35',
    birthday: 'November 1985',
    married: 'yes',
};

const parsedObject = parseObjectKeysSync(originalObjectD1);

/*
    parsedArray = {
        name: 'John Doe',
        age: 35,
        birthday: new Date('November 1985'),
        married: true,
    }
*/

```

### TypeScript

```ts

import { tryAnyToPrimitive, parseArrayItemsSync, parseObjectKeysSync, } from '@speedup/string-to';

// supports single-level array as well as N-level array
// check test/index.spec.ts to see more examples
const originalArrayD1 = [
    '123456',
    '0.123456',
    'yes',
    'November 2018',
    null,
    undefined,
];

const parsedArray = parseArrayItemsSync(originalArrayD1);

/*
    parsedArray = [
        123456,
        0.123456,
        true,
        new Date('November 2018'),
        null,
        undefined,
    ]
*/

// supports single-level object as well as N-level object
// check test/index.spec.ts to see more examples
const originalObjectD1 = {
    name: 'John Doe',
    age: '35',
    birthday: 'November 1985',
    married: 'yes',
};

const parsedObject = parseObjectKeysSync(originalObjectD1);

/*
    parsedArray = {
        name: 'John Doe',
        age: 35,
        birthday: new Date('November 1985'),
        married: true,
    }
*/

```

And you're good to go!

## License

MIT

[npm-image]: https://img.shields.io/npm/v/@speedup/string-to.svg?color=orange
[npm-url]: https://npmjs.org/package/@speedup/string-to
[downloads-image]: https://img.shields.io/npm/dt/@speedup/string-to.svg
[downloads-url]: https://npmjs.org/package/@speedup/string-to