open-index/open-npm huggingface dataset:
npm package: @forts/resilience4ts-cache
Description: Distributed caching decorators for @forts/resilience4ts
Author: Jack Hegarty
Latest version: 0.0.1

## @forts/resilience4ts-cache

Cache pattern implementation for resilience4ts.

### Installation

`npm install @forts/resilience4ts-cache`

### Usage

```typescript
import { Cache } from '@forts/resilience4ts-cache';

const cache = Cache.of('my-cache', {
  extractKey: (...args: Parameters<MyDecoratedMethod>) => UniqueId, // Function that returns a unique id for the call from the decorated function args.
  ttl: 1000, // Time to live in milliseconds.
  maxCapacity: 100, // Maximum number of entries in the cache.
});

const result = await cache.on(async () => {
  // do something
});
```

### Options

```typescript
const cache = Cache.of('my-cache', {
  extractKey: (...args: Parameters<MyDecoratedMethod>) => UniqueId, // Function that returns a unique id for the call from the decorated function args.
  expiration: 1000, // Time to live in milliseconds.
  maxCapacity: 100, // Maximum number of entries in the cache.
});
```
npm package: @forts/resilience4ts-circuit-breaker
Description: Distributed circuit breaker implementation for @forts/resilience4ts
Author: Jack Hegarty
Latest version: 0.0.1

## @forts/resilience4ts-circuit-breaker

Circuit breaker pattern implementation for resilience4ts.

### Installation

`npm install @forts/resilience4ts-circuit-breaker`

### Usage

```typescript
import { CircuitBreaker, CircuitBreakerStrategy } from '@forts/resilience4ts-circuit-breaker';

const circuitBreaker = CircuitBreaker.of('my-circuit-breaker', {
  strategy: CircuitBreakerStrategy.Percentage,
  threshold: 0.5,
  interval: 1000 * 60 * 15,
  minimumFailures: 3,
  whitelist: [],
  circuitConnectionRetries: 3,
  halfOpenLimit: 3,
});

const result = await circuitBreaker.on(async () => {
  // do something
});
```

### Options

```typescript
const circuitBreaker = CircuitBreaker.of('my-circuit-breaker', {
  strategy: CircuitBreakerStrategy.Percentage, // Strategy to use for circuit breaker. Percentage or Volume-based.
  threshold: 0.5, // Threshold for circuit breaker. For percentage-based circuit breakers, the threshold is the error percentage at which the circuit breaker will trip open. For volume-based circuit breakers, the threshold is the number of failures before the circuit breaker will trip open.
  interval: 1000 * 60 * 15, // Interval in milliseconds between circuit breaker resets.
  minimumFailures: 3, // Minimum number of failures before the circuit breaker will trip open.
  whitelist: [], // Array of whitelisted errors that will not trip the circuit breaker.
  circuitConnectionRetries: 3, // Number of retries to attempt when the circuit breaker is open.
  halfOpenLimit: 3, // Number of concurrent calls to allow when the circuit breaker is half-open.
});
```
npm package: @forts/resilience4ts-concurrent-queue
Description: Concurrent queue pattern implementation for resilience4ts.
Author: Jack Hegarty
Latest version: 0.0.1

## @forts/resilience4ts-concurrent-queue

Concurrent queue pattern implementation for resilience4ts.

### Installation

`npm install @forts/resilience4ts-concurrent-queue`

### Usage

```typescript
import { ConcurrentQueue } from '@forts/resilience4ts-concurrent-queue';

const queue = ConcurrentQueue.of('my-queue', {
  withKey: (...args: Parameters<MyDecoratedMethod>) => UniqueId,
});

const result = await queue.on(async () => {
  // do something
});
```

### Options

```typescript
const queue = ConcurrentQueue.of('my-queue', {
  withKey: (...args: Parameters<MyDecoratedMethod>) => UniqueId, // Function that returns a unique id for the call from the decorated function args.
  maxAttempts?: number; // Maximum number of attempts to execute the decorated method.
  backoff?: number; // Backoff in milliseconds between attempts.
});
```
npm package: @forts/resilience4ts-hedge
Description: Hedge pattern implementation for @forts/resilience4ts
Author: Jack Hegarty
Latest version: 0.0.1

## @forts/resilience4ts-hedge

Hedge pattern implementation for resilience4ts.

### Installation

`npm install @forts/resilience4ts-hedge`

### Usage

```typescript
import { Hedge } from '@forts/resilience4ts-hedge';

const hedge = Hedge.of('my-hedge', {
  delay: 1000,
});

const result = await hedge.on(async () => {
  // do something
});
```

### Options

```typescript
const hedge = Hedge.of('my-hedge', {
  shouldHandle?: PredicateBuilder, // PredicateBuilder that determines whether the hedge should be applied.
  delay: number, // Delay in milliseconds before the hedge is executed.
  maxHedgedAttempts?: number, // Maximum number of attempts to execute the decorated method.
  actionGenerator?:
    | (<Args, Ret>(...args: Args extends unknown[] ? Args : [Args]) => Promise<Ret>)
    | null, // Function that returns the fallback result. Can accept the same arguments as the decorated method.
  exceptOnHedge?: boolean, // Whether to throw an exception if the hedge is executed.
});
```
npm package: @forts/resilience4ts-rate-limiter
Description: Rate limiter implementation for @forts/resilience4ts
Author: Jack Hegarty
Latest version: 0.0.1

## @forts/resilience4ts-rate-limiter

Rate limiter pattern implementation for resilience4ts.

### Installation

`npm install @forts/resilience4ts-rate-limiter`

### Usage

```typescript
import { RateLimiter } from '@forts/resilience4ts-rate-limiter';

const rateLimiter = RateLimiter.of('my-rate-limiter', {
  permitLimit: 1000,
  window: 1000,
});

const result = await rateLimiter.on(async () => {
  // do something
});
```

### Options

```typescript
const limiter = RateLimiter.of('my-rate-limiter', {
  permitLimit: number, // Maximum number of permits.
  queueLimit: number, // Maximum number of queued executions.
  window: number, // Window in milliseconds.
});
```
npm package: @forts/resilience4ts-timeout
Description: Timeout decorators for @forts/resilience4ts
Author: Jack Hegarty
Latest version: 0.0.1

## @forts/resilience4ts-timeout

Timeout pattern implementation for resilience4ts.

### Installation

`npm install @forts/resilience4ts-timeout`

### Usage

```typescript
import { Timeout } from '@forts/resilience4ts-timeout';

const timeout = Timeout.of('my-timeout', {
  timeout: 1000,
});

const result = await timeout.on(async () => {
  // do something
});
```

### Options

```typescript
const timeout = Timeout.of('my-timeout', {
  timeout: 1000, // Timeout in milliseconds.
});
```
npm package: @fortumo/hdcb-lightbox
Description: JavaScript library for creating Fortumo Hosted Direct Carrier Billing payment button(s) that open up the payment widget inside a lightbox.
Author: Fortumo
Latest version: 1.1.0

# About

Fortumo Hosted DCB: https://fortumo.com/products/dcb/

Developer documentation:
https://merchants.fortumo.com/integration-and-testing/hosted-dcb/

# Usage

```sh
$ npm install @fortumo/hdcb-lightbox --save
```

_then-in-your.js_

```javascript
// Import as
// CJS modules require
const HdcbLightbox = require('@fortumo/hdcb-lightbox');
// OR
// ES2015 modules import
import HdcbLightbox from '@fortumo/hdcb-lightbox';
...
const config_options = {...};
HdcbLightbox.addPaymentButton('myCustomId', config_options);
```

**OR**

_include-it-in-your.html_

```html
<!doctype html>
<html lang=en>

<head>
  <meta charset=utf-8>
  <title>My Website</title>
  <script src="https://unpkg.com/@fortumo/hdcb-lightbox/dist/HdcbLightbox.min.js"></script>
</head>

<body>
  <div id="myCustomId"></div>
  ...
  <script>
    var my_config_opts = {
      merchant_id: 'your-merchant-id',
      token: 'your-jwt-token-as-part-of-the-hdcb-widget-url',
      ...
    }
    HdcbLightbox.addPaymentButton('myCustomId', my_config_opts);
  </script>
</body>

</html>
```

# Configuration options and default values

Note: All customized values must be set per payment button.

**Your merchant ID from Fortumo:**

```javascript
merchant_id: '';
```

**Your integration parameters JWT token:**

```javascript
token: '';
```

**`<iframe title="{value here}">` for better accessibility:**

```javascript
iframe_title: 'Fortumo Hosted DCB';
```

**Fortumo HDCB widget's domain. Also can be set to Fortumo test environment's
domain:**

```javascript
domain: 'https://dcb.fortumo.com';
```

**Stylesheet used by this library for payment button and lightbox:**

```javascript
stylesheet_url: 'https://unpkg.com/@fortumo/hdcb-lightbox@{LIBRARY-VERSION}/dist/HdcbLightbox.min.css';
```

**Payment button's `alt` parameter value:**

```javascript
button_alt: 'Mobile Payments by Fortumo"';
```

**Payment button's image location:**

```javascript
button_img_src: 'https://assets.fortumo.com/fmp/fortumopay_150x50_red.png';
```

**Element ID of the payment button that is created. Not used for styling. Should
be set for each button if there exists more than one:**

```javascript
button_el_id: 'hdcb-payment-button';
```
npm package: @fortuna-extension/network-controller
Description: Provides an interface to the currently selected network via a MetaMask-compatible provider object
Latest version: 26.6.1

# `@metamask/network-controller`

Provides an interface to the currently selected network via a MetaMask-compatible provider object.

## Installation

`yarn add @metamask/network-controller`

or

`npm install @metamask/network-controller`

## Contributing

This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/core#readme).
npm package: @fortuna-wallet/controller-utils
Description: Data and convenience functions shared by multiple packages
Latest version: 11.15.1

# `@metamask/controller-utils`

Data and convenience functions shared by multiple packages.

## Installation

`yarn add @metamask/controller-utils`

or

`npm install @metamask/controller-utils`

## Contributing

This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/core#readme).
npm package: @fortune-sheet/core
Description: FortuneSheet is a drop-in javascript spreadsheet library that provides rich features like Excel and Google Sheets
Latest version: 1.0.4

# @fortune-sheet/core

FortuneSheet is a drop-in javascript spreadsheet library that provides rich features like Excel and Google Sheets

See our repo [fortune-sheet](https://github.com/ruilisi/fortune-sheet) for more information.

## Install

Using npm:

```bash
$ npm install --save  @fortune-sheet/core
```

or using yarn:

```bash
$ yarn add @fortune-sheet/core
```
npm package: @fortuneswapfinance/uikit
Description: Set of UI components for pancake projects
Latest version: 0.0.6

# 🥞 Toll UIkit

[![Version](https://img.shields.io/npm/v/@fortuneswapfinance/uikit)](https://www.npmjs.com/package/@fortuneswapfinance/uikit) [![Size](https://img.shields.io/bundlephobia/min/@fortuneswapfinance/uikit)](https://www.npmjs.com/package/@fortuneswapfinance/uikit)

Toll UIkit is a set of React components and hooks used to build pages on Toll's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @fortuneswapfinance/uikit`

## Setup

### Theme

Before using Toll UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@fortuneswapfinance/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@fortuneswapfinance/uikit'
...
<ResetCSS />
```
npm package: @forumone/eslint-config-es5
Description: Forum One's ESLint configuration for JavaScript and TypeScript
Author: Forum One
Latest version: 3.0.6

Forum One JavaScript Coding Style
================================

Our JavaScript code style conventions are based on:
- [ESLint's Recommended Config](https://eslint.org/docs/latest/rules/)
- [TypeScript ESLint](https://typescript-eslint.io/)
- [Prettier](https://prettier.io/docs/related-projects#eslint-integrations)
- [Prettier Plugin: Organize Imports](https://github.com/simonhaenisch/prettier-plugin-organize-imports)
with customizations for specific environments and team practices.

Usage
-----
1. Run `npm install eslint-config-forumone-es5`.
2. Add `extends: 'forumone-es5'` to your ESLint configuration file.
npm package: @forumone/eslint-config-react
Description: Forum One's ESLint configuration for React
Author: Forum One
Latest version: 3.0.6

Forum One React Coding Style
================================

Our JavaScript code style conventions are based on:
- [ESLint's Recommended Config](https://eslint.org/docs/latest/rules/)
- [TypeScript ESLint](https://typescript-eslint.io/)
- [Prettier](https://prettier.io/docs/related-projects#eslint-integrations)
- [Prettier Plugin: Organize Imports](https://github.com/simonhaenisch/prettier-plugin-organize-imports)
  with customizations for specific environments and team practices.

For best results, mix with a base style guide of your choice. We recommend `eslint-config-forumone-es5`:
```js
import { defineConfig } from 'eslint/config';
import f1Config from 'eslint-config-forumone-es5';
import f1ReactConfig from 'eslint-config-forumone-react';

const config = defineConfig([
  {
    extends: [f1Config, f1ReactConfig]
  }
]);

export default config;
```

Usage
-----
1. Run `eslint-config-forumone-react`.
2. Add `extends: 'forumone-es5'` to your ESLint configuration file.
npm package: @forumone/twig-loader
Description: Webpack loader for compiling twig.js templates (Forum One's fork)
Author: Mathieu Maes @ Zimmo.be
Latest version: 1.0.2

# twig-loader [![Build Status](https://travis-ci.org/zimmo-be/twig-loader.svg)](https://travis-ci.org/zimmo-be/twig-loader)
Webpack loader for compiling Twig.js templates. This loader will allow you to require Twig.js views to your code.

## Installation

`npm install twig-loader`

## Usage

[Documentation: Using loaders](http://webpack.github.io/docs/using-loaders.html?branch=master)

``` javascript

module.exports = {
    //...

    module: {
        rules: [
            {
                test: /\.twig$/,
                loader: "twig-loader",
                options: {
                    // See options section below
                },
            }
        ]
    },

    node: {
        fs: "empty" // avoids error messages
    }
};
```

### Options

- `twigOptions`: optional; a map of options to be passed through to Twig.
  Example: `{autoescape: true}`

## Loading templates

```twig
{# File: dialog.html.twig #}
<p>{{title}}</p>
```

```javascript
// File: app.js
var template = require("dialog.html.twig");
// => returns pre-compiled template as a function and automatically includes Twig.js to your project

var html = template({title: 'dialog title'});
// => Render the view with the given context

```

When you extend another view, it will also be added as a dependency. All twig functions that refer to additional templates are supported: import, include, extends & embed.

## Changelog
0.4.1 / 2018-06-12
==================
 * Upgrade mocha to fix security vulnerability warning

0.4.0 / 2018-05-17
==================
 * Add ablity to pass options to twig (PR #39)

0.3.1 / 2017-11-08
==================
 * Update to Twig.js 1.10, fixes #29

0.3.0 / 2017-02-19
==================
 * replace full path with a hash and implement mapcache for id/path resolution, fixes #12

0.2.4 / 2016-12-29
==================
 * Downgrade Twig.js back to 0.8.9 because of https://github.com/twigjs/twig.js/issues/440

0.2.3 / 2016-06-11
==================
 * Improve watch operation (rebuilding of modules)
 * Refactoring so compiler and the loader are in seperate modules
 * Add Twig as peer dependency

0.2.2 / 2016-06-03
==================

 * Add `embed` support
 * Update Twig.js version

0.2.1 / 2016-04-18
==================

* Improve `import` support (https://github.com/zimmo-be/twig-loader/pull/8)
* Rethrow exceptions when they occur during rendering to improve testing

0.2.0 / 2016-01-21
==================

* Add support for import statements (useful for Macro's)
* Correctly resolve dependencies from include/import/extend statements with relative path support: [\#3] and [\#5]
* CHANGE: No longer add the `.twig` file extension. After upgrading twig-loader, you may need to update your files and add `.twig` manually
npm package: @forvais/algorithms
Description: A poor adapation of C++'s algorithm library
Latest version: 1.0.0-dev.0

# Algorithms
A poor adaptation of C++'s algorithm library including alternatives for existing native APIs like `Array.prototype.every`, `Array.prototype.some` and additional utility functions.

Not all implementations are necessarily more performant than native equivalents, and therefore this library is NOT production ready and should only be used in prototype or non-performance critical applications.