open-index/open-npm huggingface dataset:
npm package: @playerdata/verdaccio-storage-expiry
Description: A plugin to automatically remove packages not used recently
Author: PlayerData
Latest version: 1.2.13
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# verdaccio-storage-expiry

> A plugin to automatically remove packages not used recently

---

## Usage

[Install the plugin](https://verdaccio.org/docs/plugins/) 

Set it as a storage backend and load the middleware:
```
store:
  "@playerdata/verdaccio-storage-expiry":

storage_maximum_usage_kb: SPACE_IN_KB
```

Configure your expiry policies per package group if storage_culling_enabled is not set it will be assumed false:
```
packages:
  '**':
    ...
    storage_culling_enabled: true
```

When the storage directory size exceeds storage_maximum_usage_kb the plugin will start deleting package versions.
First ones that havent been accessed since the server started then the ones least recent used since the server started.
## Development

Compile this repo:
`yarn build`

download verdaccio repo at the version you are developing for 

configure it to use this plugin:
```
store:
  storage-expiry:
# path to a directory with plugins to include
plugins: /PATH/TO/DIR/CONTAINING/THIS/ONE

```

and run its debug script `npm run debug`
npm package: @playerdecuple/when
Description: Let's use Kotlin's 'when' keyword in Javascript.
Author: playerdecuple
Latest version: 1.0.2

# when

Let's use Kotlin's 'when' keyword in Javascript(or Typescript).

## Installation

* To install and set-up the library, run: 
  ```
  npm i @playerdecuple/when
  ```
* Or, start with cloning this repository on your local machine.
  ```
  git clone https://github.com/playerdecuple/when.git
  ```

## Usage

```js
function cardinalDirection(angle) {
    return when(
        angle < 22.5,
            "N",
        angle < 67.5,
            "NE",
        angle < 112.5,
            "E",
        angle < 157.5,
            "SE",
        angle < 202.5,
            "S",
        angle < 247.5,
            "SW",
        angle < 292.5,
            "W",
        angle < 337.5,
            "NW",
        "N"
    );
}

console.log(`The cardinal direction for 186° is: ${cardinalDirection(186)}`);
// The cardinal direction for 186° is: S


function hasF(array) {
    return when(
        array.includes("F"),
            () => console.log("This array contains 'F'."),
        () => console.log("This array doesn't contain 'F'.")
    )();
}

hasF([ 1, 2, 3, "F", 5 ]);
// The array contains 'F'.


const or = when(
    true,
    false,
    false,
        "True",
    "False"
);

console.log(`I love Kotlin // ${or}`);
// I love Kotlin // True


const and = when(
    ({} && {}) !== false,
        "True",
    "False"
);

console.log(`I don't like the '&&' operator in JS // ${and}`);
// I don't like the '&&' operator in JS // True
```

### try-catch
```js
const isNotImplemented = $try( // or trycatch(
    () => { // try
        throw Error("TODO: This is not implemented.");
    },
    (e) => true // catch
);

console.log(`isNotImplemented: ${isNotImplemented}`);
// isNotImplemented: true
```
npm package: @playerloop/node
Description: The official Playerloop NPM package. Sign up at https://playerloop.io
Author: Playerloop Team
Latest version: 0.9.4

<p align="center">
  <a href="https://playerloop.io" target="_blank" align="center">
    <img src="https://avatars.githubusercontent.com/u/97310002?s=200&v=4" width="100">
  </a>
  <br />
</p>

# PlayerLoop NPM package

Get bug reports from your players, fast. Improve your game, reward the community.

If your player thinks there is a bug, you have something to fix. A lot of these do not throw exceptions in your code. With PlayerLoop, you can easily implement a bug reporting feature inside your game. You also get an easy-to-use interface to check the reports and download the savegame files and the screenshots to figure out what the problem is.

We are currently in free closed Beta! You can join us here on Discord: [![Discord Chat](https://img.shields.io/discord/929061183233884200?logo=discord&logoColor=ffffff&color=7389D8)](https://discord.gg/rGeGVqnVps)

## Getting started

If you did not do that already, head over [playerloop.io](https://playerloop.io) and sign up for an account.

Then install the NPM package:
`npm install @playerloop/node`

Now you can use Playerloop in your code:

```javascript
const PlayerloopSDK = require('playerloop')
```

Now you can initate the object as follows. To initiate the object, you will need your Playerloop secret. You can retrieve it in your Settings page of your project at [app.playerloop.io](https://app.playerloop.io/). Copy it from there and set it up as follows:

```javascript
const playerloop = new PlayerloopSDK({ secret: "YOUR SECRET HERE" });
```

Now you can create a new bug report like this:

```javascript
playerloop.createReport({text: "the text written by your player"})
```

## Uploading files

You will want to attach a savegame file to your player's report, to make it easier to debug. To do so, you can call the same function as above with the additional attachment field:

```javascript
playerloop.createReport({
  text: "the text written by your player",
  attachments: [ "file path 1", "file path 2" ]
})
```

The attachments will be uploaded together with your bug report.

## Unique Player IDs

Coming soon

## Full reference

Coming soon

## Contributing

Make a PR :)
npm package: @playerone_eth/dev-server
Description: This packages installs the development version of the Player One verifier as a CLI.
Author: David Huang
Latest version: 1.0.0

# Player One Dev Server

This packages installs the development version of the Player One verifier as a CLI.

## Install

`yarn add -D @playerone_eth/dev-server`
or `npm install --save-dev @playerone_eth/dev-server`

## Setup

You need a `.env` file with an environment variable that contains your Twitter API key.

Specifically, you need an entry in your dotenv file that looks like this:

```text
TWITTER_BEARER=asidfhblaiusb;aouds;fa;dfladlfhaldf;lafdlhsdljhfvlkjhasdRandomGibberish
```

You should also run this alongside something like a HardHat node.

## Usage

`playerone-dev-server --port 3000`
or
`playerone-dev-server -p 3000`

You'll probably want to run this in a script in your package.json
npm package: @playerony/crypt-js
Description: JavaScript library of crypt some data.
Author: Paweł Wojtasiński
Latest version: 2.0.0

# crypt-js

## Usage

Simple data crypt

###

## Example

```javascript
const hash = require("@playerony/crypt-js").hash;
const algorithms = require("@playerony/crypt-js").algorithms;

console.log(
  hash({
    algorithms: [algorithms.DES, algorithms.MD5, algorithms.ADFGVX],
    value: "WOrK"
  })
);
```

## Result
```json
{
  "algorithms": ["DES", "MD5"],
  "result": "76e2fba0bb05f2da1814c5e088e20241"
}
```
###
npm package: @playerony/try-catch-wrapper
Description: Functional try-catch wrapper.
Author: Paweł Wojtasiński
Latest version: 1.0.1

# try catch wrapper

![Lint](https://github.com/playerony/try-catch-wrapper/workflows/lint/badge.svg)
![Test](https://github.com/playerony/try-catch-wrapper/workflows/test/badge.svg)
![Build](https://github.com/playerony/try-catch-wrapper/workflows/build/badge.svg)
![Prettier](https://github.com/playerony/try-catch-wrapper/workflows/prettier/badge.svg)
![Typecheck](https://github.com/playerony/try-catch-wrapper/workflows/typecheck/badge.svg)
![Commitlint](https://github.com/playerony/try-catch-wrapper/workflows/commitlint/badge.svg)

Functional try-catch wrapper.

- [API Docs](https://playerony.github.io/try-catch-wrapper)

# Installation ([npm](https://www.npmjs.com/package/@playerony/try-catch-wrapper))

```
npm i @playerony/try-catch-wrapper
```

```
yarn add @playerony/try-catch-wrapper
```

# Usage

```js
import { tryCatchWrapper, asyncTryCatchWrapper } from '@playerony/try-catch-wrapper';

const onSuccess = () => console.log('success');

const asyncOnSuccess = async () => Promise.resolve(10);

const onError = () => console.log('error');

tryCatchWrapper(onSuccess, onError);

asyncTryCatchWrapper(asyncOnSuccess, onError);
```
npm package: @playerony/validator
Description: JSON schema validator, which is designed to be fast and simple to use - another part of my study project
Author: Paweł Wojtasiński
Latest version: 2.0.0

# validator-js

## Usage

Simple object validation using JSON schemas - another part of my project at University

###

## Example

```javascript
const data = {
  name: "test@gmail.com",
  objects: ["13.12.1995", "13.12.1995"]
};

const schema = {
  parameters: {
    name: {
      type: "string",
      format: "email"
    },
    objects: {
      type: "array",
      items: {
        type: "string",
        format: "date"
      }
    }
  },
  required: ["name", "objects"]
};

validate(data, schema);
```

###
npm package: @playerony/wasm-loader
Description: Wrapper for @assemblyscript/loader package to support older versions of Safari (desktop [3.1 - 14.1] / mobile [11 - 14.7]).
Author: Paweł Wojtasiński
Latest version: 1.0.2

# wasm-loader

Wrapper for [@assemblyscript/loader](https://www.npmjs.com/package/@assemblyscript/loader) package to support older versions of Safari (desktop [3.1 - 14.1] / mobile [11 - 14.7])

- [API Docs](https://playerony.github.io/wasm-loader)

- [can I use - instantiate](https://caniuse.com/?search=instantiate)

- [can I use - instantiateStreaming](https://caniuse.com/?search=instantiateStreaming)

# Installation ([npm](https://www.npmjs.com/package/@playerony/wasm-loader))

```
npm i @playerony/wasm-loader
```

```
yarn add @playerony/wasm-loader
```

# Usage

```js
import getWasmLoader from '@playerony/wasm-loader';

const defaultImports = {
  index: {
    log(valueA, valueB) {
      console.log(valueA, valueB);
    },
  },
};

const wasmLoader = getWasmLoader(defaultImports);

const { memory, ...otherPropsYouDefinedInWasmFile } = await wasmLoader('/build/optimized.wasm');
```