open-index/open-npm huggingface dataset:
npm package: @ngnjs/crypto
Description: A cryptography plugin for NGN
Author: Corey Butler
Latest version: 1.0.0-alpha.11

<h1 align="center">NGN Crypto<br/><img src="https://img.shields.io/npm/v/@ngnjs/crypto?label=%40ngnjs/crypto&logo=npm&style=social"/></h1>

The NGN Cryptography plugin implements [libcrypto](https://github.com/ngnjs/libcrypto), making it accessible from NGN and for all other NGN plugins. The following libcrypto methods are available:

- `generateKeys()`
- `sign()`
- `verify()`
- `encrypt()`
- `decrypt()`
- `encryptJSON()`
- `decryptJSON()`
- `encryptionAlgorithm()`

**Notice:** libcrypto contains additional features which aren't commonly used. This plugin exposes the minimum number of functions required to cover the most common cryptography needs in the smallest package possible. The other functions can be imported directly from libcrypto into projects that need them.

The fundamental/basic example:

```javascript
import NGN from 'https://cdn.jsdelivr.net/npm/ngn@latest/index.js'
import 'https://cdn.jsdelivr.net/npm/@ngnjs/crypto/index.js'
// Alternative import:
// import crypto from 'https://cdn.jsdelivr.net/npm/@ngnjs/crypto/index.js'

// The crypto library is accessible from the NGN namespace
const crypto = NGN.plugins.crypto

// Key Generation
const { publicKey, privateKey } = await crypto.generateKeys()

// Content signing/verification
const content = 'my data'
const signature = await crypto.sign(content, privateKey)
const verified = await crypto.verify(content, signature, publicKey)

// Shared key encryption
const sharedKey = 'my secret'
const encrypted = await crypto.encrypt(content, sharedKey)
const decrypted = await crypto.decrypt(encrypted, sharedKey)

// Public key encryption/Private key decryption
const encrypted = await crypto.encrypt(content, publicKey)
const decrypted = await crypto.encrypt(content, privateKey)
```

For more specific examples and documentation, see the [libcrypto repository](https://github.com/ngnjs/libcrypto).
npm package: @ngnjs/crypto-debug
Description: A cryptography plugin for NGN (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0-alpha.11

# crypto 1.0.0-alpha.11

Please see [https://github.com/ngnjs/crypto](https://github.com/ngnjs/crypto).

Generated on Sun Nov 14 2021 23:00:45 GMT+0000 (Coordinated Universal Time).
npm package: @ngnjs/libcrypto-debug
Description: A simple cryptography plugin for NGN. (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0

# libcrypto 1.0.0

Please see [https://github.com/ngnjs/libcrypto](https://github.com/ngnjs/libcrypto).

Generated on Thu Jan 06 2022 20:45:47 GMT+0000 (Coordinated Universal Time).
npm package: @ngnjs/libdata
Description: A plugin module for NGN.
Author: Corey Butler
Latest version: 1.0.0-alpha.3

<h1 align="center">@ngnjs/libdata<br/><img src="https://img.shields.io/npm/v/@ngnjs/libdata?label=%40ngnjs%2Flibdata&logo=npm&style=social"/></h1>

While this JavaScript library is maintained primarily by and for NGN, it is a standalone "cross-runtime" library (will work without NGN).

The library consists of common functions for managing primitive and low level elements of JavaScript (objects, arrays, booleans, etc).

## Usage

See the [working examples](https://codepen.io/coreybutler/pen/OJNoPJX) on Codepen.

### Via CDN (Browser/Deno)

```javascript
import * as DATA from 'https://cdn.skypack.dev/@ngnjs/libdata'

console.log(DATA)
```

_Also available on JSDelivr._

### Node

`npm i @ngnjs/libdata -S`

```javascript
import * as DATA from '@ngnjs/libdata'
console.log(DATA)
```

# Features

<p class="description">
  The NGN libdata library is a standalone library containing common data manipulation functions. This is significantly more primitive than the NGN Data module. This library contains methods for performing operations to a single data item, whereas the NGN Data module focuses on data modeling, bulk storage, and querying (amongst others).
</p>
<h2>Constants</h2>
<table>
  <tr><th>Name</th><th>Description</th></tr>
  <tr><td>dedupe</td><td>Deduplicate an array.</td></tr>
  <tr><td>forceArray</td><td>Force a value into an array.</td></tr>
  <tr><td>forceBoolean</td><td>Force a value into a boolean.</td></tr>
  <tr><td>forceNumber</td><td>Force a value into a number.</td></tr>
  <tr><td>forceString</td><td>Force a value into a string.</td></tr>
  <tr><td>object</td><td>A collection of object management methods, including <code>all</code>, <code>any</code>, <code>exactly</code>, <code>require</code>, <code>extraneous</code>, <code>missing</code>, <code>mixin</code>, <code>serialize</code></td></tr>
  <tr><td>typeOf</td><td>Returns the data type of a value. This is more specific than the native `typeof` operator.</td></tr>
  <tr><td>nullIf</td><td>Returns <code>null</code> if the source value matches the provided value.</td></tr>
  <tr><td>coalesce</td><td>Returns the first non-null/defined value in a list of arguments.</td></tr>
  <tr><td>coalesceb</td><td>Same as <code>coalesce</code>, but ignores blank/empty strings.</td></tr>
  <tr><td>getPrimitive</td><td>Returns the primitive object/function of the specified type.</td></tr>
  <tr><td>AdvancedSet</td><td>This is a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set" target="blank">Set</a>, augmented with additonal methods: <code>isSuperSet</code>, <code>concat</code>, <code>intersection</code>, <code>except</code>, <code>diff</code>, and <code>equal</code></td></tr>
  <tr><td>GUID</td><td>Generate a globally unique identifier.</td></tr>
  <tr><td>UUID</td><td>Generate a universally unique identifier.</td></tr>
  <tr><td>NANOID</td><td>A very fast/efficient unique ID generator.</td></tr>
  <tr><td>checksum</td><td>Calculate the checksum of an object.</td></tr>
</table>
npm package: @ngnjs/libdata-debug
Description: A plugin module for NGN. (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0-alpha.3

# libdata 1.0.0-alpha.3

Please see [https://github.com/ngnjs/libdata](https://github.com/ngnjs/libdata).

Generated on Mon Feb 14 2022 00:25:58 GMT+0000 (Coordinated Universal Time).
npm package: @ngnjs/libnet-node-debug
Description: A plugin module for NGN. (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0-alpha.1

# libnet-node 1.0.0-alpha.1

Please see [https://github.com/<owner>/<repo>](https://github.com/<owner>/<repo>).

Generated on Mon Sep 12 2022 18:58:02 GMT+0000 (Coordinated Universal Time).
npm package: @ngnjs/net-debug
Description: A network communications plugin for NGN. (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0-alpha.24

# net 1.0.0-alpha.24

Please see [https://github.com/ngnjs/net](https://github.com/ngnjs/net).

Generated on Tue Sep 13 2022 03:39:58 GMT+0000 (Coordinated Universal Time).
npm package: @ngnjs/plugin-debug
Description: A plugin module for NGN. (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0-alpha.10

# plugin 1.0.0-alpha.10

Please see [https://github.com/ngnjs/plugin](https://github.com/ngnjs/plugin).

Generated on Sun Sep 18 2022 21:33:54 GMT+0000 (Coordinated Universal Time).
npm package: @ngnjs/queue
Description: A lightweight NGN queue (taskrunner).
Author: Corey Butler
Latest version: 1.0.0-alpha.12

<h1 align="center">NGN Queue<br/><img src="https://img.shields.io/npm/v/@ngnjs/queue?label=%40ngnjs/queue&logo=npm&style=social"/></h1>
<div align="center"><em>A plugin for <a href="https://github.com/ngnjs/ngn">NGN</a></em></div><br/>

The NGN Queue is a collection of functions, stored in the order they're added t othe collection. "Running" a queue executes these functions, in parallel or sequentially.

Documentation for this plugin does not exist yet, but the inline comments in the code are thorough. The unit tests provide use cases, and a series of live examples are available on [codepen](https://codepen.io/coreybutler/pen/eYZQJqL).

The fundamental/basic example:

```javascript
import NGN from 'https://cdn.jsdelivr.net/npm/ngn@latest/index.js'
import Queue from 'https://cdn.jsdelivr.net/npm/@ngnjs/queue/index.js'

const tasks = new Queue()

tasks.add(function () {
  console.log('Run task 1')
})

tasks.add(next => {
  setTimeout(() => {
    console.log('Run async task.')
    next()
  }, 300)
})

tasks.add('t3', function () {
  console.log('Run task named ' + this.name)
})

tasks.on('end', function () {
  console.log('All Done!')
})

tasks.runSync()
```
npm package: @ngnjs/queue-debug
Description: A lightweight NGN queue (taskrunner). (Debug Mappings)
Author: Corey Butler
Latest version: 1.0.0-alpha.12

# queue 1.0.0-alpha.12

Please see [https://github.com/ngnjs/queue](https://github.com/ngnjs/queue).

Generated on Mon Feb 28 2022 22:26:03 GMT+0000 (Coordinated Universal Time).
npm package: @ngnlx/eslint-config
Description: The common ESLint config makes the code clean, consistent, more readable, and understandable.
Author: Nguyen Le
Latest version: 0.0.10

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

## Introduction

The common ESLint config makes the code clean, consistent, more readable, and understandable.

## Installation

    npm install @ngnlx/eslint-config
    OR
    yarn add @ngnlx/eslint-config

## Usage

    {
      "extends": ['eslint:recommended', '@ngnlx/eslint-config']
    }

Add _.prettierrc.js_ in root folder of application with configurations below:

    module.exports = {
      singleQuote: true,
      printWidth: 120,
      trailingComma: 'none',
      arrowParens: 'always'
    };

You can override rules by addding custom rules into rules node in .eslintrc.js/.eslintrc.json/package.json/... in your application.

Example:

    rules: {
      semi: "off",
    },

Execute linting the project:

## VueJS app

We have already linting command:

    "lint": "vue-cli-service lint"

Just run the command below to execute linting:

    yarn lint
    or
    npm run lint

## License

[MIT](https://github.com/ngnlx/eslint-config/blob/main/LICENSE)