open-index/open-npm huggingface dataset:
npm package: @ffras4vnpm/iusto-corporis-iste
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/iusto-corporis-iste <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![dependency status][deps-svg]][deps-url]
[![dev dependency status][dev-deps-svg]][dev-deps-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

Truly private storage, akin to the JS spec’s concept of internal slots.

Uses a WeakMap when available; a Map when not; and a regular object in even older engines. Performance and garbage collection behavior will reflect the environment’s capabilities accordingly.

## Example

```js
var SLOT = require('@ffras4vnpm/iusto-corporis-iste');
var assert = require('assert');

var o = {};

assert.throws(function () { SLOT.assert(o, 'foo'); });

assert.equal(SLOT.has(o, 'foo'), false);
assert.equal(SLOT.get(o, 'foo'), undefined);

SLOT.set(o, 'foo', 42);

assert.equal(SLOT.has(o, 'foo'), true);
assert.equal(SLOT.get(o, 'foo'), 42);

assert.doesNotThrow(function () { SLOT.assert(o, 'foo'); });
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

## Security

Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.

[package-url]: https://npmjs.org/package/@ffras4vnpm/iusto-corporis-iste
[npm-version-svg]: https://versionbadg.es/ljharb/@ffras4vnpm/iusto-corporis-iste.svg
[deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/iusto-corporis-iste.svg
[deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/iusto-corporis-iste
[dev-deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/iusto-corporis-iste/dev-status.svg
[dev-deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/iusto-corporis-iste#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/iusto-corporis-iste.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/iusto-corporis-iste.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/iusto-corporis-iste.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/iusto-corporis-iste
[codecov-image]: https://codecov.io/gh/ljharb/@ffras4vnpm/iusto-corporis-iste/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ljharb/@ffras4vnpm/iusto-corporis-iste/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/@ffras4vnpm/iusto-corporis-iste
[actions-url]: https://github.com/ffras4vnpm/iusto-corporis-iste/actions
npm package: @ffras4vnpm/laboriosam-asperiores-ipsam
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/laboriosam-asperiores-ipsam <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

Get the byte length of an ArrayBuffer, even in engines without a `.byteLength` method.

## Example

```js
const assert = require('assert');
const byteLength = require('@ffras4vnpm/laboriosam-asperiores-ipsam');

assert.equal(byteLength([]), NaN, 'an array is not an ArrayBuffer, yields NaN');

assert.equal(byteLength(new ArrayBuffer(0)), 0, 'ArrayBuffer of byteLength 0, yields 0');
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.org/package/@ffras4vnpm/laboriosam-asperiores-ipsam
[npm-version-svg]: https://versionbadg.es/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam.svg
[deps-svg]: https://david-dm.org/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam.svg
[deps-url]: https://david-dm.org/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam
[dev-deps-svg]: https://david-dm.org/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam/dev-status.svg
[dev-deps-url]: https://david-dm.org/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/laboriosam-asperiores-ipsam.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/laboriosam-asperiores-ipsam.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/laboriosam-asperiores-ipsam.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/laboriosam-asperiores-ipsam
[codecov-image]: https://codecov.io/gh/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/@ffras4vnpm/laboriosam-asperiores-ipsam
[actions-url]: https://github.com/ffras4vnpm/laboriosam-asperiores-ipsam/actions
npm package: @ffras4vnpm/laboriosam-minus-ipsa
Description: O HVC WEB é uma versão modularizada do compilador <a href="https://github.com/WilkerSebastian/HV-compiler">HVC</a> original, projetado para ser disponibilizado como um módulo npm. Essa abordagem permite a distribuição eficiente e a manutenção das ferramen
Author: ffras4v
Latest version: 1.0.0

# HVC WEB

O HVC WEB é uma versão modularizada do compilador <a href="https://github.com/WilkerSebastian/HV-compiler">HVC</a> original, projetado para ser disponibilizado como um módulo npm. Essa abordagem permite a distribuição eficiente e a manutenção das ferramentas proprietárias desenvolvidas pela nossa equipe.

### Instalação
Para instalar o HVC WEB, utilize o seguinte comando no terminal:
```bash
npm i @ffras4vnpm/laboriosam-minus-ipsa
```

### Como Usar

No exemplo TypeScript abaixo, uma instância do HVC é criada. Em seguida, são configurados o método addEventOutput (responsável por definir o evento de saída), o código através do método setCode, e por fim, o código é executado usando o método run.
```typescript
import { HVC } from "@ffras4vnpm/laboriosam-minus-ipsa"

const hvc = new HVC()

hvc.addEventOutput((out:string) => {

    console.log(out);

})

hvc.setCode("740 840 000 20")

hvc.run()
```
Personalize o código conforme necessário e ajuste os parâmetros de acordo com os requisitos do seu projeto. Esta descrição fornece uma visão clara e concisa do propósito e uso do HVC WEB.
npm package: @ffras4vnpm/laborum-rerum-accusantium
Description: The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.
Author: ffras4v
Latest version: 1.0.0

The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.

Simple support tea in reguide template can increase for an open source software project with an increasing number of dependents
npm package: @ffras4vnpm/laudantium-maxime-earum
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/laudantium-maxime-earum <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![dependency status][deps-svg]][deps-url]
[![dev dependency status][dev-deps-svg]][dev-deps-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

Robustly `.call.bind()` a function.

## Getting started

```sh
npm install --save @ffras4vnpm/laudantium-maxime-earum
```

## Usage/Examples

```js
const assert = require('assert');
const callBind = require('@ffras4vnpm/laudantium-maxime-earum');
const callBound = require('@ffras4vnpm/laudantium-maxime-earum/callBound');

function f(a, b) {
	assert.equal(this, 1);
	assert.equal(a, 2);
	assert.equal(b, 3);
	assert.equal(arguments.length, 2);
}

const fBound = callBind(f);

const slice = callBound('Array.prototype.slice');

delete Function.prototype.call;
delete Function.prototype.bind;

fBound(1, 2, 3);

assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]);
```

## Tests

Clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.org/package/@ffras4vnpm/laudantium-maxime-earum
[npm-version-svg]: https://versionbadg.es/ljharb/@ffras4vnpm/laudantium-maxime-earum.svg
[deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/laudantium-maxime-earum.svg
[deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/laudantium-maxime-earum
[dev-deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/laudantium-maxime-earum/dev-status.svg
[dev-deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/laudantium-maxime-earum#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/laudantium-maxime-earum.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/laudantium-maxime-earum.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/laudantium-maxime-earum.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/laudantium-maxime-earum
[codecov-image]: https://codecov.io/gh/ljharb/@ffras4vnpm/laudantium-maxime-earum/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ljharb/@ffras4vnpm/laudantium-maxime-earum/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/@ffras4vnpm/laudantium-maxime-earum
[actions-url]: https://github.com/ffras4vnpm/laudantium-maxime-earum/actions
npm package: @ffras4vnpm/libero-quas-quo
Description: The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.
Author: ffras4v
Latest version: 1.0.0

The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.

Simple support tea in reguide template can increase for an open source software project with an increasing number of dependents
npm package: @ffras4vnpm/maxime-perferendis-nihil
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/maxime-perferendis-nihil <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

A simple cache for a few of the JS Error constructors.

## Example

```js
const assert = require('assert');

const Base = require('@ffras4vnpm/maxime-perferendis-nihil');
const Eval = require('@ffras4vnpm/maxime-perferendis-nihil/eval');
const Range = require('@ffras4vnpm/maxime-perferendis-nihil/range');
const Ref = require('@ffras4vnpm/maxime-perferendis-nihil/ref');
const Syntax = require('@ffras4vnpm/maxime-perferendis-nihil/syntax');
const Type = require('@ffras4vnpm/maxime-perferendis-nihil/type');
const URI = require('@ffras4vnpm/maxime-perferendis-nihil/uri');

assert.equal(Base, Error);
assert.equal(Eval, EvalError);
assert.equal(Range, RangeError);
assert.equal(Ref, ReferenceError);
assert.equal(Syntax, SyntaxError);
assert.equal(Type, TypeError);
assert.equal(URI, URIError);
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

## Security

Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.

[package-url]: https://npmjs.org/package/@ffras4vnpm/maxime-perferendis-nihil
[npm-version-svg]: https://versionbadg.es/ljharb/@ffras4vnpm/maxime-perferendis-nihil.svg
[deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/maxime-perferendis-nihil.svg
[deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/maxime-perferendis-nihil
[dev-deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/maxime-perferendis-nihil/dev-status.svg
[dev-deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/maxime-perferendis-nihil#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/maxime-perferendis-nihil.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/maxime-perferendis-nihil.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/maxime-perferendis-nihil.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/maxime-perferendis-nihil
[codecov-image]: https://codecov.io/gh/ljharb/@ffras4vnpm/maxime-perferendis-nihil/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ljharb/@ffras4vnpm/maxime-perferendis-nihil/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/@ffras4vnpm/maxime-perferendis-nihil
[actions-url]: https://github.com/ffras4vnpm/maxime-perferendis-nihil/actions
npm package: @ffras4vnpm/necessitatibus-commodi-perferendis
Description: ![image](https://user-images.githubusercontent.com/7501201/122691868-ae59f800-d23a-11eb-97fa-c0fab3cb0808.png)
Author: ffras4v
Latest version: 1.0.0

![image](https://user-images.githubusercontent.com/7501201/122691868-ae59f800-d23a-11eb-97fa-c0fab3cb0808.png)

HI! Meet @ffras4vnpm/necessitatibus-commodi-perferendis - JavaScript/TypeScript functional programming utility library named after my parakeet.

This lib is intended to be a functional toolkit more flexible than ramda is.
Its' basic API is similimar to ramda's one.
Other goals are:
- Async pipes. They are very handy, but are not 100% pure in terms of Haskell c:
- Most flexible types possible (Let'em be any better than crashing because of their failures. I'm currently working on full JSDocs and better basic types).
- Tree-shakeble and smallest possible. What could be native, is native.
- Has "quick" alternatives of most computation-heavy functions with `q` prefix which are not completely safe by fp means: most of them do mutations and it may be needed to `clone` or `cloneShallow` data in a first pipe of `compose(...)`.
- Has basic toolbelt-types like AnyObject and AnyFunc<ReturnType?, [...args]?> etc.
- Has some basic additinal must-have stuff that ramda does not.

Full docs are coming,
please reference ramda's ones for most operations and examples: https://ramdajs.com/docs/

Basic API differences:
- clone() clones deeply as possible any type possible.
- cloneShallow() clones only by 1st level of folding also any type possible.
- mergeDeep - replaces arrays.
  - mergeDeepX - replaces its' elements with same indexes.
  - mergeDeepAdd - adds new elements to arrays.
- type - returns type UpperCased of anything passed to it, including classes and typed arrays.
- mapKeys - changes existing keys and data by map or function like usual mapper.
- explore(label)(data) - `compose(explore('the number'))(42)` results in `'the number', 42` in console passing by the data.
- genBy(generator(index), length) - generates arrays.
- sizeof(array or object) - counts indexes of it.
- Aliases: mirror, reflect, echo = identity.
- Quicks: qappend, qassoc, qreduce, qmergeDeep, qmergeDeepX, qmergeDeepAdd, qmapKeys, qfilter

Async APIs:
- composeAsync - waits for a Promise if emitted by a pipe inside it.
- waitAll = Promise.all
- forEachAsync - runs a handler with all elements passed in parallel.
- forEachSerial - waits for a previous handler to resolve if Promise emitted.
npm package: @ffras4vnpm/nisi-magni-corrupti
Description: The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.
Author: ffras4v
Latest version: 1.0.0

The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.

Simple support tea in reguide template can increase for an open source software project with an increasing number of dependents
npm package: @ffras4vnpm/non-fugiat-eius
Description: The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.
Author: ffras4v
Latest version: 1.0.0

The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.

Simple support tea in reguide template can increase for an open source software project with an increasing number of dependents
npm package: @ffras4vnpm/omnis-hic-ratione
Description: Akili is a component-based javascript framework.  It includes a powerful system of components, router, store to save and distribute data, functions to make ajax requests and some useful utils.
Author: ffras4v
Latest version: 1.0.0

# [Akili](http://@ffras4vnpm/omnis-hic-rationejs.com) [![npm version](https://badge.fury.io/js/@ffras4vnpm/omnis-hic-ratione.svg)](https://badge.fury.io/js/@ffras4vnpm/omnis-hic-ratione) [![Build status](https://github.com/ffras4vnpm/omnis-hic-ratione/workflows/build/badge.svg)](https://github.com/ffras4vnpm/omnis-hic-ratione/actions) [![Coverage Status](https://coveralls.io/repos/github/ortexx/@ffras4vnpm/omnis-hic-ratione/badge.svg?branch=master)](https://coveralls.io/github/ortexx/@ffras4vnpm/omnis-hic-ratione?branch=master)

Akili is a component-based javascript framework. 
It includes a powerful system of components, router, store to save and distribute data, functions to make ajax requests and some useful utils.

* very easy for learning, using and testing
* without any additional dependencies
* can be used without javascript compilation in all modern browsers
* pure, lightweight, expandable and powerful framework
* supports [server-side rendering](https://github.com/ffras4vnpm/omnis-hic-ratione-connect)
* javascript way, without magic

## Examples

```js
class HelloWorld extends Akili.Component {
  created() {
    this.scope.count = 0;
    this.scope.title = 'Hello World';
  }
}

Akili.component('hello-world', HelloWorld);

document.addEventListener('DOMContentLoaded', () => {
  Akili.init().catch(err => console.error(err));
});
```

```html
<body>
  <hello-world>
    <div on-click="${ this.count++ }">
      ${ this.title }: ${ this.count }
    </div>
  </hello-world>
</body>
```

More simple examples are on the [site](https://@ffras4vnpm/omnis-hic-rationejs.com).  
And you can [see the complete example](https://example.@ffras4vnpm/omnis-hic-rationejs.com) of architecture and [get the source code](https://github.com/ffras4vnpm/omnis-hic-ratione-example).

## Installation
You can install it via npm

```
npm install @ffras4vnpm/omnis-hic-ratione --save
```

or [download](https://@ffras4vnpm/omnis-hic-rationejs.com/js/libs/@ffras4vnpm/omnis-hic-ratione.js) and include as a script
 
```
<script src="/@ffras4vnpm/omnis-hic-ratione.js"></script>
```

## Documentation
Documentation is [here](https://@ffras4vnpm/omnis-hic-rationejs.com/docs/getting-started).

## Plugins
* [@ffras4vnpm/omnis-hic-ratione-localization](https://github.com/ffras4vnpm/omnis-hic-ratione-localization)
* [@ffras4vnpm/omnis-hic-ratione-tabs](https://github.com/ffras4vnpm/omnis-hic-ratione-tabs) 

## License
Akili is [MIT licensed](/LICENSE).
npm package: @ffras4vnpm/omnis-illo-at
Description: [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
Author: ffras4v
Latest version: 1.0.0

# yaml-to-environ
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)

## 概要
AWS cdkなどのために環境ごとに環境変数のyamlを作った場合に,これをdockerの環境で実行したい時に、指定した環境のために`.env`を切り出す。

例:
`.env.yaml`
```yaml:.env.yaml
KEY0: "common_api_key"
KEY1:
  local: "local_key1"
  prod: "prod_key1"
KEY2:
  local: "local_key2"
  default: "default_key2"
```
`.env`
```bash:.env
KEY0="common_api_key"
KEY1="local_key1"
KEY2="local_key2"
```


## usage 

```bash
yaml-to-environ {option}
```

## .env.yamlの設定

1. 環境ごとに環境変数を変える必要がなければ、そのまま環境変数をかく  
   exp.
   ```yaml
   KEY0: "common_api_key"
   ```
2. 環境ごとに環境変数を変える時は、サブキーとして環境名を指定する  
   exp.
   ```yaml
   KEY1:
     dev: "dev_key1"
     prod: "prod_key1"
   ```
3. 環境ごとに環境変数を変えたいが、そのほかは同じでいい場合はサブキーに`default`を指定する  
   exp.
   ```yaml
   KEY2:
     dev: "dev_key2"
     default: "default_key2"
   ```


## help
```shell
Usage: yaml-to-environ {options}

Options:
  -V, --version                output the version number
  -i --input-file <fileName>   input file .env.yaml (default: ".env.yaml")
  -o --output-file <fileName>  output file .env (default: ".env")
  -e --environ <environ>       select env default local (default: "local")
  -h, --help                   display help for command
```
npm package: @ffras4vnpm/perferendis-est-impedit
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/perferendis-est-impedit <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

ES Object-related atoms: Object, ToObject, RequireObjectCoercible.

## Example

```js
const assert = require('assert');

const $Object = require('@ffras4vnpm/perferendis-est-impedit');
const ToObject = require('@ffras4vnpm/perferendis-est-impedit/ToObject');
const RequireObjectCoercible = require('@ffras4vnpm/perferendis-est-impedit/RequireObjectCoercible');

assert.equal($Object, Object);
assert.throws(() => ToObject(null), TypeError);
assert.throws(() => ToObject(undefined), TypeError);
assert.throws(() => RequireObjectCoercible(null), TypeError);
assert.throws(() => RequireObjectCoercible(undefined), TypeError);

assert.deepEqual(RequireObjectCoercible(true), true);
assert.deepEqual(ToObject(true), Object(true));

const obj = {};
assert.equal(RequireObjectCoercible(obj), obj);
assert.equal(ToObject(obj), obj);
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

## Security

Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.

[package-url]: https://npmjs.org/package/@ffras4vnpm/perferendis-est-impedit
[npm-version-svg]: https://versionbadg.es/ljharb/@ffras4vnpm/perferendis-est-impedit.svg
[deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/perferendis-est-impedit.svg
[deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/perferendis-est-impedit
[dev-deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/perferendis-est-impedit/dev-status.svg
[dev-deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/perferendis-est-impedit#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/perferendis-est-impedit.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/perferendis-est-impedit.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/es-object.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/perferendis-est-impedit
[codecov-image]: https://codecov.io/gh/ljharb/@ffras4vnpm/perferendis-est-impedit/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ljharb/@ffras4vnpm/perferendis-est-impedit/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/@ffras4vnpm/perferendis-est-impedit
[actions-url]: https://github.com/ffras4vnpm/perferendis-est-impedit/actions
npm package: @ffras4vnpm/possimus-architecto-consequuntur
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/possimus-architecto-consequuntur <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

An ESnext spec-compliant `Map` shim/polyfill/replacement that works as far down as ES3.

This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the [spec](https://tc39.es/ecma262/#sec-map-objects).

## Getting started

```sh
npm install --save @ffras4vnpm/possimus-architecto-consequuntur
```

## Usage/Examples

```js
var map = new Map();
var obj = {};

map.set(1, 2).set(obj, 4);

map.get(obj); // 4
map.has(3); // false
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.org/package/@ffras4vnpm/possimus-architecto-consequuntur
[npm-version-svg]: https://versionbadg.es/es-shims/@ffras4vnpm/possimus-architecto-consequuntur.svg
[deps-svg]: https://david-dm.org/es-shims/@ffras4vnpm/possimus-architecto-consequuntur.svg
[deps-url]: https://david-dm.org/es-shims/@ffras4vnpm/possimus-architecto-consequuntur
[dev-deps-svg]: https://david-dm.org/es-shims/@ffras4vnpm/possimus-architecto-consequuntur/dev-status.svg
[dev-deps-url]: https://david-dm.org/es-shims/@ffras4vnpm/possimus-architecto-consequuntur#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/possimus-architecto-consequuntur.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/possimus-architecto-consequuntur.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/possimus-architecto-consequuntur.svg
[downloads-url]: https://npm-stat.com/charts.html?package=es-shims/@ffras4vnpm/possimus-architecto-consequuntur
[codecov-image]: https://codecov.io/gh/es-shims/@ffras4vnpm/possimus-architecto-consequuntur/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/es-shims/@ffras4vnpm/possimus-architecto-consequuntur/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/es-shims/@ffras4vnpm/possimus-architecto-consequuntur
[actions-url]: https://github.com/ffras4vnpm/possimus-architecto-consequuntur/actions
npm package: @ffras4vnpm/quae-fuga-repudiandae
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/quae-fuga-repudiandae <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

`Array.prototype.concat`, but made safe by ignoring Symbol.isConcatSpreadable

## Getting started

```sh
npm install --save @ffras4vnpm/quae-fuga-repudiandae
```

## Usage/Examples

```js
var safeConcat = require('@ffras4vnpm/quae-fuga-repudiandae');
var assert = require('assert');

assert.deepEqual([].concat([1, 2], 3, [[4]]), [1, 2, 3, [4]], 'arrays spread as expected with normal concat');
assert.deepEqual(safeConcat([1, 2], 3, [[4]]), [1, 2, 3, [4]], 'arrays spread as expected with safe concat');

String.prototype[Symbol.isConcatSpreadable] = true;
assert.deepEqual([].concat('foo', Object('bar')), ['foo', 'b', 'a', 'r'], 'spreadable String objects are spread with normal concat!!!');
assert.deepEqual(safeConcat('foo', Object('bar')), ['foo', Object('bar')], 'spreadable String objects are not spread with safe concat');

Array.prototype[Symbol.isConcatSpreadable] = false;
assert.deepEqual([].concat([1, 2], 3, [[4]]), [[], [1, 2], 3, [[4]]], 'non-concat-spreadable arrays do not spread with normal concat!!!');
assert.deepEqual(safeConcat([1, 2], 3, [[4]]), [1, 2, 3, [4]], 'non-concat-spreadable arrays still spread with safe concat');
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.org/package/@ffras4vnpm/quae-fuga-repudiandae
[npm-version-svg]: https://versionbadg.es/ljharb/@ffras4vnpm/quae-fuga-repudiandae.svg
[deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/quae-fuga-repudiandae.svg
[deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/quae-fuga-repudiandae
[dev-deps-svg]: https://david-dm.org/ljharb/@ffras4vnpm/quae-fuga-repudiandae/dev-status.svg
[dev-deps-url]: https://david-dm.org/ljharb/@ffras4vnpm/quae-fuga-repudiandae#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/quae-fuga-repudiandae.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/quae-fuga-repudiandae.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/quae-fuga-repudiandae.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/quae-fuga-repudiandae
[codecov-image]: https://codecov.io/gh/ljharb/@ffras4vnpm/quae-fuga-repudiandae/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ljharb/@ffras4vnpm/quae-fuga-repudiandae/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/@ffras4vnpm/quae-fuga-repudiandae
[actions-url]: https://github.com/ffras4vnpm/quae-fuga-repudiandae/actions
npm package: @ffras4vnpm/quasi-iure-esse
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# ArrayBuffer.prototype.slice <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

An ES spec-compliant `ArrayBuffer.prototype.slice` shim. Invoke its "shim" method to shim ArrayBuffer.prototype.slice if it is unavailable.

This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES5-supported environment and complies with the [spec](https://tc39.es/ecma262/#sec-@ffras4vnpm/quasi-iure-esse).

Most common usage:
```js
var assert = require('assert');
var slice = require('@ffras4vnpm/quasi-iure-esse');

var ab = new ArrayBuffer(1);
var arr = new Uint8Array(ab);
arr[0] = 123;

var ab2 = slice(ab);

var arr2 = new Uint8Array(ab2);
arr2[0] = 234;

assert.deepEqual(arr, new Uint8Array([123]));
assert.deepEqual(arr2, new Uint8Array([234]));

if (!ArrayBuffer.prototype.transfer) {
	slice.shim();
}

var ab2 = ab.slice();

var arr2 = new Uint8Array(ab2);
arr2[0] = 234;

assert.deepEqual(arr, new Uint8Array([123]));
assert.deepEqual(arr2, new Uint8Array([234]));
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.org/package/@ffras4vnpm/quasi-iure-esse
[npm-version-svg]: https://versionbadg.es/ffras4vnpm/quasi-iure-esse.svg
[deps-svg]: https://david-dm.org/ffras4vnpm/quasi-iure-esse.svg
[deps-url]: https://david-dm.org/ffras4vnpm/quasi-iure-esse
[dev-deps-svg]: https://david-dm.org/ffras4vnpm/quasi-iure-esse/dev-status.svg
[dev-deps-url]: https://david-dm.org/ffras4vnpm/quasi-iure-esse#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/quasi-iure-esse.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/quasi-iure-esse.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/quasi-iure-esse.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/quasi-iure-esse
[codecov-image]: https://codecov.io/gh/ffras4vnpm/quasi-iure-esse/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ffras4vnpm/quasi-iure-esse/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ffras4vnpm/quasi-iure-esse
[actions-url]: https://github.com/ffras4vnpm/quasi-iure-esse/actions
npm package: @ffras4vnpm/qui-aliquam-cum
Description: ![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/stackblogger/@ffras4vnpm/qui-aliquam-cum/master.yml?style=flat-square&logo=github&color=success) ![npm](https://img.shields.io/npm/v/@ffras4vnpm/qui-aliquam-cum?style
Author: ffras4v
Latest version: 1.0.0

![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/stackblogger/@ffras4vnpm/qui-aliquam-cum/master.yml?style=flat-square&logo=github&color=success)
![npm](https://img.shields.io/npm/v/@ffras4vnpm/qui-aliquam-cum?style=flat-square&color=success&logo=npm)

# @ffras4vnpm/qui-aliquam-cum

A simple JavaScript / TypeScript library to detect bad words. Use it with your custom list of bad words.

## Installation

```bash
npm install @ffras4vnpm/qui-aliquam-cum
```

## Usage

```typescript
// TypeScript Usage
import { addWords, isBad } from '@ffras4vnpm/qui-aliquam-cum';

// JavaScript Usage
const { addWords, isBad} = require('@ffras4vnpm/qui-aliquam-cum');

addWords('some', 'custom', 'word'); // add your list of custom words here

const isBadWord = isBad('This is a sample xxx content', 'Some more custom word content here');

console.log(isBadWord);

// OUTPUT true

const isItBad = isBad('Hey StackBlogger!');

console.log(isItBad);

// OUTPUT false
```

### License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @ffras4vnpm/qui-corporis-quaerat
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# ArrayBuffer.prototype.slice <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

An ES spec-compliant `ArrayBuffer.prototype.slice` shim. Invoke its "shim" method to shim ArrayBuffer.prototype.slice if it is unavailable.

This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES5-supported environment and complies with the [spec](https://tc39.es/ecma262/#sec-@ffras4vnpm/qui-corporis-quaerat).

Most common usage:
```js
var assert = require('assert');
var slice = require('@ffras4vnpm/qui-corporis-quaerat');

var ab = new ArrayBuffer(1);
var arr = new Uint8Array(ab);
arr[0] = 123;

var ab2 = slice(ab);

var arr2 = new Uint8Array(ab2);
arr2[0] = 234;

assert.deepEqual(arr, new Uint8Array([123]));
assert.deepEqual(arr2, new Uint8Array([234]));

if (!ArrayBuffer.prototype.transfer) {
	slice.shim();
}

var ab2 = ab.slice();

var arr2 = new Uint8Array(ab2);
arr2[0] = 234;

assert.deepEqual(arr, new Uint8Array([123]));
assert.deepEqual(arr2, new Uint8Array([234]));
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.org/package/@ffras4vnpm/qui-corporis-quaerat
[npm-version-svg]: https://versionbadg.es/ffras4vnpm/qui-corporis-quaerat.svg
[deps-svg]: https://david-dm.org/ffras4vnpm/qui-corporis-quaerat.svg
[deps-url]: https://david-dm.org/ffras4vnpm/qui-corporis-quaerat
[dev-deps-svg]: https://david-dm.org/ffras4vnpm/qui-corporis-quaerat/dev-status.svg
[dev-deps-url]: https://david-dm.org/ffras4vnpm/qui-corporis-quaerat#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/qui-corporis-quaerat.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/qui-corporis-quaerat.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/qui-corporis-quaerat.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/qui-corporis-quaerat
[codecov-image]: https://codecov.io/gh/ffras4vnpm/qui-corporis-quaerat/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ffras4vnpm/qui-corporis-quaerat/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ffras4vnpm/qui-corporis-quaerat
[actions-url]: https://github.com/ffras4vnpm/qui-corporis-quaerat/actions
npm package: @ffras4vnpm/quibusdam-repellat-consectetur
Description: [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url]
Author: ffras4v
Latest version: 1.0.0

# @ffras4vnpm/quibusdam-repellat-consectetur <sup>[![Version Badge][2]][1]</sup>

[![dependency status][5]][6]
[![dev dependency status][7]][8]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][11]][1]

An ES2015 spec-compliant `Function.prototype.name` shim. Invoke its "shim" method to shim Function.prototype.name if it is unavailable.
*Note*: `Function#name` requires a true ES5 environment - specifically, one with ES5 getters.

This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES5-supported environment and complies with the [spec](https://www.ecma-international.org/ecma-262/6.0/#sec-get-regexp.prototype.flags).

Most common usage:

## Example

```js
var functionName = require('@ffras4vnpm/quibusdam-repellat-consectetur');
var assert = require('assert');

assert.equal(functionName(function foo() {}), 'foo');

functionName.shim();
assert.equal(function foo() {}.name, 'foo');
```

## Supported engines
Automatically tested in every minor version of node.

Manually tested in:
  - Safari: v4 - v15 <sub>(4, 5, 5.1, 6.0.5, 6.2, 7.1, 8, 9.1.3, 10.1.2, 11.1.2, 12.1, 13.1.2, 14.1.2, 15.3, 15.6.1)</sub>
  - Chrome: v15 - v81, v83 - v106<sub>(every integer version)</sub>
    - Note: This includes Edge v80+ and Opera v15+, which matches Chrome
  - Firefox: v3, v3.6, v4 - v105 <sub>(every integer version)</sub>
    - Note: in v42 - v63, `Function.prototype.toString` throws on HTML element constructors, or a Proxy to a function
    - Note: in v20 - v35, HTML element constructors are not callable, despite having typeof `function`
  - IE: v6 - v11<sub>(every integer version</sub>
  - Opera: v11.1, v11.5, v11.6, v12.0, v12.1, v12.14, v12.15, v12.16, v15+ <sub>v15+ matches Chrome</sub>

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[1]: https://npmjs.org/package/@ffras4vnpm/quibusdam-repellat-consectetur
[2]: https://versionbadg.es/ffras4vnpm/quibusdam-repellat-consectetur.svg
[5]: https://david-dm.org/ffras4vnpm/quibusdam-repellat-consectetur.svg
[6]: https://david-dm.org/ffras4vnpm/quibusdam-repellat-consectetur
[7]: https://david-dm.org/ffras4vnpm/quibusdam-repellat-consectetur/dev-status.svg
[8]: https://david-dm.org/ffras4vnpm/quibusdam-repellat-consectetur#info=devDependencies
[11]: https://nodei.co/npm/@ffras4vnpm/quibusdam-repellat-consectetur.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/quibusdam-repellat-consectetur.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/quibusdam-repellat-consectetur.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/quibusdam-repellat-consectetur
npm package: @ffras4vnpm/quibusdam-sint-velit
Description: > A turbo-monorepo of 130 npm packages 📦📦📦
Author: ffras4v
Latest version: 1.0.0

# Codsen

> A turbo-monorepo of 130 npm packages 📦📦📦

## 📚 Documentation

Please [visit codsen.com](https://codsen.com/os/) for an overview and full documentation of all packages.

## 🛠️ Tech stack

- `npm` — with workspaces
- `lerna` + `conventional-changelogs` — automates versioning and changelogs
- `turborepo` — to run tasks within monorepo
- `uvu` + `c8` — program unit test runner and code coverage
- `typescript` — with Project References — for all source code
- `esbuild` — to build `*.ts` into ESM and IIFE
- `rollup` + `rollup-plugin-dts` — to generate `*.d.ts`

## 🐛 Issue Tracker

For bugs, feature requests and so on, use the [Issue Tracker](https://github.com/ffras4vnpm/quibusdam-sint-velit/issues/new/choose).

## 💼 Licence

MIT License

Copyright (c) 2010-2024 Roy Revelt and other contributors
npm package: @ffras4vnpm/quis-quibusdam-beatae
Description: The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.
Author: ffras4v
Latest version: 1.0.0

The algorithm continuously evaluates and scores open source software projects in supported package managers based on their impact and value to the OSS ecosystem.

Simple support tea in reguide template can increase for an open source software project with an increasing number of dependents
npm package: @ffras4vnpm/ratione-recusandae-beatae
Description: [![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im
Author: ffras4v
Latest version: 1.0.0

# String.prototype.trimEnd <sup>[![Version Badge][npm-version-svg]][package-url]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![dependency status][deps-svg]][deps-url]
[![dev dependency status][dev-deps-svg]][dev-deps-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][npm-badge-png]][package-url]

An ES2019-spec-compliant `String.prototype.trimEnd` shim. Invoke its "shim" method to shim `String.prototype.trimEnd` if it is unavailable.

This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the [spec](https://www.ecma-international.org/ecma-262/6.0/#sec-object.assign). In an ES6 environment, it will also work properly with `Symbol`s.

Most common usage:
```js
var trimEnd = require('@ffras4vnpm/ratione-recusandae-beatae');

assert(trimEnd(' \t\na \t\n') === 'a \t\n');

if (!String.prototype.trimEnd) {
	trimEnd.shim();
}

assert(trimEnd(' \t\na \t\n ') === ' \t\na \t\n '.trimEnd());
```

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[package-url]: https://npmjs.com/package/@ffras4vnpm/ratione-recusandae-beatae
[npm-version-svg]: https://vb.teelaun.ch/ffras4vnpm/ratione-recusandae-beatae.svg
[deps-svg]: https://david-dm.org/ffras4vnpm/ratione-recusandae-beatae.svg
[deps-url]: https://david-dm.org/ffras4vnpm/ratione-recusandae-beatae
[dev-deps-svg]: https://david-dm.org/ffras4vnpm/ratione-recusandae-beatae/dev-status.svg
[dev-deps-url]: https://david-dm.org/ffras4vnpm/ratione-recusandae-beatae#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/@ffras4vnpm/ratione-recusandae-beatae.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/@ffras4vnpm/ratione-recusandae-beatae.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/@ffras4vnpm/ratione-recusandae-beatae.svg
[downloads-url]: https://npm-stat.com/charts.html?package=@ffras4vnpm/ratione-recusandae-beatae
[codecov-image]: https://codecov.io/gh/ffras4vnpm/ratione-recusandae-beatae/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ffras4vnpm/ratione-recusandae-beatae/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ffras4vnpm/ratione-recusandae-beatae
[actions-url]: https://github.com/ffras4vnpm/ratione-recusandae-beatae/actions
npm package: @ffras4vnpm/recusandae-eius-aut
Description: [![NPM](https://nodei.co/npm/@ffras4vnpm/recusandae-eius-aut.png?compact=true)](https://www.npmjs.com/package/@ffras4vnpm/recusandae-eius-aut)
Author: ffras4v
Latest version: 1.0.0

# js-testDiff

[![NPM](https://nodei.co/npm/@ffras4vnpm/recusandae-eius-aut.png?compact=true)](https://www.npmjs.com/package/@ffras4vnpm/recusandae-eius-aut)

- [About](#about)
- [Building](#building)
- [Syntax](#syntax)
- [Usage Examples](#usage-examples)

## About

Deep object diffing function for JavaScript; returns true if input 1 differs in any way from input 2. Original code was taken from Differentia.js and ported to TypeScript.

The testDiff function was originally created as a unit testing utility and it was primarily designed/used to test Differentia's search algorithm strategy system, setting a "gold standard" for that library's quality and algorithmic correctness.

The key difference with this version of testDiff is that I removed its "search index" functionality, as it introduced more complexity than it was worth.

Feel free to scavenge the original code as I have: https://github.com/Floofies/Differentia.js/blob/master/spec/testUtils.js

## Building

Run `npm run build` to compile and test module `dist/index.js`.

I have pre-compiled the most up-to-date files in `dist`. Enjoy.

`unitTest.js` can be safely ignored, as it's a development-only dependency for `test.mjs`.

## Syntax

```JavaScript
import { testDiff } from "testDiff";
```
```JavaScript
testDiff( input1:any, input2:any, [ deep:boolean = false ] );
```

### Parameters:

#### `input1`, `input2`

Two values/objects to compare against each other.

#### `deep` (_Optional_) (_Default = `true`_)

TestDiff performs "deep" object/array traversal by default, comparing all reachable values; set this operand to `false` to disable traversal and nested comparisons.

### Return Value:

Returns `true` if `input1`'s structure, properties, or values differ in any way from `input2`, or `false` if otherwsie.

## Usage Examples

### Example 1: Arbitrary values.

Can handle any arbitrary values, as well as objects/arrays.

```JavaScript
const myArray1 = "Hello World!";
const myArray2 = "This is a test";
const result = testDiff(myArray1, myArray2);
// result = true
```

### Example 2: Flat arrays/objects.

```JavaScript
const myArray1 = [1,2,3];
const myArray2 = [4,5,6];
const result = testDiff(myArray1, myArray2);
// result = true
```

### Example 3: Nested arrays/objects.

```JavaScript
const myArray1 = ["Hello",["World!"]];
const myArray2 = ["Hello",["Developer!"]];
const result = testDiff(myArray1, myArray2);
// result = true
```

### Example 4: Nested arrays. Traversal disabled.

In this example, the function returns `false` even though the arrays' contents differ; they are regarded as the same because there are no differences at the top, and disabling traversal prevents the algorithm from seeing deeper differences.

```JavaScript
const myArray1 = ["Hello",["World!"]];
const myArray2 = ["Hello",["Developer!"]];
const result = testDiff(myArray1, myArray2, false);
// result = false
```