open-index/open-npm huggingface dataset:
npm package: @noflux/react
Description: Official React bindings for noflux
Latest version: 1.0.0

# @noflux/react

Official React bindings for [Noflux](https://github.com/nofluxjs/noflux).

| Package | Version | Dependencies | DevDependencies | Build |
|--------|-------|------------|----------|----------|
| `@noflux/react` | [![npm (scoped)](https://img.shields.io/npm/v/@noflux/react.svg?maxAge=86400)](https://www.npmjs.com/package/@noflux/react) | [![Dependency Status](https://david-dm.org/nofluxjs/noflux-react.svg)](https://david-dm.org/nofluxjs/noflux-react) | [![devDependency Status](https://david-dm.org/nofluxjs/noflux-react/dev-status.svg)](https://david-dm.org/nofluxjs/noflux-react?type=dev) | [![Build Status](https://travis-ci.org/nofluxjs/noflux-react.svg?branch=next)](https://travis-ci.org/nofluxjs/noflux-react) |

## Usage

All Noflux documentations can be found [here](https://github.com/nofluxjs/noflux).

You can read the online version at [noflux.js.org](https://noflux.js.org/).

## Contribution

For development:

```bash
npm install
npm run dev
```

For publish:

```bash
npm publish
```
npm package: @noflux/state
Description: A state store for noflux
Author: i@malash.me
Latest version: 1.0.1

# @noflux/state

The internal state store for [Noflux](https://github.com/nofluxjs/noflux).


| Package | Version | Dependencies | DevDependencies | Build |
|--------|-------|------------|----------|----------|
| `@noflux/state` | [![npm (scoped)](https://img.shields.io/npm/v/@noflux/state.svg?maxAge=86400)](https://www.npmjs.com/package/@noflux/state) | [![Dependency Status](https://david-dm.org/nofluxjs/noflux-state.svg)](https://david-dm.org/nofluxjs/noflux-state) | [![devDependency Status](https://david-dm.org/nofluxjs/noflux-state/dev-status.svg)](https://david-dm.org/nofluxjs/noflux-state?type=dev) | [![Build Status](https://travis-ci.org/nofluxjs/noflux-state.svg?branch=next)](https://travis-ci.org/nofluxjs/noflux-state) |


## Usage

All Noflux documentations can be found [here](https://github.com/nofluxjs/noflux).

You can read the online version at [noflux.js.org](https://noflux.js.org/).

## Contribution

For development:

```bash
npm install
npm run dev
```

For publish:

```bash
npm publish
```
npm package: @nofrills/collections
Description: Set of useful (maybe) collection types.
Author: opensource@nativecode.com
Latest version: 10.0.1

# @nofrills/collections

[![npm](https://img.shields.io/npm/v/@nofrills/collections.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/collections)

# Install

```bash
npm install --save @nofrills/collections
```

### Deprecations
`Chain` and `ChainAsync` have been deprecated in [3.5.0](https://www.npmjs.com/package/@nofrills/collections/v/3.5.0). A new package, [@nofrills/patterns](https://www.npmjs.com/package/@nofrills/patterns) was created in order to consolidate the various abstract patterns in use throughout the libraries.

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/console
Description: Provides a simple abstraction for console application lifecycle management.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/console

[![npm](https://img.shields.io/npm/v/@nofrills/console.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/console)

# Install

```bash
npm install --save @nofrills/console
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/fs
Description: Provides a simple, Promise-based interface to the file system.
Author: opensource@nativecode.com
Latest version: 12.0.0

# @nofrills/fs

[![npm](https://img.shields.io/npm/v/@nofrills/fs.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/fs)

# Install

```bash
npm install --save @nofrills/fs
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/html
Description: Provides some HTML utility functions.
Author: opensource@nativecode.com
Latest version: 10.0.3

# @nofrills/html

[![npm](https://img.shields.io/npm/v/@nofrills/html.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/html)

# Install

```bash
npm install --save @nofrills/html
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/http
Description: Provides a simple, Fetch-based HTTP client.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/http

[![npm](https://img.shields.io/npm/v/@nofrills/http.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/http)

# Install

```bash
npm install --save @nofrills/http
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/lincoln
Description: Provides a slim abstraction for logging.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/lincoln

[![npm](https://img.shields.io/npm/v/@nofrills/lincoln.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/lincoln)

NOTE: As of 0.9.0, this packge merely provides a slim abstraction for logging. Not useful by itself,
as it provides no output. Please see one of the compatible packages, such as `@nofrills/lincoln-debug`.

# Install

```bash
npm install --save @nofrills/lincoln
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/lincoln-console
Description: Provides a simple logger to the console.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/lincoln-console

[![npm](https://img.shields.io/npm/v/@nofrills/lincoln-console.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/lincoln-console)

# Install

```bash
npm install --save @nofrills/lincoln-console
```

# Quick Start

### Javascript

```javascript
const logging = require('@nofrills/lincoln-console')
const logger = logging.CreateLogger('myapp')
logger.debug('Hello, cruel Javascript world!')
```

### Typescript

```typescript
import { CreateLogger } from '@nofrills/lincoln-console'
const logger = CreateLogger'myapp')
logger.debug('Hello, cruel Typescript world!')
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/lincoln-debug
Description: Provides a simple logger using the debug package.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/lincoln-debug

[![npm](https://img.shields.io/npm/v/@nofrills/lincoln-debug.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/lincoln-debug)

# Install

```bash
npm install --save @nofrills/lincoln-debug
```

# Quick Start

### Javascript

```javascript
const logging = require('@nofrills/lincoln-debug')
const logger = logging.CreateLogger('myapp')
logger.debug('Hello, cruel Javascript world!')
```

### Typescript

```typescript
import { CreateLogger } from '@nofrills/lincoln-debug'
const logger = CreateLogger'myapp')
logger.debug('Hello, cruel Typescript world!')
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/locations
Description: Provides some common pattern abstractions.
Author: opensource@nativecode.com
Latest version: 10.1.1

# @nofrills/locations

[![npm](https://img.shields.io/npm/v/@nofrills/locations.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/locations)

# Install

```bash
npm install --save @nofrills/locations

yarn add @nofrills/locations
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/patterns
Description: Provides some common pattern abstractions.
Author: opensource@nativecode.com
Latest version: 10.0.2

# @nofrills/patterns

[![npm](https://img.shields.io/npm/v/@nofrills/patterns.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/patterns)

# Install

```bash
npm install --save @nofrills/patterns

yarn add @nofrills/patterns
```

# Patterns
Library to implement some common abstract patterns that occasionally useful in your day to day tasks. There are some design patterns as well as just general abstract patterns not associated with the 23 well-known design patterns.

## [DESIGN] Chain of Responsiblity
`Chain<T>` and `ChainAsync<T>` are implementations of the chain of responsibility pattern. You can add as many handlers as you want before calling `execute`, which can either execute inside-out or outside-in order.

```typescript
const handlers = [
  (input: string, next) => next()
]
const chains = Chains.from<string, string>(handlers)
chains.execute({})
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/projector
Description: Provides a library for managing code projects.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/projector

[![npm](https://img.shields.io/npm/v/@nofrills/projector.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/projector)

# Install

```bash
npm install --save @nofrills/projector
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/smorgasbord
Description: Smattering of useful (sometimes) code.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/smorgasbord

[![npm](https://img.shields.io/npm/v/@nofrills/smorgasbord.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/smorgasbord)

# Install

```bash
npm install --save @nofrills/smorgasbord
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/smush
Description: Smushes things together.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/smush

[![npm](https://img.shields.io/npm/v/@nofrills/smush.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/smush)

No frills configuration mashing.

# Install

```bash
npm install --save @nofrills/smush
```

# Quick Start

### Javascript

```javascript
```

### Typescript

```typescript
```

NOTE: From here on, we'll use Javascript in examples.

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/types
Description: Library for runtime type helpers.
Author: opensource@nativecode.com
Latest version: 10.0.3

# @nofrills/types

[![npm](https://img.shields.io/npm/v/@nofrills/types.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/types)

# Install

```bash
npm install --save @nofrills/types
```

# Introduction

`@nofrills/types` is a library that provides a consistent runtime type checking for JavaScript instances. In addition to basic types, such as `string`, `boolean`, etc, `types` also supports more complex type definitions, such as custom types. You can register your own types and ensure that your runtime instances truly match definitions you specify.

## Is

Use the `Is` helper to validate basic types, such as `string`, `boolean`, `Date`, etc.

```javascript
const isDate = Is.date(Date.now()) // false
const isNumber = Is.number(Date.now()) // true
const isString = Is.string('this is a string') // true
```

```typescript
const isDate: boolean = Is.date(Date.now()) // false
const isNumber: number = Is.number(Date.now()) // true
const isString: boolean = Is.string('this is a string') // true
```

## ObjectNavigator

## Types

Use the `Types` registry to retrieve or add type definitions for the runtime to validate.

```javascript

```

```typescript
```

# FAQ

## Q: What is the difference between `Is` and `Types`?

### A: The `Is` helper is meant to be a basic type checker for primitives while `Types` is meant to be used as a custom type validator.

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofrills/typings
Description: Provides a unified API for generation TypeScript declaration files.
Author: opensource@nativecode.com
Latest version: 11.0.1

# @nofrills/typings

[![npm](https://img.shields.io/npm/v/@nofrills/typings.svg?style=flat-square)](https://www.npmjs.com/package/@nofrills/typings)

# Install

```bash
npm install --save @nofrills/typings
```

# License
Copyright 2018 NativeCode Development <opensource@nativecode.com>

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: @nofun/joyconf
Description: Configurations of JOYDEV.
Author: YaYaPao
Latest version: 1.0.8

<h1 align="center">joylint-conf</h1>
<h5 align="center">Assets for JOYLINT!</h5>

<div align="center">

[![requirements](https://img.shields.io/badge/node-%3E8.0.0-brightgreenf)]() [![code style](https://img.shields.io/badge/code%20style-prettier-%23ff69b4)]()

<img align="center" src="https://doc.joyjoy.cc/assets/showcase/joylint.png" alt="Enjoy linting!" title="PR welcome!">
</div>

<hr />

**Joylint-conf** used to collect lint's files of JOYLINT.

## Why?

**Joylint is ESM, however, eslint not supported ESM correctly at the moment.** So we need this repogistry to manage the lint configurations to ensure everything works fine.

## License

Licensed under the MIT License.
npm package: @nofun/joylint
Description: Enjoy linting in DEV!
Author: YaYaPao
Latest version: 1.3.2

<h1 align="center">joylint</h1>
<h5 align="center">Genki dama of frontend's code grammar and dev process!</h5>

<div align="center">

[![requirements](https://img.shields.io/badge/node-%3E8.0.0-brightgreenf)]() [![code style](https://img.shields.io/badge/code%20style-prettier-%23ff69b4)]()

<img align="center" src="https://doc.joyjoy.cc/assets/showcase/joylint.png" alt="Enjoy linting!" title="PR welcome!">
</div>

<hr />

**Joylint** is the simplest way to enable lint-power for your project. Once installed, this:

- 👍 **Compose ESLint, Prettier, Stylelint, TypeScript => normalized rules**
- ✨ **Standardized Git process**
- 🥰 **Powerful .\*rc code snippets**

## Installation

### Prerequisites

If you want to **enable ESLint**, then Node.js (^12.22.0, ^14.17.0, or >=16.0.0) built with SSL support. (If you are using an official Node.js distribution, SSL is always built in.)

Choose your preferred package manager:

```bash
# npm
npm i @nofun/joylint -D

# yarn
yarn add @nofun/joylint -D
```

## Usage

Execute `npx joylint` or `yarn joylint` to do tasks.

- Install lint tools, will auto install lint-tools and their dependencies, if you have installed, we will skip these packages.
- Init Husky Task will help you complete husky-realted process and create a rules's script in local.

```bash

> joylint
_________________  ___________________   _________
______  /_  __ \ \/ /__  /____  _/__  | / /__  __/
___ _  /_  / / /_  /__  /  __  / __   |/ /__  /
/ /_/ / / /_/ /_  / _  /____/ /  _  /|  / _  /
\____/  \____/ /_/  /_____/___/  /_/ |_/  /_/


? What do you want to do next? (Use arrow keys)
  Install lint tools, includes: Eslint, Prettier, Stylelint
  Init husky and generate githooks scripts, inclued: commit-msg, pre-commit
❯ All Above Task

```

## License

Licensed under the MIT License.
npm package: @nofun/joyutils
Description: Elegent & utility methods to facilitate common usage in JavaScript!
Author: YaYaPao
Latest version: 1.0.8

<h1 align="center">joyutils</h1>
<h5 align="center">Cute JavaScript Library!</h5>

<div align="center">

_Every developer should have their own effective library!_

![node-version](https://img.shields.io/badge/node-%3E8.0.0-brightgreenf) ![prettier](https://img.shields.io/badge/code%20style-prettier-%23ff69b4)

</div>

<hr />

**joyutils** is a Javascript library, and which come from real-world engineering experience.

## Installation

Only support:

- Node.js 8.0.0+

Choose your favorite package manager:

```bash
# npm
npm i @nofun/joyutils -D

# yarn
yarn add @nofun/joyutils -D
```

## Usage

See [document](https://doc.joyjoy.cc/docs/project/frontend-toolkit-chain/joyutils/) for more information.

## FAQ

### Why named export?

1. Module is a namespace. Default export often leads to function/component per file dogma and makes code less maintainable.
2. Interop with commonjs is broken in many cases or hard to maintain.
3. Show me any good language with default exports. It's historical javascriptism.

## License

Licensed under the MIT License.
npm package: @nofun/ui
Description: React UI components based on MUI
Author: YaYaPao
Latest version: 1.0.0

<h1 align="center">NOFUN-UI</h1>
<h5 align="center">React UI components based on MUI</h5>

<div align="center">

[![requirements](https://img.shields.io/badge/react-%3E17.0.0-brightgreenf)]() [![code style](https://img.shields.io/badge/code%20style-prettier-%23ff69b4)]()

</div>

<hr />

**@nofun/ui** is a React UI library which based on MUI, and we make it better to use. This can:

- 👍 **Enrich so many svg icons**
- ✨ **Build more complex and high-order components**
- 🥰 **More delightful**

## Install

**[MUI](https://mui.com/material-ui/getting-started/installation/) and React is peer dependencies, which should be installed correctly.**

**Make sure your React Version support Hooks.**

```bash

pnpm install @nofun/ui

```

## Usage

Just import the component you want to use.

```tsx
import { IconElfball } from '@nofun/ui/dist/Icon'

export default function IconPage() {
  return <IconElfball />
}
```

See more in [story](https://doc.joyjoy.cc/story).

## License

Licensed under the MIT License.
npm package: @nofuss/alert
Description: Client library for the Alert service at NoFuss.io
Latest version: 1.1.0

# Alert
Client library for the Alert service at [NoFuss.io](https://nofuss.io)
([private source code](https://github.com/NoFuss-io/alert)).

Alert is a shared service for getting human attention.
It can be used both for urgent and non-urgent messages,
automated or manually triggered by user on the platform.
npm package: @nofwl/i18n
Description: The internationalization (i18n) library for JavaScript. Support for i18n of text, images, placeholders, styles
Author: lencx
Latest version: 0.0.2

# nofwl-i18n

> The internationalization (i18n) library for JavaScript. Support for i18n of text, images, placeholders, styles.

```bash
yarn

yarn dev

# http://127.0.0.1:8080/example
# http://127.0.0.1:8080/example/test.html
yarn serve
```

## Usage

```bash
npm i @nofwl/i18n
# or
yarn add @nofwl/i18n
```

```js
/* js file */

// require('@nofwl/i18n')
import '@nofwl/i18n'
```

## Project Structure

```bash
# path: **/i18n/**/*.json
# common file: **/i18n/pub/*.json

[project]
|- [**/i18n]
|     |- [{lang}] # language
|     |      `- *.json # page
|     `- [pub]
|         |- common.{lang}.json
|         `- keywords.{lang}.json
` ..

# OR

[project]
|- [**/i18n]
|    |- [**] # page
|    |   `- *.{lang}.json
|    `- [pub]
|         |- common.{lang}.json
|         `- keywords.{lang}.json
` ...
```

---

## HTML Tags Attributes

|type|arrtibute|describe|use|
|---|---|---|---|
|common|i18n-c|common|i18n-c='key_name'|
|keywords|i18n-k|keywords|i18n-k='key_name'|
|page|i18n-p|page|i18n-p='key_name'|
|class|i18n-s|currect element class(style)|i18n-s|
|image|i18n-(c\|k\|p)-i|(common \| keywords \| page) image path |i18n-(c\|k\|p)-i='key_name'|
|pleceholder|i18n-(c\|k\|p)-ph|(common \| keywords \| page) placeholder |i18n-(c\|k\|p)-ph='key_name' |
|off|i18n-o|close translate(off)|i18n-o|

* key_name: `i18n key name`
* (c\|k\|p): One of `c`, `k`,`p`

---

## Config

> i18n matches the corresponding page in two ways

```html
<!-- **/i18n/{lang}/**/*.json -->
<meta i18n='/your_path/i18n/{lang}/path_file_name'>

OR

<!-- **/i18n/**/*.{lang}.json -->
<meta i18n='/your_path/i18n/path_file_name.{lang}'>

<!-- i18n-lang-btn: language button -->
<!-- i18n-def: default language -->
<!-- class='i18n-active': current language -->
<div>
  <button i18n-lang-btn='en' i18n-def>EN</button>
  <button i18n-lang-btn='cn'>CN</button>
  <!-- <button i18n-lang-btn='**'>**</button> -->
  <!-- ... -->
</div>
```
npm package: @nofwl/nui
Description: React components
Author: lencx
Latest version: 0.0.6

# ![nui](https://github.com/nofwl/nui/raw/master/.storybook/nui.svg?sanitize=true)

> React Components

## Install

```bash
npm i @nofwl/nui --save
# or
yarn add @nofwl/nui
```

## Storybook

[Demo](https://nofwl.github.io/nui)

## Usage

```jsx
// example:
import { message } from '@nofwl/nui';
// for css
import '@nofwl/nui/dist/index.css';
```

## Feature

- [x] icons
- [x] message - (info, warn, error, success, loading)
- [x] toast
- [x] tabs