open-index/open-npm huggingface dataset:
npm package: @jayarjo/scheduler
Description: Schedule a task to execute after some period, regularly with a given interval, just given amount of times, or simply until it succeeds.
Author: Davit Barbakadze
Latest version: 1.1.3

# scheduler

```js
import { scheduler } from '@jayarjo/scheduler'

// run once in certain amount of time units (milliseconds by default)
scheduler.runIn(fn, 5000) // invoke fn in 5 secs

// run consequently with the specified interval
const taskId = scheduler.runEvery(fn, 1000) // invoke every second

// task can be removed if required after certain amount of time
setTimeout(() => {
  scheduler.removeTask(taskId)
}, 5000)
```
npm package: @jayarjo/utm
Description: Bidirectional UTM-WGS84 converter
Author: Timothy Gu
Latest version: 1.1.3

# utm

Bidirectional UTM-WGS84 converter for JavaScript.

[![npm version](https://img.shields.io/npm/v/utm.svg)](https://www.npmjs.org/package/utm)
[![Travis](https://img.shields.io/travis/TimothyGu/utm.svg)](https://travis-ci.org/TimothyGu/utm)

Translated directly from [Tobias Bieniek's implementation in Python](https://github.com/Turbo87/utm).

### Disclaimer:

This is a fork of [utm](https://www.npmjs.com/package/utm) library by Timothy Gu, which hasn't been updated
in four years already and contains serious bug that might shift coordinates in some case by 20-30cm when 
converting with `toLatLng`. Bug has been fixed in the original implementation in Python, but never backported 
to JS.

## Usage

```js
var utm = require('utm')
```

### `utm.toLatLon(easting, northing, zoneNum, zoneLetter, northern, strict = true)`

Convert from UTM-WGS84 to latitude/longitude coordinates. One and only one of
`zoneLetter` and `northern` must be specified. `strict` option specifies
whether easting and northing are checked against their respective ranges.

Returns `{ latitude, longitude }`.

### `utm.fromLatLon(latitude, longitude[, zoneNum])`

Convert from latitude/longitude coordinates to UTM-WGS84. `zoneNum` can be set
to force a specific zone number.

Returns `{ easting, northing, zoneNum, zoneLetter }`.
npm package: @jaybee4real/react-native-carousel-loop
Description: A typescript based infinite carousel for react-native
Author: Sanna Jammeh
Latest version: 1.0.9

## react-native-carousel-loop
Fork of https://github.com/sannajammeh/react-native-carousel-loop with bug fixes.
Typescript implementation of https://github.com/phil-r/react-native-looped-carousel with small fixes.

## Example usage

```tsx
import React, { Component } from 'react';
import { Text, View, Dimensions } from 'react-native';
import Carousel from 'react-native-looped-carousel';

const { width, height } = Dimensions.get('window');
const size = { width, height };
export default function Example() {
  const handleNextPage = (index: number) => {
    console.log(index);
  };
  return (
    <View style={{ flex: 1 }}>
      <Carousel delay={2000} style={size} autoplay pageInfo onAnimateNextPage={handleNextPage}>
        <View style={[{ backgroundColor: '#BADA55' }, size]}>
          <Text>1</Text>
        </View>
        <View style={[{ backgroundColor: 'red' }, size]}>
          <Text>2</Text>
        </View>
        <View style={[{ backgroundColor: 'blue' }, size]}>
          <Text>3</Text>
        </View>
      </Carousel>
    </View>
  );
}
```

### Props

```typescript
interface CarouselProps {
  autoplay?: boolean; // false
  delay?: number; // 4000
  currentPage?: number; // 0
  style?: ViewProps['style']; // undefined
  pageStyle?: ViewProps['style']; // undefined
  contentContainerStyle?: ViewProps['style']; // undefined
  pageInfo?: boolean; // false
  pageInfoBackgroundColor?: string; // rgba(0, 0, 0, 0.25)
  pageInfoTextStyle?: TextProps['style']; // undefined
  pageInfoBottomContainerStyle?: ViewProps['style']; // undefined
  pageInfoTextSeparator?: string; // ' / '
  bullets: boolean; // false
  bulletsContainerStyle?: TextProps['style']; // undefined
  bulletStyle?: TextProps['style']; // undefined
  arrows?: boolean; // false
  arrowsContainerStyle?: TextProps['style']; // undefined
  arrowStyle?: TextProps['style']; // undefined
  leftArrowStyle?: TextProps['style']; // undefined
  rightArrowStyle?: TextProps['style']; // undefined
  leftArrowText?: string; // undefined
  rightArrowText?: string; // undefined
  chosenBulletStyle?: TextProps['style']; // undefined
  onAnimateNextPage?: (index: number) => void; // undefined
  onPageBeingChanged?: (index: number) => void; // undefined
  swipe?: boolean; // true
  isLooped?: boolean; // true
}
```
npm package: @jaybee4real/react-native-gesture-handler
Description: Experimental implementation of a new declarative API for gesture handling in react-native
Author: Krzysztof Magiera
Latest version: 1.10.31

<img src="https://user-images.githubusercontent.com/16062886/117444014-2d1ffd80-af39-11eb-9bbb-33c320599d93.png" width="100%" alt="React Native Gesture Handler by Software Mansion">


### Declarative API exposing platform native touch and gesture system to React Native.
#### (with a hack from to animate/add drag to release gesture for swipeable)

React Native Gesture Handler provides native-driven gesture management APIs for building best possible touch-based experiences in React Native.

With this library gestures are no longer controlled by the JS responder system, but instead are recognized and tracked in the UI thread.
It makes touch interactions and gesture tracking not only smooth, but also dependable and deterministic.

## Installation

Check [getting started](https://docs.swmansion.com/react-native-gesture-handler/docs/#installation) section of our docs for the detailed installation instructions.

## Documentation

Check out our dedicated documentation page for info about this library, API reference and more: [https://docs.swmansion.com/react-native-gesture-handler/docs/](https://docs.swmansion.com/react-native-gesture-handler/docs/)

## Examples

If you want to play with the API but don't feel like trying it on a real app, you can run the example project. Clone the repo, go to the `examples/Example/` folder and run:

```bash
  yarn install
```

If you are running on ios, run `pod install` in the ios folder

Run `yarn start` to start the metro bundler

Run `react-native run-android` or `react-native run-ios` (depending on which platform you want to run the example app on).

You will need to have an Android or iOS device or emulator connected as well as `react-native-cli` package installed globally.

## React native Support

| version | react-native version |
| ------- | -------------------- |
| 1.4.0+  | 0.60.0+              |
| 1.1.0+  | 0.57.2+              |
| <1.1.0  | 0.50.0+              |

It may be possible to use newer versions of react-native-gesture-handler on React Native with version <= 0.59 by reverse Jetifying.
Read more on that here https://github.com/mikehardy/jetifier#to-reverse-jetify--convert-node_modules-dependencies-to-support-libraries
## License

Gesture handler library is licensed under [The MIT License](LICENSE).

## Credits

This project is supported by amazing people from [Expo.io](https://expo.io) and [Software Mansion](https://swmansion.com)

[![expo](https://avatars2.githubusercontent.com/u/12504344?v=3&s=100 'Expo.io')](https://expo.io)
[![swm](https://logo.swmansion.com/logo?color=white&variant=desktop&width=150&tag=react-native-gesture-handler-github 'Software Mansion')](https://swmansion.com)
npm package: @jaybee4real/unit-converter
Description: The package converts units from the desired type to the specified type.
Author: Okoroji Faith Joseph
Latest version: 1.0.11

## Installation

```
npm install @jaybee4real/unit-converter --save
```

## Usage

The library converts units from the desired type to the specified type.

```js

convert(
    value, /* = actual value to convert */
    from, /* = unit to convert to */
    to, /* = unit to convert to */
    shouldRound /* = if value should be rounded */ 
);
```

```js
import convert from "units-converter";

console.log(convert(1, "cm", "mm")); // 10
console.log(convert(1, "metres", "feet")); // 3.28084

// weight conversions
console.log(convertWeight(1, "kg", "pounds")); // 2.20462
console.log(convertWeight(1, "kg", "ounces")); // 35.274
console.log(convertWeight(1, "kg", "grams")); // 1000
console.log(convertWeight(1, "kg", "kilograms")); // 1

//
console.log(convertDistance(1, "km", "miles")); // 0.621371
console.log(convertDistance(1, "km", "yards")); // 1.09361
console.log(convertDistance(1, "km", "meters")); // 1000
console.log(convertDistance(1, "km", "kilometers")); // 1

// convert to and from feetInches (5' 3")

cconsole.log(convertDistance(100, "cm", "ftIn", "true")) // 3' 3"
console.log(convertDistance(`2' 12"`, "ftIn", "cm", true)) // 91
console.log(convertDistance(91, "cm", "ftIn", "true")) // 2' 12"
```
npm package: @jaybeeuu/conv
Description: A utility for loading a typesafe env.
Author: Josh Bickley-Wallace
Latest version: 1.0.3

# Conv

A utility for loading a typesafe env.

## Usage

Conv reads a `.env` file, in the current working directory, using `dotenv`. Then validates the variables you expect to find in it.

```ts
import { conv } from "@jaybeeuu/conv";

interface Environment {
  SECRET_KEY: string;
  URL: string;
  USE_COMPRESSION?: string;
}

const env: Environment = conv(
  "SECRET_KEY",
  { name: "URL", default: "https://dev.your-domain.com" },
  { name: "USE_COMPRESSION", optional: true },
); // ✅
```

If the environment doesn't match expectations then an exception will be thrown.
npm package: @jaybeeuu/eslint-config
Description: The shared eslint config for my packages.
Author: Josh Bickley-Wallace
Latest version: 5.0.0

# eslint-config

[![npm](https://img.shields.io/npm/v/@jaybeeuu/eslint-config.svg)](https://www.npmjs.com/package/@jaybeeuu/eslint-config)

Eslint config used by the packages in this repo to ensure consistent rules throughout.

There are two rule sets, `base`,
use by all packages and `jest` which adds configuration for jest unit tests.

## usage

```json
{
  "extends": ["@jaybeeuu/eslint-config/base"]
}
```
npm package: @jaybeeuu/feed-webpack-plugin
Description: A simple webpack wrapper for the feed library.
Author: Josh Bickley-Wallace
Latest version: 0.0.7

# feed-webpack-plugin

[![npm](https://img.shields.io/npm/v/@jaybeeuu/feed-webpack-plugin.svg)](https://www.npmjs.com/package/@jaybeeuu/feed-webpack-plugin)

Wraps
[feed](https://github.com/jpmonette/feed#readme)
in a webpack plugin so it can be used to generate and feeds and inject them into the webpack output.

## Usage

```js
const { FeedWebpackPlugin } = require("@jaybeeuu/feed-webpack-plugin");
export default {
  plugins: [
    new FeedWebpackPlugin({
      atomFileName: "feeds/atom.xml", // The file name that the Atom feed should be written to. If undefined no atom feed will be emitted.
      rssFileName: "feeds/rss.xml", // The file name that the rss feed should be written to. If undefined no rss feed will be emitted.
      feedOptions: {
        /* Options used to build the feed. Passed onto new Feed. */
      },
      items: [
        /* Items to include on the feed. Passed onto feed.addItem */
      ],
    }),
  ],
};
```

For more details on the options for `feedOptions` or `items` see the [feed](https://github.com/jpmonette/feed#readme) docs.
npm package: @jaybeeuu/is
Description: The utility functions used by my application
Author: Josh Bickley-Wallace
Latest version: 2.1.1

# is

[![npm](https://img.shields.io/npm/v/@jaybeeuu/is.svg)](https://www.npmjs.com/package/@jaybeeuu/is)

A collection of functions which allow you to build up validators, and types for incoming data.
Use at the edges of your application, to ensure type safety when deserializing for example.

This is pretty rough and experimental, but it's quick, and small. If you want something more full featured and production read then try [`runtypes`](https://www.npmjs.com/package/runtypes).

Example:

```ts
import {
  type CheckedBy,
  assert,
  isTuple,
  is,
  isLiteral,
  isObject,
  isArrayOf,
  isUnionOf,
  TypeAssertion,
} from "@jaybeeuu/is";

const isPosition = isTuple(is("string"), is("string"));

const isRank = isUnionOf(
  isLiteral("captain"),
  isLiteral("first mate"),
  isLiteral("officer"),
  isLiteral("ensign"),
);

const isCrewMember = isObject({
  name: is("string"),
  age: is("number"),
  rank: isRank,
});

const isShip = isObject({
  affiliation: isUnionOf(isLiteral("Royal Navy"), isLiteral("Pirate")),
  position: isPosition,
  guns: is("number"),
  name: is("string"),
  crew: isArrayOf(isCrewMember),
});
type Ship = CheckedBy<typeof isShip>;
const assertIsShip: TypeAssertion<Ship> = assert(isShip);

const thing: unknown = {
  affiliation: "Pirate",
  position: ["13°05′52″N", "59°37′06″W"],
  name: "Flying Dutchman",
  crew: [
    {
      age: 1392,
      name: "Willem van der Decken",
      rank: "captain",
    },
  ],
  guns: 68,
};

assertIsShip(thing);
const ship: Ship = thing;
```
npm package: @jaybeeuu/preact-async
Description: Some async utilities for use with preact.
Author: Josh Bickley-Wallace
Latest version: 7.0.3

# Preact Utilities

[![npm](https://img.shields.io/npm/v/@jaybeeuu/preact-async.svg)](https://www.npmjs.com/package/@jaybeeuu/preact-async)

Shareable hooks and components for use with [Preact](https://preactjs.org).
npm package: @jaybeeuu/preact-recoilless
Description: Preact bindings for my home grown state management... of course.
Author: Josh Bickley-Wallace
Latest version: 11.0.1

# preact-recoilless

[![npm](https://img.shields.io/npm/v/@jaybeeuu/preact-recoilless.svg)](https://www.npmjs.com/package/@jaybeeuu/preact-recoilless)

Provides hook bindings to allow
[recoilless](../recoilless/readme.md)
to be used in a
[preact](https://preactjs.com/)
application.

Most important are [`useValue`](./src/use-value.spec.tsx) and [`useAction`](./src/use-action.spec.tsx).
They are pretty simple. Have a look at the (linked) unit tests for examples of how to use them.
npm package: @jaybeeuu/reading-time-cli
Description: A simple CLI for reading-time.
Author: Josh Bickley-Wallace
Latest version: 1.0.5

# reading-time-cli

[![npm](https://img.shields.io/npm/v/@jaybeeuu/reading-time-cli.svg)](https://www.npmjs.com/package/@jaybeeuu/reading-time-cli)

A really simple Command Line Interface for [reading-time](https://www.npmjs.com/package/reading-time).

## Options

| Option                 | Description                                                          | Type      |
| ---------------------- | -------------------------------------------------------------------- | --------- |
| (positional) file-path | The path to the file to read.                                        | [string]  |
| --version              | Show version number                                                  | [boolean] |
| --help                 | Show help                                                            | [boolean] |
| -b, --word-bound       | A regular expression to match word boundaries.                       | [string]  |
| -p, --words-per-minute | The number of words per minute to use when calculating reading time. | [number]  |
| -m, --minutes-only     | Only display the reading time (in minutes).                          | [boolean] |
| -t, --time-only        | Only display the reading time (in milliseconds).                     | [boolean] |
npm package: @jaybeeuu/recoilless
Description: Home grown own state management... of course.
Author: Josh Bickley-Wallace
Latest version: 11.0.1

# recoilless

[![npm](https://img.shields.io/npm/v/@jaybeeuu/recoilless.svg)](https://www.npmjs.com/package/@jaybeeuu/recoilless)

A slightly too fully fledged state management library based loosely on concepts found in [recoil](https://recoiljs.org/).

The basic idea is to have small blocks of state,
atoms in Recoil or values in Recoilless (I prefer clear names),
to which listeners can subscribe.
When the value updates the subscribers are notified.

Values can either be primitive or derived.
Primitive values are simple static values, numbers, strings etc. they are the building blocks of the state.

Derived values take primitive values,
and calculate (or retrieve, since they can be asynchronous) some value.
The calculation (or fetch) is only performed when the dependent values update.

Finally actions allow a function to be called which might update values. It may make use of values, but will only have a snapshot of them, i.e. will not setup a subscription.

For more details on how to use recoilless have a look at the unit tests for
[primitive values](./src/store-primitive-value.spec.ts)
,
[derived values](./src/store-derived-value.spec.ts)
and
[actions](./src/store-actions.spec.ts)
.
npm package: @jaybirdgroup/data-hub-connector-facebook
Description: Connector to interact with Facebook API in score of Data Hub.
Author: Andrew Kovalenko
Latest version: 1.0.13

# README #

This README would normally document whatever steps are necessary to get your application up and running.

### What is this repository for? ###

* Quick summary
* Version
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)

### How do I get set up? ###

* Summary of set up
* Configuration
* Dependencies
* Database configuration
* How to run tests
* Deployment instructions

### Contribution guidelines ###

* Writing tests
* Code review
* Other guidelines

### Who do I talk to? ###

* Repo owner or admin
* Other community or team contact
npm package: @jaybirdgroup/data-hub-connector-mailchimp
Description: Connector to interact with MailChimp API in score of Data Hub.
Author: Andrew Kovalenko
Latest version: 1.0.6

# README #

This README would normally document whatever steps are necessary to get your application up and running.

### What is this repository for? ###

* Quick summary
* Version
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)

### How do I get set up? ###

* Summary of set up
* Configuration
* Dependencies
* Database configuration
* How to run tests
* Deployment instructions

### Contribution guidelines ###

* Writing tests
* Code review
* Other guidelines

### Who do I talk to? ###

* Repo owner or admin
* Other community or team contact
npm package: @jaybirdgroup/data-hub-connector-twitter
Description: Connector to interact with Twitter API in scope of Data Hub.
Author: Andrew Kovalenko
Latest version: 1.0.2

# README #

This README would normally document whatever steps are necessary to get your application up and running.

### What is this repository for? ###

* Quick summary
* Version
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)

### How do I get set up? ###

* Summary of set up
* Configuration
* Dependencies
* Database configuration
* How to run tests
* Deployment instructions

### Contribution guidelines ###

* Writing tests
* Code review
* Other guidelines

### Who do I talk to? ###

* Repo owner or admin
* Other community or team contact
npm package: @jaybirdgroup/jb-gulp-lesshint-stylish
Description: Stylish reporter for gulp-lesshint
Author: Márk Sági-Kazár. Modified by symbianm.
Latest version: 1.0.1

# Gulp Lesshint Stylish reporter

Stylish reporter for [gulp-lesshint](https://github.com/lesshint/gulp-lesshint), uses [jshint-stylish](https://github.com/sindresorhus/jshint-stylish) to do the actual reporting:

Fork from [here](https://github.com/sagikazarmark/gulp-lesshint-stylish). 

## Install

```bash
$ npm install --save-dev gulp-lesshint-stylish
```


## Usage

```js
var lesshint = require('gulp-lesshint');
var noop = function () {};
var stylish = require('gulp-lesshint-stylish');

gulp.task('default', function () {
	gulp.src([ 'file.less' ])
		.pipe(lesshint())      // enforce style guide
		.on('error', noop) // don't stop on error
		.pipe(stylish());  // log style errors
});
```


## Credits

Based on the work of [Christoph Werner](http://twitter.com/gonsfx): [gulp-jscs-stylish](https://github.com/gonsfx/gulp-jscs-stylish)