open-index/open-npm huggingface dataset:
npm package: @jsonui/components-web-example
Description: JsonUI component library example
Author: Istvan Fodor
Latest version: 0.9.1

# JSONUI component example

This is a component example for JsonUI, please check the usage in [jsonui.org](https://jsonui.org)

This is a Json markup language to define User Interface as a canvas where you can draw with Json definition.

When you change the Json definition, the interface immediately reflects on what you defined/changed.

This is just an example of how you can define custom components and use it in jsonui.

Enjoy

## How works

`yarn storybook`

## LICENSE [MIT](LICENSE)

Copyright (c) 2022 Istvan Fodor.
npm package: @jsonui/core
Description: This is a core module of JsonUI, please use check the usage in @jsonui/react or @jsonui/reactnative
Latest version: 0.9.1

# JSONUI

This is a core module of JsonUI, please use check the usage in @jsonui/react or @jsonui/reactnative

This is a Json markup language to define User Interface as a canvas where you can draw with Json definition.

When you change the Json definition, the interface immediately reflects on what you defined/changed.

Actually JSONUI is available for **react** and **react-native**. It will be able to integrate to 99% of the cross-platform environments, thanks for reactjs ecosystem

The UI definition contains a layout definition and components configuration as well. The most important it has a built in **state management system**. Data can be **persistent** or not, depends on the name of the store.

## Core concept

Build a data driven UI. The "definition" is changeable by developer anytime and any reason.
If you would like to build a remote controlled app or a form generator app, I hope you will love it.

## LICENSE [MIT](LICENSE)

Copyright (c) 2022 Istvan Fodor.
npm package: @jsonui/functions-example
Description: JsonUI functions library example
Author: Istvan Fodor
Latest version: 0.9.1

# JSONUI function example

This is a function example for JsonUI, please check the usage in [jsonui.org](https://jsonui.org)

This is a Json markup language to define User Interface as a canvas where you can draw with Json definition.

When you change the Json definition, the interface immediately reflects on what you defined/changed.

This is just an example of how you can define custom functions and use them in jsonui.

Enjoy

## How works

`yarn storybook`

Because these are examples, just call fake api requests. But it can demonstrate how you can make it.
To check it, please turn on developer mode or inspect mode on your browser and check the request on the Network tab.

## LICENSE [MIT](LICENSE)

Copyright (c) 2022 Istvan Fodor.
npm package: @jsonxr/config
Description: Share configuration between projects.
Latest version: 1.0.1

# @jsonxr/config

Share configuration between projects.

Installs
- typescript
- eslint, prettier and plugins
- jest


# Configuration

- Install @jsonxr/config

  ```sh
  yarn add --dev @jsonxr/config
  ```

- `.eslintrc.cjs`

  ```js
  module.exports = {
    ...require('@jsonxr/config/eslint.cjs'),
  };
  ```

  [eslint settings](eslint.cjs)

- `.prettierrc.cjs`

  ```js
  module.exports = {
    ...require('@jsonxr/config/prettier.cjs'),
  };
  ```

  [prettier settings](prettier.cjs)
npm package: @jsonxr/eslint-config
Description: My eslint and prettier configurations
Author: Jason Rowland
Latest version: 1.0.2

# eslint-config

This is a global style preference that enforces consistent formatting. If used with `vscode`

```bash
npm run lint
npm run lint -- --fix
```

# Project Configuration

1. The following command will perform an npm install and create all the configuration files you need

   ```bash
   npx @jsonxr/eslint-config
   ```

2. Add the following to your `package.json` file

   ```javascript
   {
     "scripts": {
       "lint": "eslint 'src/**/*.*' index.js"
     }
   }
   ```

# Files

### `.eslintrc.js`

```javascript
module.exports = { extends: '@jsonxr' };
```

### `.prettierrc.js`

```javascript
module.exports = '@jsonxr/eslint-config/prettier';
```

# vscode

1. Install prettier plugin - To install the prettier plugin, in quick open (`cmd+p`), run the following command:

   ```
   ext install esbenp.prettier-vscode
   ```

2. Configure project - Add .vscode/settings.json to project to ensure that every cmd+s get's prettiefied. The `npx` command creates this for you so you just need to check it in. If you already have project settings, need to add these.

   `.vscode/settings.json`

   ```javascript
   {
     "prettier.configPath": ".prettierrc.js",
     "editor.formatOnSave": true
   }
   ```
npm package: @jsonxr/filesystem
Description: Universal js library for reading/writing files. In the browser, the read/write is to the indexdb system. In node, it is to the file system.
Author: Jason Rowland
Latest version: 1.0.1

# js-filesystem
Universal js library for reading/writing files.

https://web.dev/storage-for-the-web/

# Node

In node, it uses the `fs` package to read/write.
# Browser

The default behavior of the implementation uses the best option available to the browser. The order of preference is as follows:

* File and Entries API
* IndexedDB
* LocalStorage

# Errors


Both IndexedDB and the Cache API both throw a DOMError named QuotaExceededError when you've exceeded the quota available.



# Options

### Supported

The following web API was chosen to support a generic browser FileSystem.

|Feature|Firefox|Chrome|Edge|Safari|IE|
|---|---|---|---|---|---|
|[IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)|yes|yes|yes|yes|no|

### Rejected

The following APIs were all considered in choosing a backend to support

|Rejected APIs|Reason|
|---|---|
|[File and Entries API](https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API)|Requires permission for each request|
|[Cache](https://developer.mozilla.org/en-US/docs/Web/API/Cache)|Requires a request URL|
|[SessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)|Limited storage|
|[LocalStorage](https://developer.mozilla.org/en/docs/Web/API/Window/localStorage)|Limited storage|
|[Cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)|really?|
|[File System Access API](https://web.dev/file-system-access/)|Chromium only|
|[WebSQL](https://caniuse.com/#feat=sql-storage)|deprecated|
|[Application Cache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache)|deprecated|
npm package: @jsonxr/promises
Description: Promises that will limit the number of executions that will concurrently execute
Author: Jason Rowland
Latest version: 1.0.0

# PromisePool

```
yarn add @jsonxr/promises
```

A pool of promises that will limit the number of executions that will
concurrently execute.  If you are making API calls using the standard built-in
promises, all the promises are executed simultaneously which can cause problems
with rate limiting. This will limit the number of concurrent executions.

## `all(array, options)`

Performs the same function as
[`Promise.all`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)
but throttles the creation of promises and limits the number of concurrent
promises.

### Parameters
* `array` - An array of functions that create promises
* `options` -
  * `limit` - Maximum number of promises (default 6, chrome concurrent requests)
  * `throttle` - number of ms to wait before creating the promise (default 0)


### Example

```javascript
import { all } from '@jsonxr/promises';

const fn = async (i) => i;

const promises = []
promises.push(() => fn(1));
promises.push(() => fn(2));
promises.push(() => fn(3));
promises.push(() => fn(4));
all(promises, { limit: 2, throttle: 100 })
  .then(results => console.log(results))
```

output
```
[1,2,3,4]
```

## allSettled

```javascript
import { allSettled } from '@jsonxr/promises';

const fn = async (i) => {
  if (i % 2 !== 0) throw new Error("That's odd");
  return i;
};

const promises = []
promises.push(() => fn(1));
promises.push(() => fn(2));
promises.push(() => fn(3));
promises.push(() => fn(4));
allSettled(promises, { limit: 2, throttle: 100 })
  .then(results => console.log(results))
```

output
```
[
  { status: 'rejected', reason: Error: That's odd },
  { status: 'fulfilled', value: 2 },
  { status: 'rejected', reason: Error: That's odd },
  { status: 'fulfilled', value: 4 }
]
```

## Do not do this

Promises are scheduled for execution the moment they are created. promises
therefore expects a promise creator function, not a promise.

```javascript
const fn = async (i) => i; // Promise function

const promises = [];

// Do this
promises.push(() => fn(1));

// ERROR. Don't do this!!!
promises.push(fn(1));
```
npm package: @jsonxr/react-native-sample
Description: sample native module
Author: Jason Rowland
Latest version: 0.1.0

# @jsonxr/react-native-sample

sample native module

## Installation

```sh
npm install @jsonxr/react-native-sample
```

## Usage


```js
import { multiply } from '@jsonxr/react-native-sample';

// ...

const result = 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: @jsonxr/ui
Description: Example
Author: Jason Rowland
Latest version: 0.1.0

# @jsonxr/ui

Example

# API documentation

- [Documentation for the latest stable release](https://docs.expo.dev/versions/latest/sdk/@jsonxr/ui/)
- [Documentation for the main branch](https://docs.expo.dev/versions/unversioned/sdk/@jsonxr/ui/)

# Installation in managed Expo projects

For [managed](https://docs.expo.dev/archive/managed-vs-bare/) Expo projects, please follow the installation instructions in the [API documentation for the latest stable release](#api-documentation). If you follow the link and there is no documentation available then this library is not yet usable within managed projects &mdash; it is likely to be included in an upcoming Expo SDK release.

# Installation in bare React Native projects

For bare React Native projects, you must ensure that you have [installed and configured the `expo` package](https://docs.expo.dev/bare/installing-expo-modules/) before continuing.

### Add the package to your npm dependencies

```
npm install @jsonxr/ui
```

### Configure for Android




### Configure for iOS

Run `npx pod-install` after installing the npm package.

# Contributing

Contributions are very welcome! Please refer to guidelines described in the [contributing guide]( https://github.com/expo/expo#contributing).