open-index/open-npm huggingface dataset:
npm package: @quentincaffeino/manypixels-svelte
Description: Manypixels SVG Illustrations for svelte
Author: quentincaffeino
Latest version: 0.2.2

# @quentincaffeino/manypixels-svelte

All the credit goes to awesome ManyPixels team for creating these awesome illistrations.

## Usage

Svelte components export these props:

- class - Add class to svg element
- size - This would set width and height of an image
- width
- height

### Component

```svelte
<script>
  import Fortnite from "@quentincaffeino/manypixels-svelte/src/flatline/Fortnite.svelte";
</script>

<Fortnite />
```

### Lazy loading

```svelte
<script>
  import { onMount } from "svelte";

  let component = null;

  onMount(async () => {
    try {
      component = (
        await import(
          "@quentincaffeino/manypixels-svelte/src/flatline/Fortnite.svelte"
        )
      ).default;
    } catch (e) {
      console.error(e);
    }
  });
</script>

<svelte:component this={component} />
```

## Licensing

For information about licensing for ManyPixels Illustrations see [this page](https://www.manypixels.co/gallery).

Code is published under MIT license.
npm package: @quentincaffeino/manypixels-svg
Description: Manypixels SVG Illustrations
Author: quentincaffeino
Latest version: 0.1.1

# @quentincaffeino/manypixels-svg

All the credit goes to awesome ManyPixels team for creating these awesome illistrations.

## Using with Svelte

```svelte
<script>
  import Fortnite from "@quentincaffeino/manypixels-svg/src/flatline/Fortnite.svg";
</script>

<Fortnite />
```

> Note: For svelte you might need to add something like `rollup-plugin-svelte-svg` to your bundling process.

## File Naming

All illustrations are renamed to UpperCamelCase (spaces and symbols are removed). For example `Online report` is renamed to `OnlineReport`.

## Licensing

For information about licensing for ManyPixels Illustrations see [this page](https://www.manypixels.co/gallery).

Code is published under MIT license.
npm package: @quentingruber/simple-json
Description: A simple json module to extract data from a .json 
Author: QuentinGruber
Latest version: 1.1.0
Deprecated: This package is just useless, use require()

# Installation 

1. Get [node](http://nodejs.org).
2. `npm install -g @quentingruber/simple-json`

# Usage

```javascript
var Sjs = require('@quentingruber/simple-json');
JsonData = Sjs.extract("yourjsonfile.json");
JsonData = Sjs.findkeyin("yourjsonfile.json","YourStringToFind");
```
npm package: @quentinguidee/mun-ui
Description: A modern UI library
Author: quentinguidee
Latest version: 0.2.10

# mun-ui

## Install

```bash
npm install --save mun-ui
```

or

```bash
yarn add mun-ui
```

## License

MIT © [quentinguidee](https://github.com/quentinguidee)
npm package: @quentinguidee/react-jade-ui
Description: A React library with Jade UI components
Author: quentinguidee
Latest version: 0.3.2

# react-jade-ui

> A React library with Jade UI components

[![NPM](https://img.shields.io/npm/v/@quentinguidee/react-jade-ui.svg)](https://www.npmjs.com/package/@quentinguidee/react-jade-ui) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save react-jade-ui
```

## License

MIT © [quentinguidee](https://github.com/quentinguidee)
npm package: @quentinlintz/chatml
Description: Prime GPT with a context in a single API request.
Author: Quentin Lintz
Latest version: 0.0.2

# ChatML

ChatML (Chat Markup Language) is a package that prevents prompt injection attacks by prepending your prompts with a conversation.

## Installation

```bash
pnpm add @quentinlintz/chatml
```

```bash
npm i @quentinlintz/chatml
```

```bash
yarn add @quentinlintz/chatml
```

## Setup

The .chatml.yaml file must be at the root of your project and formatted correctly. Here is an example of correct formatting:

```yaml
messages:
  - role: system
    content: You are a helpful assistant.
  - role: user
    content: Who won the world series in 2020?
  - role: assistant
    content: The Los Angeles Dodgers won the World Series in 2020.
```

The configuration file must contain a `messages` array, which is a list of messages that will be prepended to your prompt. Each message must have a `role` property, which can be one of `system`, `user`, or `assistant`, and a `content` property, which is the message text.

## Usage

Import the `prepend` function and assign it to the `messages` parameter in your payload to warmup the model.

```javascript
import { prepend } from "@quentinlintz/chatml";

const completion = await openai.createChatCompletion({
  model: "gpt-3.5-turbo",
  messages: prepend("What kind of drinks do you have?"),
});
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @quentinm22/cmp-pagination-react
Description: PACKAGE
Author: quentinM22
Latest version: 0.0.4



# @quentinm22/cmp-pagination-react

PACKAGE 




## Installation

Install Package in React project

```bash
 npm i @quentinm22/cmp-pagination-react

 or

  yarn @quentinm22/cmp-pagination-react
```
    
### Update

```bash
  npm i @quentinm22/cmp-pagination-react@latest

  or

  yarn add @quentinm22/cmp-pagination-react@latest
```

## Usage/Examples

```javascript
import React, { useState } from 'react'
import {Pagination} from '@quentinm22/cmp-pagination-react'

const App = () => {
  const arrElements = [1,2,3,4,5,6,7,8,9,10,11,12,13]
  const [currentPage, setCurrentPage] = useState(1);
  const [elementsPerPage, setElementsPerPage] = useState(3);
  const indexLastItem = currentPage * elementsPerPage;
  const indexFirstItem = indexLastItem - elementsPerPage;
  const currentItems = arrElements.slice(indexFirstItem, indexLastItem);
  return(
    {currentItems.map(e => 
                <p>{e}</p>
            )}
          
            <Pagination
            currentPage={currentPage}
            setCurrentPage={setCurrentPage} 
            limit={arrElements.length}
            elementsPerPage={elementsPerPage}
            colorPrimary={'#3e3934'}
            colorFont={"white"}
            />
  )
}

```


| Props  | Value |
| ------------- | ------------- |
| currentPage | number => localState  |
|  setCurentPage | function => localState  |
|  limit  | number => array.length |
|  elementPerPage | number  |
|  colorPrimary | string |
|  colorFont | string  |

## Authors

- [@quentinM22](https://github.com/quentinM22)
npm package: @quentinm22/datepicker-react-cmp
Description: PACKAGE datepicker
Author: quentinM22
Latest version: 1.2.4


# @quentinm22/datepicker-react-cmp

PACKAGE datepicker




## Installation

Install Package in React project

```bash
  npm i @quentinm22/datepicker-react-cmp

  yarn add  @quentinm22/datepicker-react-cmp
```
    
### Update

```bash
  npm i @quentinm22/datepicker-react-cmp@latest

  yarn add  @quentinm22/datepicker-react-cmp@latest
```

## Usage/Examples

```javascript
import React, { useState } from "react"
import DatePicker from "@quentinm22/datepicker-react-cmp"

function App() {
  const [startDate, setStartDate] = useState("")

  return (
    <DatePicker
      idInput="start-date"
      className="error-input"
      setState={setStartDate}
      state={startDate}
    />
  )
}

export default App;

```


| Props  | Value |
| ------------- | ------------- |
| maxDate  | string or nothing  |
| idInput  | string or nothing  |
| className  | string or nothing  |
| setState | (value: string) => void |
| state | string |
## Authors

- [@quentinM22](https://github.com/quentinM22)
npm package: @quentinm22/modal-cmp-react
Description: PACKAGE npm-modal-react-cmp
Author: quentinM22
Latest version: 1.0.1



# @quentinm22/npm-modal-react-cmp

PACKAGE npm-modal-react-cmp




## Installation

Install Package in React project

```bash
  npm i @quentinm22/modal-cmp-react

  yarn add @quentinm22/modal-cmp-react
```
    
### Update

```bash
  npm i @quentinm22/modal-cmp-reactp@latest

  yarn add @quentinm22/modal-cmp-react@latest
```

## Usage/Examples

```javascript
import{ Modal } from "@quentinm22/npm-modal-react-cmp"

function App() {
	const [toggle, setToggle] = useState(false)
	const bgColor = ["10", "61", "97", "0.5"]
	return (
		<>
			<button onClick={() => setToggle(true)}>ShowModal</button>
			<Modal
				toggle={toggle}
				onClose={() => setToggle(false)}
				backgroundColor={bgColor}
				border="#60a3bc"
				title="test"
				content="Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem repellat nesciunt a? Beatae dolore adipisci minima rem, quibusdam omnis officiis accusamus eius illo distinctio, perferendis in perspiciatis voluptatem natus quis."
			/>
		</>
	)
}
```


| Props  | Value |
| ------------- | ------------- |
| toggle  | bool  |
| onClose  | function => setState(false)  |
|   backgroundColor  | array => ["r","g","b","a"]  |
| border  | string => color hexa  |
| width  | number  |
| title  | string  |
| content  | string  |

## Authors

- [@quentinM22](https://github.com/quentinM22)
npm package: @quentinm22/table-cmp-react
Description: PACKAGE table
Author: quentinM22
Latest version: 1.2.6


# @quentinm22/table-cmp-react

PACKAGE table


## Installation

Install Package in React project

```bash
  npm i @quentinm22/table-cmp-react

  yarn add @quentinm22/table-cmp-react
```
    
### Update

```bash
  npm i @quentinm22/table-cmp-react@latest

  yarn add @quentinm22/table-cmp-react@latest
```

## Usage/Examples

```javascript
import {Table} from '@quentinm22/table-cmp-react'

function App() {
	const [tableEmployee, setTableEmployee] = useState([])
	const [attributes, setAttributes] = useState([])
	const [dataTest, setDataTest] = useState(false)

  const mockData = [{
		
		"firstName": "John",
		"lastName": "Doe",
		"startDate": "2022-01-01",
		"department": "Marketing",
		"dateOfBirth": "1990-05-15",
		"street": "123 Main St",
		"city": "New York",
		"state": "NY",
		"zipCode": "10001"
	},
	{
		"firstName": "Jane",
		"lastName": "Smith",
		"startDate": "2021-07-15",
		"department": "Human Resources",
		"dateOfBirth": "1985-12-10",
		"street": "456 Elm St",
		"city": "Los Angeles",
		"state": "CA",
		"zipCode": "90001"
	},
	{
		"firstName": "Michael",
		"lastName": "Johnson",
		"startDate": "2020-03-10",
		"department": "Finance",
		"dateOfBirth": "1978-09-20",
		"street": "789 Oak St",
		"city": "Chicago",
		"state": "IL",
		"zipCode": "60601"
	}]

	useEffect(() => {
		let arrayAllEmployee = []
		let attributesFilter = ["firstName", "lastName"]
		if (dataTest) {
			mockData.map((data) => arrayAllEmployee.push(data))
		}
		setTableEmployee(arrayAllEmployee)
		setAttributes(attributesFilter)
	}, [dataTest])
	return (
		<div
			style={{
				padding: "150px",
			}}
		>
			<label>MockData</label>
			<input type="checkbox" onChange={() => setDataTest(!dataTest)} />
			<Table
				title="Current Employees"
				arrayElement={tableEmployee}
				attributes={attributes}
				colorPrimary="#0a3d62"
				colorSecondary="#60a3bc"
			/>
		</div>
	)
}
```


| Props  | Value |
| ------------- | ------------- |
| title  | string  |
| arrayElement  | array => object  |
|  attribute  | array => string (name of attributes for search input)  |
| colorPrimary  | string => color hexa  |
| colorSecondary  | string => color hexa  |

## Authors

- [@quentinM22](https://github.com/quentinM22)
npm package: @quentinroy/measure-display-view
Description: A small view to measure the physical size of a display
Author: Quentin Roy
Latest version: 1.0.2

# Measure Display View

This is a small utility to let the user measure their display from a credit
card.

## Install with NPM or Yarn

```sh
npm add @quentinroy/measure-display-view
```

The library exports an ES module as its default package export, as well as `style.css`.
Both must be imported in your project for the view to work.

Using a package manager like npm or yarn, it is easier to use the library with a bundler that enables importing css files from you JS modules. For example:

```js
import MeasureDisplayView from "@quentinroy/measure-display-view"
import "@quentinroy/measure-display-view/style.css"
```

## Install from sources

Download the repository. All relevant files are in the `lib` folder. Import `index.js` as an ES module. Include `measure-display-view.css` as a stylesheet in your HTML.

## API

```js
import MeasureDisplayView, { Directions } from "path/to/lib/index.js"

let mdv = MeasureDisplayView({
  // Required: where to mount the view.
  node: document.querySelector("#target-node"),
  // Optional: Whether vertical or horizontal rulers should be used.
  rulersOrientation: Directions.horizontal,
  // Optional: function to call when the ratio has changed.
  onChange(newPxMmRatio) {},
  // Optional: the initial ratio.
  ratio: 1,
})

mdv.setRatio(2.1)
console.log("ratio:", mdv.getRatio())

let { width: displayWidth, heigh: displayHeight } = mdv.getDisplayDimensions()
console.log("dimensions:", `${displayWidth} × ${displayHeight}`)

mdv.remove()
```
npm package: @quentinroy/polygon-centroid
Description: Chunk an array into successive pairs.
Author: Quentin Roy
Latest version: 1.0.1

[![Build Status](https://travis-ci.org/QuentinRoy/polygon-centroid.svg?branch=master)](https://travis-ci.org/QuentinRoy/polygon-centroid)
[![codecov](https://codecov.io/gh/QuentinRoy/polygon-centroid/branch/master/graph/badge.svg)](https://codecov.io/gh/QuentinRoy/polygon-centroid)
[![dependencies Status](https://david-dm.org/quentinroy/polygon-centroid/status.svg)](https://david-dm.org/quentinroy/polygon-centroid)
[![devDependencies Status](https://david-dm.org/quentinroy/polygon-centroid/dev-status.svg)](https://david-dm.org/quentinroy/polygon-centroid?type=dev)
[![npm version](https://img.shields.io/npm/v/@quentinroy/polygon-centroid.svg)](https://www.npmjs.com/package/@quentinroy/polygon-centroid)

# @quentinroy/polygon-centroid

Calculate the centroid of any non-self-intersecting closed polygon.

## Install

`npm install @quentinroy/polygon-centroid`

## Example

```js
const polygonCentroid = require("@quentinroy/polygon-centroid");
const centroid = polygonCentroid([
  { x: 0, y: 0 },
  { x: 0, y: 1 },
  { x: 1, y: 1 },
]);
```
npm package: @quentinroy/snow
Description: Simple snow animation.
Author: Quentin Roy
Latest version: 0.2.0

# Snow

A small utility to simulate snow.

## Usage

```html
<canvas id="snow-canvas" />
```

```js
let canvas = document.querySelector("#snow-canvas")

// Optional argument. All options become mutable properties. Check sources
// for more information.
let options = {
  meanSize: 10,
  sdSize: 2,
  color: "rgba(255,255,255,0.9)",
  meanSpeed: 150,
  sdSpeed: 10,
  flow: 0.01,
  sdAngle: 5,
  isFpsShown: false,
}

// Create and start the snow animation.
let snow = new Snow(canvas, options)

// Stop the snow animation.
snow.stop()

// Resume the snow animation.
snow.resume()
```
npm package: @quenty/accessorytypeutils
Description: Utility methods for accessory types
Latest version: 1.8.0

## AccessoryTypeUtils

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility methods for accessory types

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AccessoryTypeUtils">View docs →</a></div>

## Installation

```
npm install @quenty/accessorytypeutils --save
```
npm package: @quenty/actionmanager
Description: Holds single toggleable actions (like a tool system)
Latest version: 13.30.0

## ActionManager
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Holds single toggleable actions (like a tool system)

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ActionManager">View docs →</a></div>

## Installation
```
npm install @quenty/actionmanager --save
```

## Usage
Usage is designed to be simple.

### `ActionManager.new()`

### `ActionManager:StopCurrentAction()`

### `ActionManager:ActivateAction(name, ...)`

### `ActionManager:GetAction(name)`

### `ActionManager:GetActions()`

### `ActionManager:AddAction(action)`
npm package: @quenty/adorneeboundingbox
Description: Handles logic for reactive bounding box monitoring
Latest version: 8.34.0

## AdorneeBoundingBox

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Handles logic for reactive bounding box monitoring

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AdorneeBoundingBoxUtils">View docs →</a></div>

## Installation

```
npm install @quenty/adorneeboundingbox --save
```
npm package: @quenty/adorneeutils
Description: AdorneeUtils - Generic adornee functions to make attaching to objects in Roblox easier.
Latest version: 3.3.5

## AdorneeUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

AdorneeUtils - Generic adornee functions to make attaching to objects in Roblox easier.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AdorneeUtils">View docs →</a></div>

## Installation
```
npm install @quenty/adorneeutils --save
```
npm package: @quenty/adorneevalue
Description: Adorneevalue - Helper class to transform a an adornee into relative positions/information.
Latest version: 10.33.0

## AdorneeValue
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

AdorneeValue - Helper class to transform a an adornee into relative positions/information

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AdorneeValue">View docs →</a></div>

## Installation
```
npm install @quenty/adorneevalue --save
```
npm package: @quenty/aggregator
Description: Aggregates async promise requests
Latest version: 1.13.0

## Aggregator

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Aggregates async promise requests

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AggregatorUtils">View docs →</a></div>

## Installation

```
npm install @quenty/aggregator --save
```
npm package: @quenty/animationgroup
Description: A group of weighted tracks that can be played back with weighted probability. The closest example to this is the idle animation that looks around at a 1:10 ratio when you're standing still in default Roblox animation script.
Latest version: 10.12.0

## AnimationGroup
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

A group of weighted tracks that can be played back with weighted probability. The closest example to this is the idle animation that looks around at a 1:10 ratio when you're standing still in default Roblox animation script.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AnimationGroup">View docs →</a></div>

## Installation
```
npm install @quenty/animationgroup --save
```
npm package: @quenty/animationprovider
Description: Provides animations for anything tagged with "AnimationContainer" and from a folder named "Animations" in ReplicatedStorage.
Latest version: 11.33.0

## AnimationProvider
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides animations for anything tagged with "AnimationContainer" and from a folder named "Animations" in ReplicatedStorage.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AnimationProvider">View docs →</a></div>

## Installation
```
npm install @quenty/animationprovider --save
```
npm package: @quenty/animations
Description: Utility methods for playing back animations on Roblox
Latest version: 8.29.0

## Animations

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility methods for playing back animations on Roblox

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AnimationsUtils">View docs →</a></div>

## Installation

```
npm install @quenty/animations --save
```
npm package: @quenty/animationtrackutils
Description: Utility functions for animations
Latest version: 2.3.3

## AnimationTrackUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions for animations

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AnimationTrackUtils">View docs →</a></div>

## Installation
```
npm install @quenty/animationtrackutils --save
```
npm package: @quenty/applytagtotaggedchildren
Description: Class that while constructed apply a tag to any children of the parent it is given, assuming that class has the required tag. This lets you bridge tag systems since CollectionService is used as an interop model between many components in scripts.
Latest version: 10.12.0

## ApplyTagToTaggedChildren
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Class that while constructed apply a tag to any children of the parent it is given, assuming that class has the required tag. This lets you bridge tag systems since CollectionService is used as an interop model between many components in scripts.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ApplyTagToTaggedChildren">View docs →</a></div>

## Installation
```
npm install @quenty/applytagtotaggedchildren --save
```

## Usage
Usage is designed to be simple.

### `ApplyTagToTaggedChildren.new(parent, tag, requiredTag)`
npm package: @quenty/assetserviceutils
Description: Provides a wrapper for AssetService&#x27;s async calls
Latest version: 5.29.0

## AssetServiceUtils

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides a wrapper for AssetService&#x27;s async calls

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AssetServiceUtils">View docs →</a></div>

## Installation

```
npm install @quenty/assetserviceutils --save
```
npm package: @quenty/attributeutils
Description: Provides utility functions to work with attributes in Roblox
Latest version: 14.27.0

## AttributeUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides utility functions to work with attributes in Roblox

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AttributeUtils">View docs →</a></div>

## Installation
```
npm install @quenty/attributeutils --save
```
npm package: @quenty/avatareditorutils
Description: Provides utility functions to work with the Roblox AvatarEditorService
Latest version: 7.35.0

## AvatarEditorUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides utility functions to work with the Roblox AvatarEditorService

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AvatarEditorUtils">View docs →</a></div>

## Installation
```
npm install @quenty/avatareditorutils --save
```
npm package: @quenty/axisangleutils
Description: Utility functions for axis angles.
Latest version: 2.4.2

## AxisAngleUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions for axis angles.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/AxisAngleUtils">View docs →</a></div>

## Installation
```
npm install @quenty/axisangleutils --save
```
npm package: @quenty/badgeutils
Description: Utility functions involving badges on Roblox
Latest version: 10.16.0

## BadgeUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions involving badges on Roblox

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BadgeUtils">View docs →</a></div>

## Installation
```
npm install @quenty/badgeutils --save
```
npm package: @quenty/baseobject
Description: BaseObject implementation with Maid attached for Roblox
Latest version: 10.12.0

## BaseObject
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

BaseObject implementation with Maid attached. A BaseObject basically just adds the :Destroy() interface, and a private member `_maid`, along with an optional object it references.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BaseObject">View docs →</a></div>

## Installation
```
npm install @quenty/baseobject --save
```
npm package: @quenty/basicpane
Description: Base UI object with visibility and a maid
Latest version: 13.28.0

## BasicPane
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Base UI object with visibility and a maid

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BasicPane">View docs →</a></div>

## Installation
```
npm install @quenty/basicpane --save
```
npm package: @quenty/bezierutils
Description: Make interpolation curves like CSS
Latest version: 2.3.2

## BezierUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Make interpolation curves like CSS

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BezierUtils">View docs →</a></div>

## Installation
```
npm install @quenty/bezierutils --save
```

A good place to generate and test these out: http://cubic-bezier.com/
Based upon https://gist.github.com/gre/1926947#file-keyspline-js
npm package: @quenty/binder
Description: Utility object to Bind a class to Roblox object, and associated helper methods
Latest version: 14.32.0

## Binder
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Binders bind a class to Roblox Instance

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Binder">View docs →</a></div>

## Installation
```
npm install @quenty/binder --save
```

## Articles and more

* [5 powerful programming patterns](https://www.youtube.com/watch?v=MOjiKS6F59s&t=1896s)
* [OzzyPig's Binder Pattern Post](https://ozzypig.com/2021/11/15/binder-pattern)
npm package: @quenty/bindtocloseservice
Description: Bind to game close API in a centralized location.
Latest version: 8.28.0

## BindToCloseService
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Service which binds to game close and allows unbinding.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BindToCloseService">View docs →</a></div>

## Installation
```
npm install @quenty/bindtocloseservice --save
```
npm package: @quenty/blend
Description: Declarative UI system.
Latest version: 12.32.0

## Blend
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Declarative UI system inspired by Fusion

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Blend">View docs →</a></div>

## Installation
```
npm install @quenty/blend --save
```

## Attributes

This system is designed to be very similar to fusion, except that we do not having any global state management, do not rely upon weak references, works with my types, and is built on top of Rx types.

* No global state
* Extensible
* No implicit reliance upon GC
npm package: @quenty/bodycolorsutils
Description: Body color helper utilities for merging and representing body colors over the network and datastore
Latest version: 7.32.0

## BodyColorsUtils

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Body color helper utilities for merging and representing body colors over the network and datastore

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BodyColorsDataUtils">View docs →</a></div>

## Installation

```
npm install @quenty/bodycolorsutils --save
```
npm package: @quenty/boundingboxutils
Description: Bounding box utilties. Prefer model:GetBoundingBox() in most cases. However, sometimes grouping isn't possible.
Latest version: 4.5.2

## BoundingBoxUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Bounding box utilties. Prefer model:GetBoundingBox() in most cases. However, sometimes grouping isn't possible.

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BoundingBoxUtils">View docs →</a></div>

## Installation
```
npm install @quenty/boundingboxutils --save
```
npm package: @quenty/boundlinkutils
Description: Utility functions involving binders and links
Latest version: 14.33.0

## BoundLinkUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions involving binders and links

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/BoundLinkCollection">View docs →</a></div>

## Installation
```
npm install @quenty/boundlinkutils --save
```
npm package: @quenty/brio
Description: Brios wrap an object and either are alive or dead
Latest version: 14.27.0

## Brio
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Brios wrap a value and provide the following constraints

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Brio">View docs →</a></div>

## Installation
```
npm install @quenty/brio --save
```
npm package: @quenty/buttondragmodel
Description: Model for dragging buttons around
Latest version: 1.27.0

## ButtonDragModel

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Model for dragging buttons around

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ButtonDragModelUtils">View docs →</a></div>

## Installation

```
npm install @quenty/buttondragmodel --save
```
npm package: @quenty/buttonhighlightmodel
Description: Contains model information for the current button
Latest version: 14.32.0

## ButtonHighlightModel
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Contains model information for the current button

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ButtonHighlightModel">View docs →</a></div>

## Installation
```
npm install @quenty/buttonhighlightmodel --save
```
npm package: @quenty/buttonutils
Description: Provides utility for editing buttons
Latest version: 2.3.3

## ButtonUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Provides utility for editing buttons

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/ButtonUtils">View docs →</a></div>

## Installation
```
npm install @quenty/buttonutils --save
```
npm package: @quenty/camerainfo
Description: Utility method to transfer camera info to and from the client
Latest version: 1.3.2

## CameraInfo

<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility method to transfer camera info to and from the client

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/CameraInfoUtils">View docs →</a></div>

## Installation

```
npm install @quenty/camerainfo --save
```
npm package: @quenty/camerastoryutils
Description: CameraStoryUtils - utility functions for 3D viewport hoarcekat stories.
Latest version: 10.17.0

## CameraStoryUtils
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

Utility functions to help with 3D stories using viewport frames

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/CameraStoryUtils">View docs →</a></div>

## Installation
```
npm install @quenty/camerastoryutils --save
```
npm package: @quenty/cancellabledelay
Description: cancellableDelay a delay that can be cancelled
Latest version: 3.6.2

## cancellableDelay
<div align="center">
  <a href="http://quenty.github.io/NevermoreEngine/">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
  </a>
  <a href="https://discord.gg/mhtGUS8">
    <img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
  </a>
  <a href="https://github.com/Quenty/NevermoreEngine/actions">
    <img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
  </a>
</div>

cancellableDelay a delay that can be cancelled

<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/cancellableDelay">View docs →</a></div>

## Installation
```
npm install @quenty/cancellabledelay --save
```

## Usage
Usage is pretty simple, it's a delay function that returns.

```lua
local cancel = cancellableDelay(2, function(arg)
    print("Executing", arg)
end, 5)

delay(1, function()
    cancel() -- cancel
end)
```