open-index/open-npm huggingface dataset:
npm package: @serafin/api
Description: A RESTful self-descriptive API based on Serafin pipelines
Latest version: 0.15.1

<p align="center"><img src="https://serafin-labs.github.io/images/logo-serafin-with-text-1080.png" width="300"/></p>

**Serafin API** is a RESTful self-descriptive API based on Serafin pipelines.
npm package: @serafin/open-api
Description: Open Api 3 typescript types definition
Latest version: 3.0.1

# Serafin Open Api
## Install
```
npm i @serafin/open-api
```
## Open Api 3 type definitions

This repo contains type definitions for the Open Api 3 standard. See official documentation for more details: [https://www.openapis.org/](https://www.openapis.org/)
npm package: @serafinomb/react-scroll-direction
Description: React high order component (HOC) to respond to scroll direction changes
Author: Serafino Messina
Latest version: 1.0.4

# WithScrollDirection
Easily detect scroll direction changes. Useful to hide sticky elements when
scrolling down.

### Installation
`npm install @serafinomb/react-scroll-direction`

### Usage
```javascript
withScrollDirection(Component[, offsetThreshold = 0])
```

* **Component** Your React component;
* **offsetThreshold** Integer value. While the scroll amount (pixels from the top
  of the document) is below or equal to `offsetThreshold`, `scrollDirection` is
  going to be `null`.

### Example
```javascript
import withScrollDirection, {
  SCROLL_DIRECTION_DOWN,
} from '@serafinomb/react-scroll-direction';

const HEADER_HEIGHT_PX = 200;

// 4. Set the height to be equal to the offsetThreshold and use the
//    scrollDirection value to hide/show our Header.
function headerStyle(scrollDirection) {
  return {
    height: HEADER_HEIGHT_PX,
    transform: scrollDirection === SCROLL_DIRECTION_DOWN ? 'translateY(-100%)' : null,
  };
}

// 3. With scrollDirection generate the Header styles
const Header = ({ scrollDirection, ...props }) => (
  <div style={headerStyle(scrollDirection)} {...props}>
    My website header
  </div>
);

// 2. Pass down the scrollDirection property to our Header component
const App = props => (
  <Header scrollDirection={props.scrollDirection} />
  ...
)

// 1. Pass the component to the withScrollDirection HOC and specify an
//    offsetThreshold
export default withScrollDirection(App, HEADER_HEIGHT_PX);
```

### 
`scrollDirection` can assume the following values:
* `null` when the scroll amount is less than or equal to `offsetThreshold`.
* SCROLL_DIRECTION_DOWN when scrolling down (and the scroll amount is greater
  than `offsetThreshold`);
* SCROLL_DIRECTION_UP when scrolling up (and the scroll amount is greater than
  `offsetThreshold`);

### Demo
A demo can be found at `/example`.

To run it locally, clone the repository and run the following commands:
* `npm pack`
* `cd example`
* `npm install`
* `npm run start`

or with docker:
* `npm pack`
* `docker run -it --rm -v $(pwd):/ws:delegated -w /ws/example serafinomb/node npm install`
* `cd example`
* `docker run -it --rm -v $(pwd):/ws:delegated -w /ws -p 3000:3000 serafinomb/node npm run start`

### Development
As of right now I've not found a convenient way to quickly test changes to the
`/src/index.js` file. Since I don't think there are going to be any new
developments in the near future, I'm going to leave it as is and invest some
time to find a better development workflow when needed.
npm package: @serajam/generator-nodeapi
Description: Scaffold out a back-end node api using express 
Author: selvaganeshrajam
Latest version: 1.0.0

# generator-nodeapi [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url]
> Express JS API 

## Installation

First, install [Yeoman](http://yeoman.io) and generator-nodeapi using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)).

```bash
npm install -g yo
npm install -g generator-nodeapi
```

Then generate your new project:

```bash
yo nodeapi
```

## Getting To Know Yeoman

 * Yeoman has a heart of gold.
 * Yeoman is a person with feelings and opinions, but is very easy to work with.
 * Yeoman can be too opinionated at times but is easily convinced not to be.
 * Feel free to [learn more about Yeoman](http://yeoman.io/).

## License

MIT © [selvaganeshrajam@gmail.com](http://github.com/ganny26)


[npm-image]: https://badge.fury.io/js/generator-nodeapi.svg
[npm-url]: https://npmjs.org/package/generator-nodeapi
[travis-image]: https://travis-ci.org/ganny26/generator-nodeapi.svg?branch=master
[travis-url]: https://travis-ci.org/ganny26/generator-nodeapi
[daviddm-image]: https://david-dm.org/ganny26/generator-nodeapi.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/ganny26/generator-nodeapi
npm package: @seraphmc/node-seraph-api
Description: Official TypeScript typings and API wrapper for SeraphMC services.
Author: Seraph
Latest version: 1.0.4

# Seraph API Client

This repository contains the client library for interacting with the Seraph API. It provides a convenient way to access various Seraph services, including player data, authentication, and linking functionalities.

## Installation

To add the lib, use [Bun](https://bun.sh):

```bash
bun add @seraphmc/node-seraph-api
```

## Usage
### Initialising the API Client

To use the Seraph API, you need to instantiate `SeraphAPI` with your client refresh token. This token is crucial for authentication with the Seraph services.

```typescript
import { SeraphAPI } from "./seraph-api.ts";

const clientRefreshToken = process.env.SERAPH_CLIENT_REFRESH_TOKEN;
const seraphApiKey = process.env.SERAPH_API_KEY;

if (!clientRefreshToken) {
    throw new Error("Seraph refresh token is required.");
}

const seraph = new SeraphAPI('DEVELOPER', clientRefreshToken, seraphApiKey);
```

### Available Services

The `SeraphAPI` instance provides access to several services, each handling specific functionalities:

#### `getPlayerMojangService`

Handles fetching Mojang player data (UUID and username).

```typescript
const mojangService = seraph.getPlayerMojangService;
const player = await mojangService.fetchMojang("Notch");
console.log(player); // { id: "069a79f4-44e9-4726-a5be-fca90e38aaf5", name: "Notch" }
```

#### `getAuthService`

Manages authentication with the Seraph API, including fetching and refreshing access tokens.

```typescript
const authService = seraph.getAuthService;
const token = await authService.getSeraphToken(true); // Get token with "Bearer" prefix
console.log(token); // Bearer <your_access_token>
```

#### `getPlayerClientService`

Provides methods to fetch player client information (e.g., Lunar Client, Badlion Client) and cosmetics.

```typescript
const clientService = seraph.getPlayerClientService;
const clients = await clientService.fetchClient('6ba7b810-9dad-11d1-80b4-00c04fd430c8');
console.log(clients);

const cosmetics = await clientService.fetchClientCosmetics('6ba7b810-9dad-11d1-80b4-00c04fd430c8');
console.log(cosmetics);
```

#### `getPlayerCacheService`

Allows fetching historical player data and changes from the player cache.

```typescript
const cacheService = seraph.getPlayerCacheService;

const playerHistory = await cacheService.fetchPlayerHistory('6ba7b810-9dad-11d1-80b4-00c04fd430c8');
console.log(playerHistory);

const playerChanges = await cacheService.fetchPlayerChanges('6ba7b810-9dad-11d1-80b4-00c04fd430c8');
console.log(playerChanges);
```

#### `getPlayerStashService`

Provides access to player stash functionalities, including search and ping data.

```typescript
const stashService = seraph.getPlayerStashService;

const searchResults = await stashService.fetchSeraphSearch("Notch");
console.log(searchResults);

const seraphPing = await stashService.fetchSeraphPing('6ba7b810-9dad-11d1-80b4-00c04fd430c8');
console.log(seraphPing);
```

## Contributing

Contributions are welcome! Please feel free to open issues or submit pull requests.
npm package: @serapion-gmbh/nova-client
Description: A JavaScript library for easy integration with Nova
Author: Serapion GmbH
Latest version: 2.7.3

## @serapion-gmbh/nova-client

The `nova-client` allows easy streaming of messages from `nova-core`.

### Usage

Import `NovaSession`

```js
import { NovaSession } from '@serapion-gmbh/nova-client'
```

Initialize a session

```js
const novaSession = new NovaSession(
  'https://api-core.nova-ai.de/',
  YOUR_SESSION_TOKEN,
)
await novaSession.initialize()
```

Send a message

```js
const message = 'Hi Nova 👋🏼'
novaSession.send(message)
```

Observe messages and streaming status to know when streaming has finished

```js
novaSession.registerMessageObserver(onMessagesChange)
novaSession.registerStreamStatusObserver(onStreamStatusChange)
```

or observe the response stream individually

```js
novaSession.registerPartialMessageObserver(onPartialMessage)
```
npm package: @seratch_/bolt-extension-test-kit
Description: Bolt for JavaScript Installation Store Testing Kit
Author: Kazuhiro Sera
Latest version: 1.0.5

## Bolt for JavaScript Extension Test Kit

This module provides utilities for testing Bolt extension modules under `@seratch_` organization. If you see the usefulness in it, please feel free to use this module for your testing! Check [the GitHub repository](https://github.com/seratch/slack-bolt-extensions) to learn how to use the module.
npm package: @serayaeryn/linkedlist
Description: a doubly linked list implementation
Author: Denis Fäcke
Latest version: 1.0.1

# linkedlist

[![Build Status](https://travis-ci.org/SerayaEryn/linkedlist.svg?branch=master)](https://travis-ci.org/SerayaEryn/linkedlist)
[![Coverage Status](https://coveralls.io/repos/github/SerayaEryn/linkedlist/badge.svg?branch=master)](https://coveralls.io/github/SerayaEryn/linkedlist?branch=master)
[![NPM version](https://img.shields.io/npm/v/@serayaeryn/linkedlist.svg?style=flat)](https://www.npmjs.com/package/@serayaeryn/linkedlist)

Doubly linked list implementation.

## Installation

```
npm install @serayaeryn/linkedlist
```

## Example
```js
const LinkedList = require('@serayaeryn/linkedlist');

const linkedList = new LinkedList();
linkedList.add('a');
linkedList.add('b');

for (const element of linkedList) {
  console.log(element);
}
linkedList.remove(0);
```
## API
### length
Reflects the number of elements in the linked list.
### shift()
Removes the first element from the linked list and returns that element.
### pop()
Removes the last element from the linked list and returns that element.
### unshift(element)
Adds the `element` to the front of the linked list.
### push(element)
Adds the `element` to the end of the linked list.
### add([ index ], element)
Adds the `element` at the specified `index` of the linked list. If no `index` is specified the `element` will be added at the end of the linked list.
### addAll([ index ], elements)
Adds the `elements` at the specified `index` of the linked list. If no `index` is specified the `elements` will be added at the end of the linked list.
### clear()
Removes all elements from the linked list.
### get(index)
Returns the element at `index`.
### set(index, element)
Sets the `element` at the specified `index` and returns the element 
### remove(index)
Removes the element at `index`.
### indexOf(element)
Returns the first (least) index of an element within the linked list equal to the specified value, or -1 if none is found.
### lastIndexOf(element)
Returns the last (greatest) index of an element within the linked list equal to the specified value, or -1 if none is found.
### includes(element)
Determines whether a linked list contains a certain element.
### toString()
Returns a string representing the linked list and its elements.

## License
[MIT](./LICENSE)
npm package: @serayaeryn/memory-cache
Description: simple memory cache
Author: Denis Fäcke
Latest version: 1.0.0

# memory-cache

[![Build Status](https://travis-ci.org/SerayaEryn/memory-cache.svg?branch=master)](https://travis-ci.org/SerayaEryn/memory-cache)
[![Coverage Status](https://coveralls.io/repos/github/SerayaEryn/memory-cache/badge.svg?branch=master)](https://coveralls.io/github/SerayaEryn/memory-cache?branch=master)
[![NPM version](https://img.shields.io/npm/v/@serayaeryn/memory-cache.svg?style=flat)](https://www.npmjs.com/package/@serayaeryn/memory-cache)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Installation

```
npm i @serayaeryn/memory-cache
```

## API

### Cache(options)

#### ttl

Time to live in milliseconds.

### Cache#get(key)

Returns the cached entry for the `key`.

### Cache#has(key)

Allows to check if the cache contains an entry for the `key`.

### Cache#remove(key)

Remove the entry for the `key` from the cache.

### Cache#put(key, value)

Stores the `value` for the `key` in the cache.

## License

Licensed under [MIT](./LICENSE).
npm package: @serayaeryn/mysql-query
Description: [![Greenkeeper badge](https://badges.greenkeeper.io/SerayaEryn/mysql-query.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.org/SerayaEryn/mysql-query.svg?branch=master)](https://travis-ci.org/SerayaEryn/mysql-query) [![Coverage Status](h
Author: Denis Fäcke
Latest version: 1.0.0

# mysql-query

[![Greenkeeper badge](https://badges.greenkeeper.io/SerayaEryn/mysql-query.svg)](https://greenkeeper.io/)
[![Build Status](https://travis-ci.org/SerayaEryn/mysql-query.svg?branch=master)](https://travis-ci.org/SerayaEryn/mysql-query)
[![Coverage Status](https://coveralls.io/repos/github/SerayaEryn/mysql-query/badge.svg?branch=master)](https://coveralls.io/github/SerayaEryn/mysql-query?branch=master)
[![NPM version](https://img.shields.io/npm/v/@serayaeryn/mysql-query.svg?style=flat)](https://www.npmjs.com/package/@serayaeryn/mysql-query)

This module provides a performant way to escape your mysql queries to protect from SQL injection.

## Installation

```
npm install @serayaeryn/mysql-query
```

## Usage
Define your query string with placeholders starting with a question mark `?` (for example `?name`) and pass it to the function exported by the `@serayaeryn/mysql-query` module. It will create a function, that accepts the values for the previously defined placeholders and returns the query the escaped values. <br>
**Note**: The values need to be passed in the same order as the placeholders are defined in the query.
```js
// on startup
const mysqlQuery = require('@serayaeryn/mysql-query');
const getEscapedQuery = mysqlQuery('SELECT email FROM users WHERE id=?id;');

// on runtime
const escapedQuery = getEscapedQuery('1');

connection.query(escapedQuery);
```
## Benchmark
The benchmark compares to the `format(sql, values)` function of the [sqlstring](https://www.npmjs.com/package/sqlstring) module.

### Usage
Clone the repository and run `npm run benchmark`.
### Results

```bash
$ npm run benchmark

@serayaeryn/mysql-query x 5,618,794 ops/sec ±0.40% (89 runs sampled)
sqlstring - format x 1,981,991 ops/sec ±0.23% (92 runs sampled)
Fastest is @serayaeryn/mysql-query
```

## License

[MIT](./LICENSE)
npm package: @serbanghita-gamedev/bitmask
Description: Bitwise operations for working with bitmasks
Author: Serban Ghita
Latest version: 1.1.0

# Bitmask
> Bitwise operations for bitmasks and general purposes.

| Operation       | Description                                       |
|-----------------|---------------------------------------------------|
| `addBit`        | Adds bit to the bitmask.                          |
| `removeBit`     | Remove bit from bitmask.                          |
| `hasBit`        | Check if a bit already exists in the bitmask.     |
| `hasAnyOfBits`  | Check if the bitmask contains any of the bits.    |
| `toggleBit`     | Toggle existing/non-existing bits in the bitmask. |
| `toggleAllBits` | Toggle all bits in the bitmask                    |
npm package: @sercanuste/ngx-datatable
Description: ngx-datatable is a Angular2+ table grid component for presenting large and complex data.
Author: sercanuste
Latest version: 1.0.17
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ngx-datatable
[![Build Status](https://travis-ci.org/sercanuste/ngx-datatable.svg?branch=master)](https://travis-ci.org/sercanuste/ngx-datatable)
[![npm version](https://badge.fury.io/js/%40sercanuste%2Fngx-datatable.svg)](https://badge.fury.io/js/%40sercanuste%2Fngx-datatable)

`ngx-datatable` is an Angular component for presenting large and complex data.  It has all the features you would expect from any other table but in a light package with _no external dependencies_. The table was designed to be extremely flexible and light; it doesn't make any assumptions about your data or how you: filter, sort or page it.

It was built for modern browsers using _TypeScript, CSS3 and HTML5_ and Angular `>=4.0.0`. This is the sister project of the [angular-data-table](https://github.com/swimlane/angular-data-table) that is designed for Angular 1.x.

Check out the [documentation](https://swimlane.gitbooks.io/ngx-datatable/) & [demos](http://swimlane.github.io/ngx-datatable/) for more information!

See the [changelog](https://github.com/sercanuste/ngx-datatable/blob/master/docs/changelog.md) for recent changes.

## Features
- Handle large data sets ( Virtual DOM )
- Expressive Header and Cell Templates
- Horizontal & Vertical Scrolling
- Column Reordering & Resizing
- Client/Server side Pagination & Sorting
- Intelligent Column Width Algorithms ( Force-fill & Flex-grow )
- Integrated Pager
- Cell & Row Selection ( Single, Multi, Keyboard, Checkbox )
- Fixed AND Fluid height
- Left and Right Column Pinning
- Row Detail View
- Decoupled theme'ing with included Google Material theme
- Light codebase / No external dependencies
- AoT Compilation Support
- Universal Support
- Responsive Grid (No More Tables)
- Cell Hover Template
- Page Size Changer
- Excel Export

## Installation
To use ngx-datatable in your project install it via [npm](https://www.npmjs.com/package/@sercanuste/ngx-datatable):
```
npm i @sercanuste/ngx-datatable --save
```

## Credits
`ngx-datatable` is a [Swimlane](http://swimlane.com) open-source project; we believe in giving back to the open-source community by sharing some of the projects we build for our application. Swimlane is an automated cyber security operations and incident response platform that enables cyber security teams to leverage threat intelligence, speed up incident response and automate security operations.

[SecOps Hub](http://secopshub.com) is an open, product-agnostic, online community for security professionals to share ideas, use cases, best practices, and incident response strategies.
npm package: @sercanuste/rnal
Description: Small animation library for 'react-native'. Forked from: https://github.com/hayanisaid/rnal
Author: Sercan Uste
Latest version: 1.0.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## react-native animations library (rnal) that makes using the animations easy 🚀
<img src="./images/Fade.gif"
     alt="Markdown Monster icon"
     width="150px"
     height="300px"
     style="float: left; margin-right: 5px; width:200px"   />
     <img src="./images/SlideUp.gif"
     alt="Markdown Monster icon"
      width="150px"
     height="300px"
     style="float: left; margin-right: 5px; width:200px" width="150px"
     height="300px" />
      <img src="./images/infinite.gif"
     alt="Markdown Monster icon"
      width="150px"
     height="300px"
     style="float: left; margin-right: 5px; width:200px"   />
     <img src="./images/ZoomIn.gif"
     alt="Markdown Monster icon"
      width="150px"
     height="300px"
     style="float: left; margin-right: 5px; width:200px"   />
           <img src="./images/SlideInRight.gif"
     alt="Markdown Monster icon"
      width="150px"
     height="300px"
     style="float: left; margin-right: 5px; width:200px"/>

# Installation ⚓️
- NPM
```
npm -i rnal --save
```

- Yarn
```
yarn add rnal
```

# How to use it 👇

## 🎈 Fade  🎈
```
import { Fade } from "rnal";
export default class App extends Component<Props, State> {

  render() {
  
    return (
      <View style={{flex:1}}>
        <Fade >
          <Image
            source={require("./images/flowrs.jpg")}
            height={200}
            width={450}
            style={{ width: 350, height: 200 }}
            resizeMode="cover"
          />
        </Fade>
      </View>
    );
  }
}


```


 ## Options and props 🎁
 
| Props     | Value   | Default           | Description                                                                                   |
| --------- | ------- | ----------------- | --------------------------------------------------------------------------------------------- |
| duration  | number  | 300               | Play the audio track that matches the system language. If none match, play the first track.   |
| startWhen | boolean | false             | set when the animation should start, by default the animation start when the component mount. |
| infinite  | boolean | false             | Determine if the animation is infinite or just run once.                                      |
| direction | string  | 300               | specify the direction of the animation ex("toRight", "toLeft", "up","down).                   |
| sets      | Object  | `{from:0,to:180}` | set the point start and the end  of the animation, used with `Rotate` animation .             |