open-index/open-npm huggingface dataset:
npm package: @shortwave/watchable
Description: A small library to expose state into React.
Author: Tyler Rockwood
Latest version: 0.1.1

# Watchable

A small library to expose state into React.

## Features

- 🧑‍🏫 **Easy to learn:** Small API surface - all you need are two classes and a hook to get started.
- 🤏 **Small:** 2.15 kb bundle minified and gzipped. Supports ESM and tree shaking.
- ⚡ **Fast:** Minimized renders with built-in memoization.
- ⚛️  **React:** Built for React in mind with hooks built in.
- ⌨️  **Typescript:** It's written in TypeScript and types are exported along with the library.

## Introduction

Watchables are objects that store your application state. They can be subscribed too for updates, but at the same time the existing value can be retrieved synchronously, even when transforms are applied. This library pairs well with React and comes with a couple of [hooks](https://github.com/shortwave/watchable/blob/main/src/hooks.ts) such as `useWatchable` and `useMemoizedWatchable`.

A watchable can be used a simple way to expose state into your React components without needing a full blown state management system like Redux or MobX.

See our [blog post](https://www.shortwave.com/blog/) for more background on how this library came to be.

## Basic usage

See the example/ and tests/ directory for a full listing!

```typescript
import { WatchableSubject } from '@shortwave/watchable';

const v = WatchableSubject.of(0);

console.log(`Count is at ${w.getValue()}`);
// output: Count is at 0

/* Subscriptions to a value synchronously fires, so updates cannot be missed. */
v.watch((count) => {
  console.log(`Count is ${w.getValue()}`);
});
// output: Count is 0

v.update(1);
// output: Count is 1

v.update(1);
// no output - the value is memoized
```

<!-- TODO(rockwotj): We should probably put a full API listing in the readme. -->

## Contributing

We're using [DTS](https://github.com/weiran-zsd/dts-cli) to manage this library.

The library resides inside `/src`, and there is a [Vite-based](https://vitejs.dev) playground for it inside `/example`.

The recommended workflow is to run DTS in one terminal:

```bash
npm start # or yarn start
```

This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.

Then run the example inside another:

```bash
cd example
npm i # or yarn to install dependencies
npm start # or yarn start
```

The default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure DTS is running in watch mode like we recommend above. 

To do a one-off build, use `npm run build` or `yarn build`.

To run tests, use `npm test` or `yarn test`.
npm package: @shoryabaj/formyx
Description: A form validation Library for React built with TypeScript.
Author: Shorya Baj
Latest version: 0.1.4

# Formyx
---
tree -I 'node_modules|dist'  
.
├── README.md
├── package-lock.json
├── package.json
├── rollup.config.mjs
├── src
│   ├── components
│   │   ├── InputField.tsx
│   │   └── page.tsx
│   ├── global.d.ts
│   ├── index.tsx
│   ├── styles
│   │   └── formyx.css
│   ├── types
│   │   ├── index.ts
│   │   └── inputTypes.ts
│   └── types-entry.ts
└── tsconfig.json

5 directories, 13 files
---
npm package: @shosai/rc4
Description: RC4 random number generator
Author: Oleg Grenrus
Latest version: 0.2.0

# rc4

[RC4](http://en.wikipedia.org/wiki/RC4) random number generator

[![Build Status](https://secure.travis-ci.org/phadej/rc4.svg?branch=master)](http://travis-ci.org/phadej/rc4)
[![NPM version](https://badge.fury.io/js/rc4.svg)](http://badge.fury.io/js/rc4)
[![Dependency Status](https://gemnasium.com/phadej/rc4.svg)](https://gemnasium.com/phadej/rc4)
[![Code Climate](https://img.shields.io/codeclimate/github/phadej/rc4.svg)](https://codeclimate.com/github/phadej/rc4)

## Synopsis

```js
var RC4 = require("rc4");

var generator = new RC4("my seed"); // string or array of integers
// without the seed RNG is seeded with random data from Math.random

// byte := integer ∈ [0, 255]
console.log(generator.randomByte());

// float := number ∈ [0, 1)
console.log(generator.randomFloat());

// save & load state
var state = generator.currentState();
console.log(generator.randomFloat()); // 0.14815412228927016
generator.setState(state);
console.log(generator.randomFloat()); // 0.14815412228927016
```

## RC4small

There is also `RC4small` generator, with smaller internal state:

```
var RC4small = require("rc4").RC4small;

var generator = new RC4small("my seed");

var stateString = generator.currentStateString(); // 18 character hexadecimal string
console.log(generator.randomFloat());  // 0.9362740234937519
generator.setStateString(stateString);
console.log(generator.randomFloat()); // 0.9362740234937519
```

## API

Both `RC4` and `RC4small` have following random value generating methods:

```
randomByte   : () ⇒ { x : ℕ | x ∈ [0, 255] }
randomUInt32 : () ⇒ { x : ℕ | x ∈ [0, 2^32-1] }
randomFloat  : () ⇒ { x : R | x ∈ [0, 1) }
random       : (a : ℤ)        ⇒ { x : ℤ | x ∈ [0, a] }
random       : (a : ℤ, b : ℤ) ⇒ { x : ℤ | x ∈ [a, b] }
```

## Changelog

- **0.1.5** &mdash; *2015-04-24* &mdash; Better isInteger, random works with bigger ranges
- **0.1.4** &mdash; *2015-02-25* &mdash; Dev dependencies update
npm package: @shota0006/react-native-local-permission-check_alpha
Description: A package to handle the local network permission after iOS 14
Author: Shota Iwamoto
Latest version: 0.8.0

# react-native-local-permission-check_alpha

A package to handle the local network permission after iOS 14

## Installation

```sh
npm install react-native-local-permission-check_alpha
```

## Usage

```js
import { multiply } from 'react-native-local-permission-check_alpha';

// ...

const result = await multiply(3, 7);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @shotacoffee/utilhooks
Description: A collection of React hooks useful for startup development
Author: shotaCoffee
Latest version: 1.0.1

# Util Hooks
開発時によく作る hooks をライブラリ化したものです。

今あるもの
- Slack 通知（useSlack）

今後作ろうかなーと思ってるもの（他にこういうのあるあるだよねってのあれば、issue 立てて PR いただけると幸いです。）
- AWS Cognito をいい感じにできるもの
- Firebase Authentication をいい感じにできるもの
- window イベント系
- React Hook Form といい感じにできるもの
npm package: @shotamatsuda/rollup-plugin-glslify
Description: rollup-plugin-glslify =====================
Author: Shota Matsuda
Latest version: 1.0.0

rollup-plugin-glslify
=====================

[![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat
)](http://mit-license.org)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Getting Started

### Installing

```sh
npm install @shotamatsuda/rollup-plugin-glslify
```

## License

The MIT License

Copyright (C) 2016-Present Shota Matsuda

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
npm package: @shotamatsuda/rollup-plugin-image
Description: rollup-plugin-image ===================
Author: Shota Matsuda
Latest version: 0.0.3

rollup-plugin-image
===================

[![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat
)](http://mit-license.org)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Getting Started

### Installing

```sh
npm install @shotamatsuda/rollup-plugin-image
```

## License

The MIT License

Copyright (C) 2016-Present Shota Matsuda

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
npm package: @shotamatsuda/rollup-plugin-nullify
Description: rollup-plugin-nullify =====================
Author: Shota Matsuda
Latest version: 0.0.2

rollup-plugin-nullify
=====================

[![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat
)](http://mit-license.org)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Getting Started

### Installing

```sh
npm install @shotamatsuda/rollup-plugin-nullify
```

## License

MIT License

Copyright (C) 2018-Present Shota Matsuda

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
npm package: @shotamatsuda/rollup-plugin-three-example
Description: rollup-plugin-three-example ===========================
Author: Shota Matsuda
Latest version: 0.2.0

rollup-plugin-three-example
===========================

[![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat
)](http://mit-license.org)

## Getting Started

### Installing

```sh
npm install @shotamatsuda/rollup-plugin-three-example
```

## License

The MIT License

Copyright (C) 2016-Present Shota Matsuda

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.