open-index/open-npm huggingface dataset:
npm package: @rxjs-debugging/runtime-webpack
Description: Webpack plugin to debug RxJS-based web applications with "RxJS Debugging for Visual Studio Code".
Author: Manuel Alabor
Latest version: 1.1.1

# ![Archie the Debugger Owl](https://github.com/swissmanu/rxjs-debugging-for-vscode/raw/main/docs/brand/archie-small.png) @rxjs-debugging/runtime-webpack

> Webpack plugin to debug RxJS-based web applications with [RxJS Debugging for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=manuelalabor.rxjs-debugging-for-vs-code).

[![npm version](https://badge.fury.io/js/@rxjs-debugging%2Fruntime-webpack.svg)](https://badge.fury.io/js/@rxjs-debugging%2Fruntime-webpack)

In order to debug an RxJS-based web application bundled using Webpack with [RxJS Debugging for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=manuelalabor.rxjs-debugging-for-vs-code), the `@rxjs-debugging/runtime-webpack` plugin is required.

The plugin augments RxJS so the debugger can communicate with your application at runtime. This augmentation happens *only* during development, hence your production builds will stay clear of any debugging augmentation.

![runtime-webpack Demo](https://github.com/swissmanu/rxjs-debugging-for-vscode/raw/main/packages/runtime-webpack/docs/demo.gif)



## Usage

1. Install `@rxjs-debugging/runtime-webpack`:

   ```bash
   npm i -D @rxjs-debugging/runtime-webpack
   yarn add -D @rxjs-debugging/runtime-webpack
   ```

2. Import and add the `RxJSDebuggingPlugin` to your Webpack configuration:

   ```javascript
   import RxJSDebuggingPlugin from '@rxjs-debugging/runtime-webpack';

   export default {
     // your configuration
     plugins: [
       // your plugins
       new RxJSDebuggingPlugin() // <-- Add this line
     ]
   };
   ```

3. (Re-)start Webpack and debug your web application with [RxJS Debugging for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=manuelalabor.rxjs-debugging-for-vs-code).

## Example

The [Webpack Testbench](https://github.com/swissmanu/rxjs-debugging-for-vscode/tree/main/packages/testbench-webpack) demonstrates how `@rxjs-debugging/runtime-webpack` can be integrated allowing to debug a web application with [RxJS Debugging for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=manuelalabor.rxjs-debugging-for-vs-code).
npm package: @rxjs-insights/console
Description: See the data gathered by RxJS Insights right in the console.
Author: ksz ksz
Latest version: 0.5.1

# @rxjs-insights/console

See the data gathered by RxJS Insights right in the console.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/devtools
Description: Connector for the RxJS Insights devtools extension.
Author: ksz ksz
Latest version: 0.5.1

# @rxjs-insights/devtools

Connector for the RxJS Insights devtools extension.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/locator
Description: The default implementation of the rxjs-insights' locator.
Author: ksz ksz
Latest version: 0.5.1

# @rxjs-insights/locator

The default implementation of the rxjs-insights' locator.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/plugin-esbuild
Description: Setup RxJS Insights easily in esbuild.
Author: ksz ksz
Latest version: 0.5.0

# @rxjs-insights/plugin-esbuild

Setup RxJS Insights easily in esbuild.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/plugin-webpack4
Description: Setup RxJS Insights easily in Webpack.
Author: ksz ksz
Latest version: 0.5.0

# @rxjs-insights/plugin-webpack5

Setup RxJS Insights easily in Webpack.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/plugin-webpack5
Description: Setup RxJS Insights easily in Webpack.
Author: ksz ksz
Latest version: 0.5.0

# @rxjs-insights/plugin-webpack5

Setup RxJS Insights easily in Webpack.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/recorder
Description: The default implementation of the rxjs-insights' recorder.
Author: ksz ksz
Latest version: 0.5.1

# @rxjs-insights/recorder

The default implementation of the rxjs-insights' recorder.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/recorder-utils
Description: Helper functions for the rxjs-insights' recorder.
Author: ksz ksz
Latest version: 0.5.1

# @rxjs-insights/recorder

Helper functions for the rxjs-insights' recorder.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-insights/tracer
Description: The default implementation of the rxjs-insights' tracer.
Author: ksz ksz
Latest version: 0.5.1

# @rxjs-insights/tracer

The default implementation of the rxjs-insights' tracer.

[Read more 📖](https://github.com/ksz-ksz/rxjs-insights/blob/master/README.md)
npm package: @rxjs-ninja/rxjs-boolean
Description: Operators for RxJS for filtering with boolean logic
Author: Tane Piper
Latest version: 4.0.3

# RxJS Ninja - Booleans

![The RXJS Ninja Logo](https://raw.githubusercontent.com/rxjs-ninja/rxjs-ninja/main/assets/logo.png)

[![rxjs-boolean](https://img.shields.io/npm/v/@rxjs-ninja/rxjs-boolean?label=@rxjs-ninja/rxjs-boolean)](https://www.npmjs.com/package/@rxjs-ninja/rxjs-boolean)

[Website](https://rxjs-ninja.tane.dev)
|
[API Documentation](https://rxjs-ninja.tane.dev/modules/boolean.html)
|
[Changelog](https://github.com/rxjs-ninja/rxjs-ninja/blob/main/libs/rxjs/boolean/CHANGELOG.md)

`@rxjs-ninja/rxjs-boolean` provides operators for querying, filtering and modifying boolean values, and Observable for
generating boolean emitters.

## Function and Operator categories

### Create

Functions and Operators for creating Observable boolean values

```ts
const numbers = [0, 1, 0, 0, 1, 0, 1];
const strings = ['RxJS', '', '', 'Ninja', 'TypeScript'];

// Generate a boolean array from numbers
fromBoolean(numbers).subscribe();
// Output: `false, true, false, false, true, false, true`

// Generate a boolean array from numbers
fromBoolean(strings).subscribe();
// Output: `true, false, false, true, true`
```

### Filter

Operators for filtering Observable sources for truthy values

```ts
const strings$ = from(['RxJS', '', '', 'Ninja', 'TypeScript', '', 'Angular']);

// Get the first truthy value
strings$.pipe(firstTruthy()).subscribe();
// Output: `RxJS`

// Get the first truthy value that is over length of 6
strings$.pipe(firstTruthy((v) => v.length > 5)).subscribe();
// Output: `TypeScript`

// Get the last truthy value
strings$.pipe(lastTruthy()).subscribe();
// Output: `Angular`

// Get the last truthy value of less than 5 characters
strings$.pipe(lastTruthy((v) => v.length < 5)).subscribe();
// Output: `RxJS`
```

### Modify

Operators for modifying boolean values

```ts
const source$ = from([false, true, true, false]);

// Flip the boolean value
source$.pipe(flip()).subscribe();
// Output: `true, false, false, true`
```

### Validation

Operators that provide boolean output based on checks against source values

```ts
const input = ['4485275742308327', '1111222233334444', '111133332224444'];
from(input).pipe(luhnCheck()).subscribe();
// Output: `[true, true, false]`
```
npm package: @rxjs-ninja/rxjs-random
Description: Operators for RxJS Observable using randomness
Author: Tane Piper
Latest version: 2.1.3

# RxJS Ninja - Randomness

![The RXJS Ninja Logo](https://raw.githubusercontent.com/rxjs-ninja/rxjs-ninja/main/assets/logo.png)

[![rxjs-random](https://img.shields.io/npm/v/@rxjs-ninja/rxjs-random?label=@rxjs-ninja/rxjs-random)](https://www.npmjs.com/package/@rxjs-ninja/rxjs-random)

[Website](https://rxjs-ninja.tane.dev)
|
[API Documentation](https://rxjs-ninja.tane.dev/modules/random.html)
|
[Changelog](https://github.com/rxjs-ninja/rxjs-ninja/blob/main/libs/rxjs/random/CHANGELOG.md)

`@rxjs-ninja/rxjs-random` Observable for generating random emitters with both numbers and strings.

## Function and Operator categories

### Random Numbers

Functions to create Observable random numbers

```ts
// Randomly generate 50 `1byte` values between `-127` and `127` and filter values in the range `-64, 64`
fromRandomCrypto(0, { bytes: 1, unsigned: true }).pipe(take(50), filterInRange(-64, 64)).subscribe();
Output: `-12, 4, 64, 32, -1, 21, -43`;
```

### Random Strings

```ts
// Generate a random UUID
fromUUIDv4().pipe(take(1)).subscribe();
// Output: `2a6d71bf-6ccd-4810-bc60-c9ffdedf8864`
```
npm package: @rxjs-ninja/rxjs-string
Description: Operators for handling RxJS Observable of string
Author: Tane Piper
Latest version: 5.0.3

# RxJS Ninja - Strings

![The RXJS Ninja Logo](https://raw.githubusercontent.com/rxjs-ninja/rxjs-ninja/main/assets/logo.png)

[![rxjs-string](https://img.shields.io/npm/v/@rxjs-ninja/rxjs-string?label=@rxjs-ninja/rxjs-string)](https://www.npmjs.com/package/@rxjs-ninja/rxjs-string)

[Website](https://rxjs-ninja.tane.dev)
|
[API Documentation](https://rxjs-ninja.tane.dev/modules/string.html)
|
[Changelog](https://github.com/rxjs-ninja/rxjs-ninja/blob/main/libs/rxjs/string/CHANGELOG.md)

`@rxjs-ninja/rxjs-string` provides operators for querying, filtering and modifying string values, and Observable for
generating string emitters.

## Function and Operator categories

### Convert

Convert between String and Array values

```ts
// Split comma-seperated list into tab seperated list
of('Jane,Rod,Freddy,George').pipe(split(','), join('\t')).subscribe();
// Output: `'Jane\tRod\tFreddy\tGeorge'`
```

### Create

Functions to create strings from various input

```ts
// Create a string from an array of codepoints
fromCodePoint([9731, 9733, 9842]).subscribe();
// Output: `'☃★♲'`
```

### Filter

Operators for filtering string based on passed conditions

```ts
const source$ = from(['RxJS', 'TypeScript', 'Angular', 'HorseJS', 'JS Weekly']);

// Get items from the source that only end in `JS`
source$.pipe(filterStartsWith('JS')).subscribe();
// Output: `'JS Weekly'`

// Get items from the source that only end in `JS`
source$.pipe(filterEndsWith('JS')).subscribe();
// Output: `'RxJS', 'HorseJS'`
```

### Mapping

Operators for mapping codes to String values

```ts
// Get the string character for a code point
from([9731, 9733, 9842]).pipe(mapCodePoint()).subscribe();
// Output: `'☃', '★', '♲'`
```

### Modify

Operators for modifying String values

```ts
const source$ = from(['RxJS', 'Angular', 'TypeScript', 'jQuery']);

// Concat to an string
source$.pipe(concat(' is cool')).subscribe();
// Output: `'RxJS is cool', 'Angular is cool', 'TypeScript is cool', 'jQuery is cool'`

source$.pipe(reverse()).subscribe();
// Output: `'SJxR', 'ralugnA', 'tpircSepyT`, 'yreuQj'`
```

### Query

Operators for querying String values and returning a value based on a boolean check

- Query - Operators that return non-string values based on querying string values

```ts
const source$ = from(['RxJS', 'TypeScript', 'Angular', 'HorseJS', 'JS Weekly']);

// Check the string starts with `JS`
source$.pipe(startWith('JS')).subscribe();
// Output: `false, false, false, false, true`

// Check the string ends with `JS`
source$.pipe(endsWith('JS')).subscribe();
// Output: `true, false, false, true, false`
```
npm package: @rxjs-toolkit/broadcast-channel
Description: **With npm:**
Author: Lucas Dornelas
Latest version: 0.1.2

## INSTALLATION

**With npm:**

```typescript
npm install --save @rxjs-toolkit/broadcast-channel
```

## EXAMPLES

```typescript
import { RxBroadcastChannel } from '@rxjs-toolkit/broadcast-channel';

let window1 = new RxBroadcastChannel('channelName');

window1.events.subscribe((msg: any) => {
	console.log('message', msg);
});
```

```typescript
import { RxBroadcastChannel } from '@rxjs-toolkit/broadcast-channel';

let window2 = new RxBroadcastChannel('channelName');

window2.postMessage('Hello message');
```

## CONTRIBUTING

We'd love for you to contribute to our source code! We just ask to:

- Write tests for the new feature or bug fix that you are solving
- Ensure all tests pass before send the pull-request (Use: `npm test`)
- Pull requests will not be merged if:
  - has not unit tests
  - reduce the code coverage
  - not passing in the `npm test` task

## LICENSE

Copyright (c) 2024 Lucas Dornelas

Licensed under the MIT license.
npm package: @rxjs-toolkit/eventbus
Description: **With npm:**
Author: Lucas Dornelas
Latest version: 0.1.1

## INSTALLATION

**With npm:**

```typescript
npm install --save @rxjs-toolkit/eventbus
```

## EXAMPLES

```typescript
import { RxEventBus } from '@rxjs-toolkit/eventbus';

const eventBus = new RxEventBus();

eventBus.on('eventName').subscribe((value: number) => {
	console.log(value);
});

eventBus.emit('eventName', 5);
```

## CONTRIBUTING

We'd love for you to contribute to our source code! We just ask to:

- Write tests for the new feature or bug fix that you are solving
- Ensure all tests pass before send the pull-request (Use: `npm test`)
- Pull requests will not be merged if:
  - has not unit tests
  - reduce the code coverage
  - not passing in the `npm test` task

## LICENSE

Copyright (c) 2024 Lucas Dornelas

Licensed under the MIT license.
npm package: @rxjs-toolkit/filereader
Description: **With npm:**
Author: Lucas Dornelas
Latest version: 0.1.3

## INSTALLATION

**With npm:**

```typescript
npm install --save @rxjs-toolkit/filereader
```

## EXAMPLES

```typescript
import { RxFileReader, ProgressEventLike } from '@rxjs-toolkit/filereader';
import { filter, map } from 'rxjs';

let file: File;

RxFileReader.readAsDataURL(file).subscribe((dataUrl: string) => {
	console.log('dataUrl', dataUrl);
});

let file2: File;

RxFileReader.readAsDataURL(file2, true)
	.pipe(
		filter((e: ProgressEventLike<string>) => {
			console.log('Progress', e.loaded);

			return e.completed;
		}),
		map((e) => e.result),
	)
	.subscribe((dataUrl: string) => {
		console.log('dataUrl', dataUrl);
	});
```

## CONTRIBUTING

We'd love for you to contribute to our source code! We just ask to:

- Write tests for the new feature or bug fix that you are solving
- Ensure all tests pass before send the pull-request (Use: `npm test`)
- Pull requests will not be merged if:
  - has not unit tests
  - reduce the code coverage
  - not passing in the `npm test` task

## LICENSE

Copyright (c) 2024 Lucas Dornelas

Licensed under the MIT license.
npm package: @rxjs-toolkit/intersection-observer
Description: **With npm:**
Author: Lucas Dornelas
Latest version: 0.0.4

## INSTALLATION

**With npm:**

```typescript
npm install --save @rxjs-toolkit/intersection-observer
```

## SAMPLES

```typescript
import { RxIntersectionObserver } from '@rxjs-toolkit/intersection-observer';

let el = document.getElementById('one');

RxIntersectionObserver.observe(el)
  .subscribe(({isIntersecting}) => {
      console.log('isIntersecting', isIntersecting);
  })
```

## CONTRIBUTING

We'd love for you to contribute to our source code! We just ask to:

- Write tests for the new feature or bug fix that you are solving
- Ensure all tests pass before send the pull-request (Use: `npm test`)
- Pull requests will not be merged if:
  - has not unit tests
  - reduce the code coverage
  - not passing in the `npm test` task

## LICENSE

Copyright (c) 2024 Lucas Dornelas

Licensed under the MIT license.
npm package: @rxjs-toolkit/resize-observer
Description: **With npm:**
Author: Lucas Dornelas
Latest version: 0.0.5

## INSTALLATION

**With npm:**

```typescript
npm install --save @rxjs-toolkit/resize-observer
```

## EXAMPLES

```typescript
import { RxResizeObserver } from '@rxjs-toolkit/resize-observer';

let el = document.getElementById('one');

RxResizeObserver.observe(el).subscribe((entries: ResizeObserverEntry[]) => {
	console.log('ResizeObserverEntry[]', entries);
});
```

## CONTRIBUTING

We'd love for you to contribute to our source code! We just ask to:

- Write tests for the new feature or bug fix that you are solving
- Ensure all tests pass before send the pull-request (Use: `npm test`)
- Pull requests will not be merged if:
  - has not unit tests
  - reduce the code coverage
  - not passing in the `npm test` task

## LICENSE

Copyright (c) 2024 Lucas Dornelas

Licensed under the MIT license.
npm package: @rxjsx/request
Description: Simple Reactive HTTP Client
Author: Mohammad-Ali A'RÂBI
Latest version: 1.0.2

# RxJSx Request
[![Tests](https://github.com/rxjsx/request/actions/workflows/node.yml/badge.svg)](https://github.com/rxjsx/request/actions/workflows/node.yml)
[![Coverage Status](https://coveralls.io/repos/github/rxjsx/request/badge.svg?branch=master)](https://coveralls.io/github/rxjsx/request?branch=master)
[![NPM Version](https://img.shields.io/npm/v/@rxjsx/request)](https://www.npmjs.com/package/@rxjsx/request)
[![NPM Bundle Size](https://badgen.net/bundlephobia/minzip/@rxjsx/request)](https://bundlephobia.com/package/@rxjsx/request@latest)

A simple RxJS-based HTTP client

## Install
```bash
npm install --save @rxjsx/request rxjs
```

The library RxJS is a peer dependency. The library is tested with RxJS v6 and v7.

## Usage

### TypeScript + RxJS
```typescript
import { request } from '@rxjsx/request';

interface GitHubAPIList {
  current_user_url: string;
}

request.get<GitHubAPIList>('https://api.github.com/')
  .subscribe(response => {
    const list: GitHubAPIList = response.json();
    console.log(list.current_user_url);
  });
```

### JavaScript + Await
```typescript
const { request } = require("@rxjsx/request");

const response = await request
  .get('https://httpbin.org/get')
  .toPromise();
console.log(response.json());
```
Try it here: https://runkit.com/aerabi/rxjsx-request-await

## API
A name `request` is exported which is both a function and a namespace. One can call it directly
by passing an object of type `RequestOptions`:

```typescript
const { request } = require("@rxjsx/request");

request({ method: 'GET', path: 'https://httpbin.org/get' })
  .subscribe(console.log);
```

Or one can use the member functions:

```typescript
const { request } = require("@rxjsx/request");

request.get('https://httpbin.org/get')
  .subscribe(console.log);
```

The full API is as follows:

```typescript
export declare function request<T, R>(options: RequestOptions<T>): Observable<Response<R>>;
export declare namespace request {
  function get<R>(url: string, headers?: Record<string, string>): Observable<Response<R>>;
  function post<T, R>(url: string, body?: T, headers?: Record<string, string>): Observable<Response<R>>;
  function put<T, R>(url: string, body?: T, headers?: Record<string, string>): Observable<Response<R>>;
  function patch<T, R>(url: string, body?: T, headers?: Record<string, string>): Observable<Response<R>>;
  function del<R>(url: string, headers?: Record<string, string>): Observable<Response<R>>;
}
```

## Notes
- The functions return a _singleton_ observable, meaning that the observable will
  contain one element (otherwise would error out).
npm package: @rxlint/eslint-plugin-angular
Description: ESLint rules for RxJS and Angular
Author: Kevin Brey
Latest version: 1.2.13

# @rxlint/eslint-plugin-angular

[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/master/LICENSE)
[![NPM version](https://img.shields.io/npm/v/@rxlint/eslint-plugin-angular.svg)](https://www.npmjs.com/package/@rxlint/eslint-plugin-angular)
[![Downloads](http://img.shields.io/npm/dm/@rxlint/eslint-plugin-angular.svg)](https://www.npmjs.com/package/@rxlint/eslint-plugin-angular)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/manbearwiz/eslint-plugin-rxjs-angular/release.yml)](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/actions/workflows/release.yml)

This package is a fork of the package [`cartant/eslint-plugin-rxjs-angular`](https://github.com/cartant/eslint-plugin-rxjs-angular) with trimmed and updated dependencies to work with both eslint 8 and 9.

There is no recommended configuration for this package, as all of the rules are opinionated.

## Installation

Install the ESLint TypeScript parser using npm:

```sh
npm install --save-dev eslint typescript @typescript-eslint/parser @rxlint/eslint-plugin-angular --save-dev
# or
yarn add --dev eslint typescript @typescript-eslint/parser @rxlint/eslint-plugin-angular
```

## Configuration

This plugin should work with both ESLint v8 eslintrc and ESLint v9 eslint.config.js format files.

For ESLint v8, add `@rxlint/angular` to your plugin array:

`.eslintrc.js`

```js
module.exports = {
  files: ["**/*.ts"],
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: "latest",
    project: true,
    sourceType: "module"
  },
  plugins: ["@rxlint/angular"],
  rules: {
    "@rxlint/angular/prefer-async-pipe": "error"
  }
};
```

For ESLint v9, import the plugin and map it to a name:

`eslint.config.js`

```js
const rxjsAngular = require("@rxlint/eslint-plugin-angular");

module.exports = [{
  files: ["**/*.ts"],
  plugins: {
    "@rxlint-angular": rxjsAngular
  },
  rules: {
    "@rxlint-angular/prefer-async-pipe": "error"
  }
}];
```

## Rules

The package includes the following rules:

| Rule | Description | Recommended |
| --- | --- | --- |
| [`prefer-async-pipe`](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/main/docs/rules/prefer-async-pipe.md) | Forbids the calling of `subscribe` within Angular components. | No |
| [`prefer-composition`](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/main/docs/rules/prefer-composition.md) | Forbids `subscribe` calls that are not composed within Angular components (and, optionally, within services, directives, and pipes). | No |
| [`prefer-takeuntil`](https://github.com/manbearwiz/eslint-plugin-rxjs-angular/blob/main/docs/rules/prefer-takeuntil.md) | Forbids Calling `subscribe` without an accompanying `takeUntil`. | No |
npm package: @rxloop/meta
Description: rxloop meta plugin.
Author: wxnet
Latest version: 0.3.1

## The meta plugin

```javascript
import rxloop from '@rxloop/core';
import meta from '@rxloop/meta';

const store = rxloop({
  plugins: [ meta() ]
});

store.model({
  name: 'test',
  state: {},
  reducers: {
    info(state){
      return state;
    }
  },
  epics: {
    login() {}
  }
});

store.stream('user').subscribe((state) => {
  const { epic } = store.context.user;
  if(epic.current === 'login' && epic.login === 'success') {
    alert('login success!');
  }
});
```
npm package: @rxluz/js-enum
Description: An ENUM implementation in JS
Author: Ricardo Luz
Latest version: 0.0.4

# @rxluz/js-enum

> An ENUM implementation in JS

[![Build Status](https://travis-ci.com/rxluz/js-enum.svg?branch=master)](https://travis-ci.com/rxluz/js-enum)
[![codecov](https://codecov.io/gh/rxluz/js-enum/branch/master/graph/badge.svg)](https://codecov.io/gh/rxluz/js-enum)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
![](https://img.shields.io/bundlephobia/min/@rxluz/js-enum.svg?style=flat)
![](https://img.shields.io/npm/v/@rxluz/js-enum.svg?style=flat)
![](https://img.shields.io/npm/l/@rxluz/js-enum.svg?style=flat)

## Usage

### Example (es module)

```js
import jsENUM from '@rxluz/js-enum';

const direction = jsENUM('UP', 'DOWN', 'LEFT', 'RIGHT');

const myDirection = direction.DOWN;
```

### Example (commonjs)

```js
var jsENUM = require('@rxluz/js-enum').default;

const direction = jsENUM('UP', 'DOWN', 'LEFT', 'RIGHT');

const myDirection = direction.DOWN;
```

### Using custom values

The default value to each element of your enum will be a sequential number (eg. UP: 0, DOWN: 1, LEFT: 2, RIGHT, 3), but you could change this putting a custom value to each element

```js
const direction = jsENUM(['UP', 'UP'], 'DOWN', 'LEFT', 'RIGHT');

const myDirection = direction.DOWN;
```

In the example above the values will be (eg. UP: UP, DOWN: 1, LEFT: 2, RIGHT, 3)

## Install

With [npm](https://npmjs.org/) installed, run

```
$ npm i @rxluz/js-enum --save
```

## Acknowledgments

- This project was inspired by a chat in NodeJS Brasil Telegram Group.
- [rxluz](https://github.com/rxluz)

## See Also

- [Project documentation](https://rxluz.github.io/js-enum/)

## License

MIT
npm package: @rxluz/prevent-object-recursion
Description: Remove all recursive references from the object
Author: Ricardo Luz
Latest version: 0.0.20

# @rxluz/prevent-object-recursion

> ➰ Remove all recursive references from the object

[![Build Status](https://travis-ci.org/rxluz/prevent-object-recursion.svg?branch=master)](https://travis-ci.org/rxluz/prevent-object-recursion)
[![codecov](https://codecov.io/gh/rxluz/prevent-object-recursion/branch/master/graph/badge.svg)](https://codecov.io/gh/rxluz/prevent-object-recursion)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
![](https://img.shields.io/bundlephobia/min/@rxluz/prevent-object-recursion.svg?style=flat)
![](https://img.shields.io/npm/v/@rxluz/prevent-object-recursion.svg?style=flat)
![](https://img.shields.io/npm/l/@rxluz/prevent-object-recursion.svg?style=flat)

## Usage

### Example (es module)

```js
import preventObjectRecursion from '@rxluz/prevent-object-recursion';

const a = { hello: 'world' };
const b = { hey: 'hey', hello: a };
a.newProp = b;

console.log(preventObjectRecursion(a));
// => { hello: 'world', newProp: { hey: 'hey' }}
```

### Example (commonjs)

```js
var preventObjectRecursion = require('@rxluz/prevent-object-recursion').default;

const a = { hello: 'world' };
const b = { hey: 'hey', hello: a };
a.newProp = b;

console.log(preventObjectRecursion(a));
// => { hello: 'world', newProp: { hey: 'hey' }}
```

## Install

With [npm](https://npmjs.org/) installed, run

```
$ npm i @rxluz/prevent-object-recursion --save
```

## Acknowledgments

- This project was inspired by a chat in NodeJS Brasil Telegram Group.
- [rxluz](https://github.com/rxluz)

## See Also

- [Project documentation](https://rxluz.github.io/prevent-object-recursion/)
- [Dev.to platform post about this project](https://dev.to/ricardo/i-wrote-an-npm-package-to-prevent-infinite-recursion-in-objects-5422)

## License

MIT
npm package: @rxmodel/loading
Description: auto handle loading using effect
Latest version: 0.0.5-alpha.4

## 使用

```js
app.use(loading());
```

## config

```
loading({
  refCount?: boolean
})
```

### refCount

默认 false，是否计数当前进行中的 effect，例子：连续触发同一个有 1 秒延迟的 effect，1 秒后，loading 会一下 false 一下 true，页面上以此 loading 写的加载图标可能会一下有一下无，因为每个 effect 结尾都会使 loading 变为 false。
对当前 effect 计数后，只会在只剩一个 effect 的时候变为 false。

### action 约定

有时候不希望全局都计数 effect，只想单个 action 计数，此时可以在 action 里加个属性 `$loading: { refCount: true }` （约定所有插件给 action 添加的额外属性都以\$开头）
npm package: @rxova/journey-devtools-bridge
Description: Bridge API to connect Journey machines to browser devtools.
Author: Jonatan Kruszewski
Latest version: 1.0.0-rc.2

# @rxova/journey-devtools-bridge

Connect Journey machines to Chrome DevTools.

<p>
  <a href="https://www.npmjs.com/package/@rxova/journey-devtools-bridge">
    <img src="https://img.shields.io/npm/v/@rxova/journey-devtools-bridge?color=0f8f6a" alt="npm" />
  </a>
  <img src="https://img.shields.io/badge/3.2%20kB-brotli-0f8f6a" alt="size" />
</p>

## Install

```bash
npm i @rxova/journey-devtools-bridge
```

## Usage

```ts
import { createJourneyMachine } from "@rxova/journey-core";
import { attachJourneyDevtools } from "@rxova/journey-devtools-bridge";

const machine = createJourneyMachine(definition);
machine.startJourney();

const detach = attachJourneyDevtools(machine, { label: "Checkout" });
```

## What It Does

- Streams snapshots and lifecycle events to the Journey DevTools panel in Chrome
- Supports remote commands: navigate steps, reset, send events, inspect execution paths
- Enabled by default in development, disabled in production unless explicitly opted in

## Documentation

- [Chrome DevTools Overview](https://rxova.org/docs/devtool/overview)
- [Panel Guide](https://rxova.org/docs/devtool/panel-guide)
- [Bridge API](https://rxova.org/docs/bridge/bridge-api)

## License

MIT
npm package: @rxplc/rxplc
Description: A framework for building runtime programmable applications.
Author: James Spears
Latest version: 0.0.0

# RxPLC

This project contains the core functions and utilities for creating
relay logic programs on client and server side.

## Documentation

The project uses TypeDoc for source documentation.

To build the documentation run:

```bash
npm run doc
```

## Build

The project uses Rollup for the build process.

To build the application run:

```bash
npm run build
```

## Unit Tests

The Jest framework is used here for unit testing.

To execute unit tests run:

```bash
npm test
```

## Coverage

The lcov coverage tool integrated with Jest is used here for coverage reporting.

To execute unit tests with coverage run:

```bash
npm run cover
```

<!--
## E2E Tests

The Cypress framework is used here for e2e testing.
*Note: Cypress requires a number of OS libraries to be present in order to run. See [here](https://docs.cypress.io/guides/continuous-integration/introduction#Dependencies)*.

To execute e2e tests run:

```bash
npm run e2e
``` -->
npm package: @rxpm/wipe
Description: Wipe is a liteweight user's presence tracker for WhatsApp
Author: Rajat Sharma
Latest version: 1.1.3

# Wipe Go 🚀
Wipe Go is a liteweight user's presence tracker for WhatsApp.

## Requirements
You only need to install [Node 12](https://nodejs.org).

## Install
You need to run following command to install `wipe` tool globally:
```sh
npm i -g @rxpm/wipe
```

Once it's done, you can verify it using 
```sh
wipe -v
```

Initially you need to run setup script to perform database migration
```sh
wipe setup
```

## Usage
To add new subscription
```sh
wipe subs add --alias <add alias here> --phone <phone number> 
```

Now use this command to start core service
```sh
wipe go
```

> For the first time, you need to connect your WhatsApp by scanning a QR code from the terminal

If it will successfully be connected, the service will start tracking your target number and write history records in the database
npm package: @rxrc/archutil
Description: An Arch Linux tool for listing and backing up explicitly installed packages.
Author: Evan Sosenko
Latest version: 1.2.9

# archutil

[![Release](https://img.shields.io/github/release/rxrc/archutil.svg)](https://github.com/rxrc/archutil/releases)
[![MIT License](https://img.shields.io/github/license/rxrc/archutil.svg)](./LICENSE.txt)

Please see the upstream project for the original
[README](https://github.com/gsingh93/archutil).

## Description

This fork has been updated for Python 3,
and modified to use a `yaml` configuration file: `archutil.yml`.
The configuration management functions have been removed.

The location of `archutil.yml` can be specified via the `-c` flag.
By default, `archutil` will look for this file in the following order:

1. In the current working directory.
2. In `/usr/local/etc`.

Addtional changes include a new `--sets` flags and better AUR support.

## Installation

Only `bin/archutil` is required.
This can be installed manually to `/usr/local/bin`.

You will also need the `python` and `python-yaml` packages.

For convenience, the latest version of `archutil` is provided at
https://io.evansosenko.com/archutil/archutil
and a `package.json` is included for use with npm or yarn.

For fetching and installing during initial setup, you can use

```bash
$ [sudo] curl -L -o /usr/local/bin/archutil https://git.io/jgz3
$ [sudo] chmod +x /usr/local/bin/archutil
```

## Contributing

Please submit and comment on bug reports and feature requests.

To submit a patch:

1. Fork it (https://github.com/rxrc/vimrc/fork).
2. Create your feature branch (`git checkout -b my-new-feature`).
3. Make changes.
4. Commit your changes (`git commit -am 'Add some feature'`).
5. Push to the branch (`git push origin my-new-feature`).
6. Create a new Pull Request.

## License

archutil is licensed under the MIT license.

## Warranty

This software is provided by the copyright holders and contributors "as is" and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are
disclaimed. In no event shall the copyright holder or contributors be liable for
any direct, indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused and on
any theory of liability, whether in contract, strict liability, or tort
(including negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage.