open-index/open-npm huggingface dataset:
npm package: @nappycat/usm
Description: USM (Universal State Machine) for games/3D sites with adapters for Three.js, input, and UI.
Author: stan nesi
Latest version: 1.2.0

# USM – Universal State Machine (TypeScript)

Tiny, predictable finite-state machine (FSM) for games, 3D sites, and interactive apps.  
Ships as **ESM + CJS + UMD** with full type declarations. Includes adapters for **Three.js**, **keyboard**, **pointer**, and **UI**.

**Why TS?** Clear APIs + great IntelliSense + safer releases — but users still get plain JavaScript at runtime.

---

## Install
```bash
npm i @nappycat/usm
```

## Quick start (ESM)
```ts
import { USM } from '@nappycat/usm';

type Ctx = { score: number };
const machine = new USM<Ctx>({
  id: 'demo',
  initial: 'menu',
  context: { score: 0 },
  states: {
    menu: { on: { START: 'play' } },
    play: {
      enter(ctx){ ctx.score = 0; },
      tick(dt, ctx){ /* game loop here */ },
      on: { GAME_OVER: 'over' }
    },
    over: { on: { RESTART: 'play' } }
  }
});
machine.start();
```

## Adapters
- `threeAdapter({ THREE, scene, camera, renderer, mode:'container'|'window' })`  
  Handles DPR clamp + resize + camera.aspect updates.
- `keyboardAdapter({ down, up, preventRepeat, combo })`  
  Tracks `Set<string>` of pressed keys (`KeyboardEvent.code`), dispatches events.
- `pointerAdapter({ target, bind, onDrag, onTap, onWheel })`  
  Unifies mouse/touch/pen, swipe detection, wheel.
- `uiAdapter()`  
  Syncs `<body data-state="...">` for CSS.

```ts
import { adapters } from '@nappycat/usm';
// machine = new USM({ ..., adapters: [ adapters.keyboardAdapter({...}), ... ] })
```

## CDN / UMD usage
```html
<script src="https://cdn.jsdelivr.net/npm/@nappycat/usm/dist/usm.global.js"></script>
<script>
  const { USM, adapters } = window.USM;
  const m = new USM({ initial:'menu', states:{ menu:{ on:{ START:'play' } }, play:{} } });
  m.start();
</script>
```

## License
MIT © nappycat
npm package: @napses/api-functional-lib
Description: functional helper library for developing express api
Author: napses.com
Latest version: 1.0.3


## Helper functions for ease of functional programming

    lib
    ├── functional         - [Ramda js](https://ramdajs.com/) based functional components
    └── validations        - Validation library

## Tutorials

[Youtube Tutorials](https://www.youtube.com/playlist?list=PLBOupoLEhXiJtLvJtCG_WvC6P0kWzC4Jo)
npm package: @napunda/mrxcli
Description: A CLI to create projects at MRX
Latest version: 0.0.2

# mrxcli CLI

A CLI for mrxcli.

## Customizing your CLI

Check out the documentation at https://github.com/infinitered/gluegun/tree/master/docs.

## Publishing to NPM

To package your CLI up for NPM, do this:

```shell
$ npm login
$ npm whoami
$ npm test

$ npm publish
```

# License

MIT - see LICENSE
npm package: @napunda/pix-key-ts
Description: Identify, validate, format and normalize a Pix key type from a string
Author: Anderson Souza
Latest version: 1.0.8

# Pix Key Ts

A **Pix Key Ts** é uma biblioteca para validação, normalização e formatação de chaves Pix no Brasil. Ela suporta CPF, CNPJ, e-mail, telefone e UUID, garantindo conformidade com os padrões do Banco Central. Esta é uma versão otimizada com tipagens typscript da biblioteca [pixkey](https://github.com/jesobreira/pixkey).

## Instalação

```sh
npm install @napunda/pix-key-ts
```

## Uso

Importe as funções principais da biblioteca:

```ts
import { validate, normalize, format } from "@napunda/pix-key-ts";
```

### Validação

A função `validate` verifica o tipo da chave Pix e retorna um array com os tipos identificados.

```ts
validate("123.456.789-09"); // ["cpf"]
validate("carlos@email.com"); // ["email"]
validate("+55 (11) 99999-9999"); // ["phone"]
```

### Normalização

A função `normalize` remove formatação da chave, deixando-a no formato padrão exigido pelo sistema bancário.

```ts
normalize("123.456.789-09"); // "12345678909"
normalize("+55 (11) 99999-9999"); // "+5511999999999"
```

### Formatação

A função `format` aplica a formatação padrão de exibição para cada tipo de chave Pix.

```ts
format("12345678909"); // "123.456.789-09"
format("+5511999999999"); // "(11) 99999-9999"
```

## Testes

A biblioteca inclui testes utilizando o `node:test`. Para executá-los, use:

```sh
npm test
```

## Licença

Esta biblioteca está licenciada sob a Licença MIT.
npm package: @napxdd/mapbox-svelte
Description: A Svelte component library for Mapbox GL JS
Author: NapXDD
Latest version: 1.1.6

# mapbox-svelte

A Svelte component library for Mapbox GL JS, providing easy-to-use components for building interactive maps.

## Installation

```bash
npm i @napxdd/mapbox-svelte
```

## Usage

Add your mapbox key to env

```env
PUBLIC_MAPBOX_KEY=your_key
```

```svelte
<script>
	import * as Mapbox from 'mapbox-svelte';

	let mapComponent: Mapbox.Container;
</script>

<div class="map-container">
	<Mapbox.Container></Mapbox.Container>
</div>

<style>
	.map-container {
		width: 100%;
		height: 500px;
	}
</style>
```

For more information visit [Mapbox-svelte documentation](https://napxdd-mapbox-svelte-docs.vercel.app/)

## Requirements

- Svelte 5.0+
- Mapbox GL JS 3.13.0+

## License

MIT