open-index/open-npm huggingface dataset:
npm package: @luminate/localization
Description: A drop-in translation module for real-world Express applications
Author: DinoscapeProgramming
Latest version: 1.7.16
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# 🚀 Express Translify

A drop-in translation module for real-world Express applications 🌍

* ⚡ **Drop-in** *(no refactoring needed)*
* 🪶 **Lightweight** *(< 17 KB)*
* 🚀 **Fast** *(smart client-side caching)*

> **Note:** This package is a mirror of [Express Translify](https://npmjs.com/package/express-translify).

---

## 1. 📦 Installation

```sh
$ npm install express-translify
```

## 2. 🌐 Specify Your Languages & Terms to Translate

* 📝 Head into your `package.json`
* ➕ Add your Translify options:

```js
{
  // ...

  "translify": {
    "default": "en", // default value is "en"
    "languages": [
      "de",     // 🇩🇪
      "es",     // 🇪🇸
      "zh",     // 🇨🇳
      // ...
    ],
    "terms": [
      "Welcome!",
      "Lorem ipsum...",
      // ...
    ]
  }
}
```

### ✍️ Placeholders in Terms

Use `[...]` to mark dynamic parts in your terms:

```json
"terms": [
  "Hello, [...]!",
  "You have [...] new messages"
]
```

> `[...]` means "leave this part out" - it won't be translated.

## 3. 🛠️ Generate Your Locales

```sh
$ npx translate
```

Need a custom output path? Use the `--out` option 🛣️:

```sh
$ npx translate --out custom-path
```

## 4. 🧩 Use Our Express Middleware

```js
const translify = require("express-translify");

app.use(translify());
```

Using a custom locales path? Pass it in with the `path` option 🗂️:

```js
app.use(translify({ path: "custom-path" }));
```

## 5. 📥 Import Translify Into Your Website

```html
<!-- Our middleware automatically serves all necessary assets -->
<script src="/translify.js"></script>
```

> **Note:** If a term matches the page title, `document.title` is translated too.

## 6. 🧭 Switching Languages at Runtime

```js
translify("de"); // 🇩🇪 Switches to German
```

## 7. 🎉 Enjoy Translations in Your App

That's it! Your Express app now speaks multiple languages - no refactoring, no stress. 🌍✨
npm package: @luminate_d/tscalculator
Description: Library that makes possible evaluating math expressions with functions, constants and radix numbers easily, and 100% safe
Author: Luminate-D
Latest version: 1.0.2

# TS Calculator
Library that makes possible evaluating math expressions with
functions, constants and radix numbers easily, and 100% safe

-- Feel free with making feature suggestions and open issues if you find a bug!

## Installation
```sh
$ npm install @luminate_d/tscalculator
```

## Usage

```ts
import { Lexer, Parser, CalculatorError } from '@luminate_d/tscalculator';

const input = 'cos(pi) * 0xff + 2^8'; // Your expression

try {
  const expression = new Parser(
          new Lexer(input).tokenize()
  ).parse();

  const result = expression.eval(); // 1
  console.log('Result:', result);
} catch(error: CalculatorError) {
  if(error instanceof RuntimeError) {
    console.log('Failed to eval:', error.message);
  } else console.log('Error at character index', error.index);
}
```

### Adding custom constants/functions
```ts
import { Constants, Functions } from '@luminate_d/tscalculator';

Constants.register('name', 1000);
Functions.register('name', (num: number) => (0xff % num) ^ 8);
```

## Errors
- UnknownConstantError / UnknownFunctionError occurs when unknown name provided
- ParseError occurs when invalid expression provided and it cannot be parsed
  - Has `.index` property that shows index of character where error occurred

## Available constants
- PI, E, EPI (e^pi), LN2, LN10, LOG2E, LOG10E, PHI, PSI, P

## Available functions
- sin
- cos
- tg, tan
- ctg, cotan
- sec, sc
- csc, cosec
- sinh
- cosh
- th, tanh
- cth, coth
- sech, sch
- csch, cosech
- asin
- acos
- asinh
- acosh
- versin
- exp
- gd
- floor
- ceil
- round
- abs
- sqrt
- crt
- cbrt
- ln
- log - can be called like `log(100, 10)` - log 100 by base 10, defaults base to `E`
- tetrate
- rad - degrees to radians
- deg - radians to degrees
- log2
- log10
- log1p
- digits - calculate how many digits are present in number `digits(18293) = 5`
- trunc
- random

## Syntax
- Constant: `pi` or `PI` - Case insensitive, name of any constant, will be replaced by its value
- Add: `x + y`: x/y = constant or number (or function expression `sin(x) + y`)
- Subtract: `x - y`
- Multiply: `x * y`
- Divide: `x / y`
- Power: `x ^ y`
- Mod: `x % y`
- Function: `sin(x)`
- Factor: `x!`
- Double Factor: `x!!`
- Subfactor: `!x`
- Radix Numbers:
  - `0b10` - Binary (`0b`) representation of `2`
  - `0o15` - Octal (`0o`) representation of `13`
  - `0xff` - Binary (`0x`) representation of `255`
npm package: @luminate_d/webrtc
Description: Made for P2P connection through websocket
Author: Luminate_D
Latest version: 1.0.0

### WebRTC Peer
Made for P2P connection through websocket

# Installation for Web
Include script by this path:
```html
<script src="node_modules/@luminate_d/webrtc/build/browser.js"></script>
```

All exports will store in global variable `WebRTC`

# Usage
```js
// Create peer instance
const peer = new WebRTC.RTCPeer();

// Once we receive stream from another peer, handle it
peer.on('stream', (stream) => {
    // for example, creating new video object with another peer video
    const video = document.createElement('video');
    video.srcObject = stream;
    
    document.body.append(video);
    video.play();
});

// Get user webcam
navigator.mediaDevices.getUserMedia({ video: true })
    .then(stream => {
        // assuming that "video" is some HTMLVideoElement
        video.srcObject = stream;
        video.play();

        // adding media stream to peer
        peer.addStreamTracks(stream);

        // calling init after media loaded
        init();
    }).catch(err => {
        console.log('Failed to get user media');
    });

function init() {
    // connecting to the server
    // server will broadcast our message to another peer
    const socket = new WebSocket('ws://localhost:2020/');

    // Handling messages from our server
    socket.onmessage = async (message) => {
        const data = JSON.parse(message.data);

        switch(data.type) {
            // if someone calls us with its offer (see callPeer function)
            case 'call': {
                // creating answer and sending it back to server
                const answer = await peer.handleOffer(data.offer);
                socket.send(JSON.stringify({
                    type: 'answer',
                    answer: answer
                }));

                break;
            }

            // if someone answers us, handling answer and calling peer again
            case 'answer': {
                await peer.handleAnswer(data.answer);
                callPeer(socket);
            }
        }
    };
}

// function to call peer
async function callPeer(socket) {
    socket.send({
        type: 'call',
        // creating our offer and sending to server
        offer: await peer.createOffer()
    });
}
```
npm package: @luminateone/eslint-baseline
Description: create a baseline for eslint pipelines
Author: luminateone
Latest version: 1.2.0


# eslint-baseline
Basic baseline checking for eslint in CI pipelines

Ever inherited project that never had any linting?  Potentially hundreds/thousands of linting issues?  This package allows you to create a baseline so you can insure your code quality on changes and deal with the existing issues on your own timeline

inspired by the phpstan baseline https://phpstan.org/user-guide/baseline

## installation
```npm install @luminateone/eslint-baseline```
## usage
The command is a simple wrapper around eslint so it will use all your existing config files and command line options as eslint

```npx eslint-baseline file1.js ```

All command line arguments are passed through to eslint see https://eslint.org/docs/latest/user-guide/command-line-interface, the only caveat is the format is changed to json

If no baseline file exists  one will be created on first run '.eslint-baseline.json' 

Simply run a second time to verify if there are any new issues since the baseline was created

```npx eslint-baseline file2.js ```

**Do not forget to commit your .eslint-baseline.json file**

Add the command to your CI pipeline to prevent code regressions

To recreate your baseline file, delete the existing file and rerun npx eslint-baseline
npm package: @luminati-io/angular-multi-select
Description: A multi select dropdown directive for AngularJS
Author: Ignatius Steven
Latest version: 4.0.1-hola.0

# AngularJS MultiSelect
Pure AngularJS directive which creates a dropdown button with multiple or single selections. 
Doesn't require jQuery and works well with other Javascript libraries. 

![Screenshot](https://raw.githubusercontent.com/isteven/angular-multi-select/master/screenshot.png)

### Demo & How To 
Go to http://isteven.github.io/angular-multi-select

### Current Version
4.0.0

### Change Log
See <a href="https://github.com/isteven/angular-multi-select/blob/master/CHANGELOG.md">CHANGELOG.md</a>. 
For those who's upgrading from version 2.x.x, do note that this version is not backward-compatible. Please read the manual
thoroughly and update your code accordingly. 

### Bug Reporting
Please follow these steps:

1. **READ THE MANUAL AGAIN**. You might have missed something. This includes the MINIMUM ANGULARJS VERSION and the SUPPORTED BROWSERS.
2. The next step is to search in Github's issue section first. There might already be an answer for similar issue. Do check both open and closed issues.
3. If there's no previous issue found, then please create a new issue in https://github.com/isteven/angular-multi-select/issues.
4. Please **replicate the problem in JSFiddle or Plunker** (or any other online JS collaboration tool), and include the URL in the issue you are creating.
5. When you're done, please close the issue you've created.

### Licence
Released under the MIT license:

The MIT License (MIT)

Copyright (c) 2014-2015 Ignatius Steven (https://github.com/isteven)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @luminati-io/bmp
Description: Default Jimp bmp encoder/decoder.
Latest version: 0.16.1-lum.3

<div align="center">
  <img width="200" height="200"
    src="https://s3.amazonaws.com/pix.iemoji.com/images/emoji/apple/ios-11/256/crayon.png">
  <h1>@jimp/bmp</h1>
  <p>Default Jimp bmp encoder/decoder.</p>
</div>