open-index/open-npm huggingface dataset:
npm package: @iahuang/pending
Description: Terminal spinners and progress bars for Node-like JavaScript environments.
Latest version: 1.0.1

# pending

Terminal spinners and progress bars for Node-like JavaScript environments.

## Installation

```bash
npm install @iahuang/pending
```

## Usage

### Basic spinner

```typescript
import { createSpinner } from "pending";

const spinner = createSpinner();
spinner.update("Doing something...");

// later
spinner.release();
```

### Progress bar

```typescript
import { createSpinner, progressBar } from "pending";

const spinner = createSpinner();
const bar = progressBar(spinner);

for (let i = 0; i <= 100; i++) {
  bar.update(i / 100, `Step ${i}`);
  await sleep(20);
}

spinner.release();
```

### Multiple spinners at once

```typescript
import { createMultiSpinner, progressBar } from "pending";

const multi = createMultiSpinner({ lines: 3 });
const downloadBar = progressBar({ base: multi, index: 1 });
const buildBar = progressBar({ base: multi, index: 2 });

multi.update(0, "Starting...");
downloadBar.update(0.5, "Downloading packages...");
buildBar.update(0.3, "Compiling...");

// later
multi.release();
```

### tqdm-style iteration

If you've used Python's tqdm, this should feel familiar:

```typescript
import { tqdm } from "pending";

for (const item of tqdm(items, { desc: "Processing" })) {
  // do work
}
```

Works with generators too:

```typescript
for (const num of tqdm(generateNumbers(100), { total: 100 })) {
  // do work
}
```

## Options

```typescript
createSpinner({
  drawInterval: 50,           // ms between redraws
  spinnerCyclesPerSecond: 2,  // animation speed
  showStatusIndicator: true,  // show spinner/checkmark
  showTimeElapsed: true,      // show elapsed time
  logLimit: Infinity,         // max log lines above spinner
  spinnerChars: SpinnerAnimations.dots,  // animation frames
});
```

### Built-in animations

```typescript
import { SpinnerAnimations } from "pending";

SpinnerAnimations.dots    // ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏
SpinnerAnimations.moon    // 🌑 🌒 🌓 🌔 🌕 🌖 🌗 🌘
// ... more in themes.ts
```

## License

ISC
npm package: @iai-skunks/ml-registry-solana
Description: SPL ML Model Registry/Inference JavaScript API
Author: Skunkworks at integrate.ai
Latest version: 0.6.3

# Machine Learning Model Registry Service JavaScript bindings
![npm (scoped)](https://img.shields.io/npm/v/@iai-skunks/ml-registry-solana)
![NPM](https://img.shields.io/npm/l/@iai-skunks/ml-registry-solana)

JavaScript bindings for interacting with an spl program for registering and
querying machine learning models of the GLM type.

This package provides an interface that third partie can use in order to create
their own version of machine learning model registry.

## Installation
```
npm install ml-registry-solana
```
npm package: @iainwilson/babel-plugin-namespace-styled-components
Description: Keep styles generated by styled-components in their own CSS namespace
Author: Trevor Burnham
Latest version: 0.4.1

# babel-plugin-namespace-styled-components

Use a namespace to increase the CSS specificity of your styled-components, preventing them from being overwritten by overly broad rules from the page’s stylesheets.

## Usage

Add the plugin to your Babel configuration before the `styled-components` plugin, and specify a CSS selector as its `namespace`:

```json
"plugins": [
  [
    "babel-plugin-namespace-styled-components",
    { "namespace": ".my-namespace" }
  ],
  "styled-components
]
```

Then render your app’s content within that namespace:

```jsx
MyApp = () => <div className="my-namespace">{appContent}</div>;
```

Now all `styled()` blocks will emit selectors that use that namespace.

### Before

```css
.bMqNs {
  color: tomato;
}
```

### After

```css
.my-namespace .bMqNs {
  color: tomato;
}
```

## Compatibility with mixins

If you use multiple ampersands (`&&`) in a selector in a mixin (that is, a style block inserted into a `styled()` template with `${}`), that selector will not match anything. This is a fundamental problem with namespacing at build time: styled-components resolves `&` to

```css
.namespace .c0
```

which means that `&&` will resolve to

```css
.namespace .c0.namespace .c0
```

When the plugin detects an invalid selector like this in a styled-components `css()` block, it’ll throw an error at build time. Be careful to wrap mixins in `css()` rather than using raw strings, which are ignored by the plugin and therefore potentially unsafe.

## Acknowledgments

Thanks to QuickBase’s [babel-plugin-styled-components-css-namespace](https://github.com/QuickBase/babel-plugin-styled-components-css-namespace/) for inspiring this project!
npm package: @iaipes/apiclient
Description: REST client for the IAIP API
Author: IAIP
Latest version: 0.2.0

# ApiClient

[![Latest Version on npm][ico-version]][link-version]
[![Total Downloads][ico-downloads]][link-downloads]

Client for the  REST API at [developers portal](http://developers.iaip.iw.sv/docs) of IAIP.

**Note:** This package is **under development** and **should not be used in production sites**, until version **1.0.0 or above** is released.


## Dependencies

* [axios](https://github.com/axios/axios)
* [qs](https://github.com/ljharb/qs)

## Installation

Via npm

``` bash
$ npm install @iaipes/apiclient
```


### Configuration

Configure the object

```js
const Config = require('@iaipes/apiclient').Config
Config.baseURL = "http://developers.iaip.iw.sv"
Config.headers['Authorization'] = 'Bearer ' + '{token}'
```

**Note:** replace `{token}` with your developer access token.

## Usage

```js
const ApiV1InformationRequestClient = require('@iaipes/apiclient').ApiV1InformationRequestClient
const request = async function(){
   try {
    let response = await informationRequest.index({
      include: 'institution',
      filter: {
        profession_cont: 'Desarrollador'
      },
      sort: 'created_at desc'
    })
    console.log(response)
  } catch (error) {
    console.log(error)
  }
}

request()

```

**Note:** For more information about classes and methods, please check the [documentation](http://developers.iaip.iw.sv/docs)

## Change log

Please see the [changelog](changelog.md) for more information on what has changed recently.

## Testing

Create a `.dot`  file inside the `test` folder

``` bash
IAIPES_API_TOKEN={token}
IAIPES_API_URL=http://developers.iaip.iw.sv
```
**Note:** Replace `{token}` with your developer access token

Run the rest with the next command

``` bash
$ yarn test
```

## Contributing

Please see [contributing.md](contributing.md) for details and a todolist.

## Security

If you discover any security related issues, please email author email instead of using the issue tracker.

## Credits

- [IAIP][link-author]
- [All Contributors][link-contributors]

## License

license. Please see the [license file](license.md) for more information.

[ico-version]: https://img.shields.io/npm/v/@iaipes/apiclient.svg
[ico-downloads]: https://img.shields.io/npm/dt/@iaipes/apiclient.svg?style=flat-square
[ico-travis]: https://img.shields.io/travis/iaipes/apiclient/master.svg?style=flat-square
[ico-styleci]: https://styleci.io/repos/12345678/shield

[link-author]: https://github.com/iaipes
[link-contributors]: ./contributors.md
[link-version]: https://www.npmjs.com/package/@iaipes/apiclient
[link-downloads]: https://www.npmjs.com/package/@iaipes/apiclient
npm package: @iak-id/iak-api-server-js
Description: Node.js-based SDK (server-side-only) to easily help integrating IAK API Services with your app.
Author: Indobest Artha Kreasi
Latest version: 1.0.0

# IAK API Node.js SDK
This is Node.js-based SDK (server-side-only) to easily help you connect your application with our API services.

**Note**:
* This library is only meant for usage from server-side.
* You also have to register yourself first on this [link](https://iak.id/) to get the access key for our API service.
* For Prepaid Services, you can use our **Version 2** Prepaid on Core API section on Prepaid services as the reference. To see the difference with the Version 1, you can see this [link](https://api.iak.id/docs/reference/docs/prepaid/core/v1-vs-v2.md).

## Installation

```bash
npm install @iak-id/iak-api-server-js
```

## Getting Started

You can use this snippet code to use our check balance service on prepaid API to get started use our SDK.

```js
const { IAKPrepaid } = require('@iak-id/iak-api-server-js');

const credential = {
  userHp: 'your-username',
  stage: 'sandbox-or-production',
  apiKey: 'your-api-key-depending-on-stage'
};

new IAKPrepaid(credential).checkBalance().then((response) => {
  console.log(response);
}).catch((error) => {
  console.log(error);
});
```

---

## Documentation

To see more information about how to connect with us, you can visit and see the documentation on this link:
* [IAK API Node.js SDK documentation](https://api.iak.id/docs/sdk/docs/node-js/introduction.md) to see more details about how to connect with us through this SDK or library
* [IAK API Documentation](https://api.iak.id/) to see more details about to connect with us through our API services

---

## Supported Version

This library is supported by the following Node.js versions
* Node.js 16.3.0 (latest version (09/06/2021))
* Node.js 16
* Node.js 15
* Node.js 14.15.0 (LTS: Fermium)
* Node.js 14
* Node.js 13
* Node.js 12.13.0 (LTS: Erbium)
* Node.js 12
* Node.js 11
* Node.js 10.24.1 (LTS: Dubnium)
* Node.js 10

---

## Changelogs
You can check any updates or improvements we have done to this library to make this library more helpful for you on this [link](https://api.iak.id/docs/sdk/docs/node-js/changelog.md).

---

## Contributing
You can contribute on the development of this project by [opening an issue](https://github.com/iak-id/iak-api-server-js/issues) or [submitting a pull request](https://github.com/iak-id/iak-api-server-js/pulls) when you see any bugs or issues, or you have any comments or requests.
npm package: @iaktech26/web-component-loader
Description: Web Component Loader for Angular Micro Frontends
Author: IAKTech Consulting
Latest version: 1.2.5

# @iaktech26/web-component-loader

An Angular library that dynamically loads web components for micro-frontend (MFE) architecture. It simplifies integrating independently built and deployed Angular applications as web components within a host application.

## Installation

```bash
npm install @iaktech26/web-component-loader
```

**Requires** Angular 18, 19, or 20 as a peer dependency.

## Usage

### 1. Use the `WebMFELoader` component

Import and add the component to your Angular template:

```typescript
import { Component } from '@angular/core';
import { WebMFELoader } from '@iaktech26/web-component-loader';

@Component({
  selector: 'app-root',
  imports: [WebMFELoader],
  template: `
    <web-mfe-loader
      mfeName="admin-dashboard"
      mfeMode="standalone">
    </web-mfe-loader>
  `
})
export class AppComponent {}
```

The component fetches `/<mfeName>/remoteConfig.json`, loads the scripts, and renders the custom element.

### 2. Configure your micro-frontend

Each MFE must expose a `remoteConfig.json` at its root:

```json
{
  "name": "admin-dashboard",
  "entry": {
    "mainUrl": "https://your-mfe-host.com/main.js",
    "polyfillsUrl": "https://your-mfe-host.com/polyfills.js"
  }
}
```

### 3. Advanced: use the service directly

```typescript
import { WebComponentLoaderService } from '@iaktech26/web-component-loader';

export class MyComponent {
  constructor(private loader: WebComponentLoaderService) {}

  async loadMfe() {
    await this.loader.loadMfeFromConfig('/my-mfe/remoteConfig.json');
  }
}
```

## API

### `WebMFELoader` component

| Input     | Type   | Default | Description                                       |
|-----------|--------|---------|---------------------------------------------------|
| `mfeName` | string | `''`    | Name of the MFE (used for config URL and element)  |
| `mfeMode` | string | `''`    | Value passed to the web component via `mfe-mode`   |

### `WebComponentLoaderService`

| Method                                  | Description                                            |
|-----------------------------------------|--------------------------------------------------------|
| `loadMfeFromConfig(configUrl: string)`  | Fetches the remote config and loads the MFE scripts    |
| `loadScript(url: string)`               | Loads a single ES module script, with deduplication    |

## Features

- Dynamic loading of Angular web components
- Automatic script deduplication (same MFE is never loaded twice)
- ES module script support
- Polyfills support
- Angular standalone components
- TypeScript support

## License

MIT
npm package: @ialopezg/commonjs
Description: JavaScript Library Starter Kit for modern apps and libraries.
Author: Isidroa A. Lopez G.
Latest version: 1.3.8

# CommonJS

> A collection of utility functions for handling strings, numbers, dates, objects, booleans, paths,
> and more.

[![npm version](https://img.shields.io/npm/v/@ialopezg/commonjs)](https://www.npmjs.com/package/@ialopezg/commonjs)
[![Coverage Status](https://coveralls.io/repos/github/ialopezg/CommonJS/badge.svg?branch=main)](https://coveralls.io/github/ialopezg/CommonJS?branch=main)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com)
![license](https://img.shields.io/npm/l/@ialopezg/commonjs)
[![Bundle Size](https://img.shields.io/bundlephobia/min/@ialopezg/commonjs)](https://bundlephobia.com/result?p=my-awesome-lib)

## Installation

```bash
npm install @ialopezg/commonjs
```

## Usage

```javascript
import '@ialopezg/commonjs';

// strings
const cardNumber = '1234-5678-9098-7654';
const part1 = (cardNumber.slice(0, 4) + '-').padWithChar('*', 9, 'right');
const part2 = ('-' + cardNumber.slice(-4)).padWithChar('*', 9, 'left');
console.log([part1, part2].join('-')); // Will produce 1234-****-****-7654

// numbers
console.log('41'.padWithChar('*', 4, 'right')); // will produce 42**
console.log((42).padWithChar('0', 4, 'left')); // will produce 0042

// dates
console.log(new Date(2010, 1, 14, 15, 25, 50, 125).humanize('w, l D1 Y, h:m2:s2 a')); // will procuce Monday, February 1st 2025, 3:30:00 pm
```

## Documentation

The library is organized into several helper modules. Click on the links below for detailed usage
and examples:

| Helper                              | Description                                                                                                                                 | Extension |
|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|:---------:|
| [Date](docs/core/date/README.md) | Extends native Date and DateConstructor type with extra functionalities such as: `humanize`, `humanizeTimeDiff`, `relativeTime`, `timeDiff` |  &check;  |
| [Number](docs/helpers/number.md)    | Extends native Number and NumberConstructor type with extra functionalities such as: `getOrdinal`, `padWithChar`                            |  &check;  |
| [String](docs/helpers/string.md)    | Extends native string type with extra functionalities such as: `padWitchChar`                                                               |  &check;  |

## Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

## License

This project is under [MIT License](LICENSE).
npm package: @iam-brain/opencode-codex-auth
Description: Native Codex auth with multi-account rotation for OpenCode
Author: iam-brain
Latest version: 1.7.1

# opencode-codex-auth

[![CI](https://github.com/iam-brain/opencode-codex-auth/actions/workflows/ci.yml/badge.svg)](https://github.com/iam-brain/opencode-codex-auth/actions/workflows/ci.yml)
[![npm version](https://img.shields.io/npm/v/%40iam-brain%2Fopencode-codex-auth.svg)](https://www.npmjs.com/package/@iam-brain/opencode-codex-auth)

OpenCode plugin for ChatGPT OAuth auth with multi-account management and Codex-compatible request behavior.

## Highlights

- ChatGPT OAuth flow for OpenCode OpenAI provider usage.
- Multi-account storage, rotation, and account health controls.
- Runtime modes for native-compatible or codex-style request identity.
- Integrated auth UX via `opencode auth login` (switch, refresh, disable, remove, transfer).

## Requirements

- Node.js `22.x`
- npm `10.9.2` (via `packageManager` / Corepack)
- OpenCode CLI available on your PATH

## Install

```bash
npx -y @iam-brain/opencode-codex-auth@latest
```

Authenticate:

```bash
opencode auth login
```

Run with an OpenAI model:

```bash
opencode run "say hi" --model=openai/gpt-5
```

## Configuration

Keep plugin install/enablement in `opencode.json`, and runtime behavior in `codex-config.jsonc`. The plugin still accepts commented legacy `codex-config.json` files for compatibility.

- Config reference: [docs/configuration.md](docs/configuration.md)
- Multi-account behavior: [docs/multi-account.md](docs/multi-account.md)
- Troubleshooting: [docs/troubleshooting.md](docs/troubleshooting.md)

## Documentation

- Docs index: [docs/README.md](docs/README.md)
- Getting started: [docs/getting-started.md](docs/getting-started.md)
- Persona tooling: [docs/persona-tool.md](docs/persona-tool.md)
- Releasing: [docs/releasing.md](docs/releasing.md)
- Development docs: [docs/development/README.md](docs/development/README.md)

## Development

```bash
npm install
npm run hooks:install
npm run verify
```

Helpful local commands:

```bash
npm run verify:local
npm run prepush
npm run lint
npm run test:coverage
npm run check:docs
```

Local git hooks now enforce `npm run verify` before both `git commit` and `git push`. The commit hook accepts staged-only commit-ready changes, and the push hook requires a clean tree so it verifies the exact commits being pushed. `npm run verify:local` runs the same enforcement manually, with a cache so unchanged trees do not rerun the full suite twice in a row.

Pull request CI stays intentionally lean: GitHub still runs clean-room verify, tarball smoke, Windows smoke, and secret scanning. Dependency vulnerability auditing via `npm audit` runs on default-branch pushes instead of every PR.

## Usage Note

This plugin is intended for personal development usage with your own ChatGPT account. For production multi-user systems, use official OpenAI Platform API auth flows.
npm package: @iam-dev/cc-burn
Description: Token usage tracking and limit prediction for Claude Code
Latest version: 1.0.0

# cc-burn

Token usage tracking and limit prediction for Claude Code.

**Stop hitting limits. Start shipping code.**

## Features

- Parse Claude Code logs from `~/.claude/projects/`
- Calculate real-time burn rate (tokens/minute)
- Estimate time remaining until 5-hour limit
- Track session cost based on model pricing
- Warning alerts at 80% and 95% usage

## Installation

```bash
# Clone the repository
git clone https://github.com/iam-dev/cc-burn.git
cd cc-burn

# Install dependencies
npm install

# Build
npm run build

# Run
node dist/cli.js
```

### Global Installation (npm)

```bash
npm install -g cc-burn
cc-burn
```

## Usage

```bash
# Full stats report
cc-burn

# Status bar format (compact)
cc-burn --statusbar

# Single-line compact format
cc-burn --compact

# JSON output
cc-burn --json

# Custom time window (default: 5 hours)
cc-burn --hours 24
```

## Output Example

```
  Token Usage Report (last 5h)
  ════════════════════════════════════

  ████░░░░░░░░░░░░░░░░ 18%

  Tokens used:     8.1M / 45M
  Burn rate:       45K/min
  Time remaining:  ~13h 42m
  Session cost:    $2.47

  Breakdown:
    Input:         2.1M
    Output:        6.0M
    Cache read:    12.3M
    Cache create:  1.2M

  Model: claude-sonnet-4-20250514
  Events: 847 | Duration: 180m
```

## Alert Levels

| Level | Threshold | Action |
|-------|-----------|--------|
| Normal | < 80% | Safe to continue |
| Warning | 80-95% | Consider slowing down |
| Critical | > 95% | Take a break or compact context |

## Supported Models

| Model | 5-Hour Limit | Weekly Limit |
|-------|--------------|--------------|
| claude-sonnet-4 | ~45M tokens | ~200M tokens |
| claude-opus-4 | ~15M tokens | ~50M tokens |

*Limits are approximate estimates based on observed behavior.*

## Project Structure

```
cc-burn/
├── src/
│   ├── parser.ts      # Log file parser
│   ├── calculator.ts  # Burn rate calculations
│   ├── display.ts     # Output formatting
│   └── cli.ts         # CLI entry point
├── commands/
│   └── burn.md        # /burn command for Claude Code
├── hooks/
│   └── post-tool.sh   # Post-tool hook
└── .claude-plugin/
    └── manifest.json  # Plugin manifest
```

## Claude Code Plugin

cc-burn can be used as a Claude Code plugin:

1. Add to your Claude Code plugins directory
2. Use the `/burn` command to see stats

## Development

```bash
# Watch mode
npm run dev

# Build
npm run build

# Run locally
npm run burn
```

## License

MIT
npm package: @iam-protocol/pulse-sdk
Description: Client-side SDK for IAM Protocol — sensor capture, TBH generation, ZK proof construction
Latest version: 0.7.2

# @iam-protocol/pulse-sdk

[![npm version](https://img.shields.io/npm/v/@iam-protocol/pulse-sdk.svg)](https://www.npmjs.com/package/@iam-protocol/pulse-sdk)
[![npm downloads](https://img.shields.io/npm/dm/@iam-protocol/pulse-sdk.svg)](https://www.npmjs.com/package/@iam-protocol/pulse-sdk)

Client-side SDK for the IAM Protocol. Captures behavioral biometrics (voice, motion, touch), generates a Temporal-Biometric Hash, produces a Groth16 zero-knowledge proof, and submits it for on-chain verification on Solana.

## Install

```bash
npm install @iam-protocol/pulse-sdk
```

## Usage

```typescript
import { PulseSDK } from '@iam-protocol/pulse-sdk';

const pulse = new PulseSDK({
  cluster: 'devnet',
  relayerUrl: 'https://api.iam-human.io/relay', // walletless mode
  wasmUrl: '/circuits/iam_hamming.wasm',
  zkeyUrl: '/circuits/iam_hamming_final.zkey',
});

// Verify (captures sensors, generates proof, submits)
const result = await pulse.verify(touchElement);

if (result.success) {
  console.log('Verified:', result.txSignature);
}
```

### Wallet-connected mode

```typescript
import { PulseSDK } from '@iam-protocol/pulse-sdk';

const pulse = new PulseSDK({ cluster: 'devnet' });
const result = await pulse.verify(touchElement, walletAdapter, connection);
```

## Pipeline

1. **Capture**: Audio (16kHz), IMU (accelerometer + gyroscope), touch (pressure + area) — event-driven, caller controls duration
2. **Extract**: Speaker features (F0, jitter, shimmer, HNR, formants, LTAS), jerk/jounce (motion), velocity/pressure (touch)
3. **Hash**: SimHash → 256-bit Temporal Fingerprint → Poseidon commitment
4. **Prove**: Groth16 proof that new fingerprint is within Hamming distance of previous
5. **Submit**: On-chain verification via wallet or relayer

## Development

```bash
npm install
npm test          # 31 vitest tests
npm run build     # ESM + CJS output
npm run typecheck # TypeScript strict mode
```

## License

MIT
npm package: @iam1337/create-unitypackage
Description: semantic-release plugin to create unitypackage
Author: dr. ext
Latest version: 1.1.0

# @iam1337/create-unitypackage

[**semantic-release**](https://github.com/semantic-release/semantic-release) plugin to create a [unitypackage](https://docs.unity3d.com/Manual/AssetPackages.html). Based on [unitypackage](https://github.com/pCYSl5EDgo/unitypackage) npm package.

[![⚙ Release](https://github.com/Iam1337/create-unitypackage/actions/workflows/ci.yml/badge.svg)](https://github.com/Iam1337/create-unitypackage/actions/workflows/ci.yml)
[![npm latest version](https://img.shields.io/npm/v/@iam1337/create-unitypackage/latest.svg)](https://www.npmjs.com/package/@iam1337/create-unitypackage)
[![](https://img.shields.io/github/license/iam1337/create-unitypackage.svg)](https://github.com/Iam1337/create-unitypackage/blob/master/LICENSE)
[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)


| Step               | Description |
|--------------------|-------------|
| `verifyConditions` | Verify the `packageRoot`, `projectRoot` and `output` options configuration. |
| `prepare`          | Сreation unitypackage file. |

## Install

```bash
$ npm i @iam1337/create-unitypackage
```

## Usage

The plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration):

```json
{
  "plugins": [
    ["@iam1337/create-unitypackage", {
      "packageRoot": "Assets/Package",
      "projectRoot": "./",
      "output": "Package.unitypackage"
    }],
    ["@semantic-release/github", {
      "assets": [
        {"path": "Package.unitypackage", "label": "Package v${nextRelease.version}"}
      ]
    }]
  ]
}
```

## Configuration

### Options

| Options | Description | Default |
|---------|-------------|---------|
| `packageRoot` | Path to the directory you want to archive to unitypackage inside the Assets directory. | - |
| `projectRoot` | Unity project directory. | `./` |
| `output` | Output unitypackage path. Must end with .unitypackage. | - |

**Note**: The `packageRoot` directory must have own .meta file.
npm package: @iam4x/treenews
Description: > An universal JavaScript client of [TreeNews](https://news.treeofalpha.com/) WebSocket > > Written in TypeScript with definitions typings
Latest version: 1.0.0

# TreeNews

> An universal JavaScript client of [TreeNews](https://news.treeofalpha.com/) WebSocket
>
> Written in TypeScript with definitions typings

## Installation

- `$ npm install --save @iam4x/treenews`

If you are working in a node.js/server environment, you need to install [ws](https://www.npmjs.com/package/ws) package as well:

- `$ npm install --save ws`

## How to / Usage

Simple example:

```ts
import { TreeNews } from '@iam4x/treenews';

const treeNews = new TreeNews({
  onNews: (news) => console.log(JSON.stringify(news, null, 4));
});

// connect to websocket
treeNews.start();

// close connection to websocket
treeNews.stop();
```

## Options

```ts
{
  autoReconnect?: boolean; // default: true
  autoReconnectTimeout?: number; // default: to 1 second (in seconds)
  autoStart?: boolean;
  apiKey?: string;
  debug?: boolean;
  onOpen?: (event: Event) => void;
  onError?: (event: Event) => void;
  onNews?: (news: News) => void;
  onMessage?: (event: MessageEvent) => void;
  onClose?: (event: CloseEvent) => void;
}
```

## Donations

If you found this project interesting or useful, create accounts with my referral links:

- [Bybit](https://partner.bybit.com/b/iam4x) [Up to $30,000 deposit bonus - no KYC required]
- [Binance](https://accounts.binance.com/en/register?ref=KOLLSXK0)

Or buy me a coffee with a crypto donation:

- ETH/BSC/MATIC: `0xFF2da578C73bC694fd767A1CC77160002C2003E6`

## Changelog

### v1.0.0 - (03/29/2023)

- Initial release

## Contributions & Pull Requests

Feel free to create issues, PRs and start a discussion ❤️
npm package: @iam_kwamena/ussd-dial
Description: ![npm (scoped)](https://img.shields.io/npm/v/@iam_kwamena/ussd-dial.svg) (https://github.com/Kwamena-S/ussd-dial) ![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@iam_kwamena/ussd-dial.svg) (https://github.com/Kwamena-S/ussd-dial)
Author: Kwamena-S
Latest version: 0.0.2

# @iam_kwamena/ussd-dial

![npm (scoped)](https://img.shields.io/npm/v/@iam_kwamena/ussd-dial.svg)
(https://github.com/Kwamena-S/ussd-dial)
![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@iam_kwamena/ussd-dial.svg)
(https://github.com/Kwamena-S/ussd-dial)

npm module to immediately dial USSD codes

MIT License

Copyright (c) [2019] [Kwamena-S]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @iamabbit/base64url
Description: This library implements encoding and decoding for Base 64 URL specified in RFC 4648
Author: Mikhail Kopylov
Latest version: 1.0.0

# Base 64 URL Typescript

This library implements encoding and decoding for Base 64 URL specified in [RFC 4648](https://datatracker.ietf.org/doc/html/rfc4648#section-5)
npm package: @iamadamjowett/angular-coms
Description: A communication service to allow easy passing and listening of events (with optionaldata) around an angular application. Events are broadcast from the $rootScope, making it easy to listen to events from anywhere in your application.
Author: Adam Jowett
Latest version: 1.1.2

#angular-coms

A communication service to allow easy passing and listening of events (with optionaldata) around an angular application. Events are broadcast from the $rootScope, making it easy to listen to events from anywhere in your application.

## Installation

There are two easy ways to install the Coms service:

####npm

    npm install @iamadamjowett/angular-coms

#### Bower

To install via Bower, run:

    bower install angular-coms

#### Manual download

Download the `coms.service.js` file, and include it in your index.html file with something like:

    <script type="text/javascript" src="/path/to/coms.service.js"></script>

Also be sure to include the module in your app.js file with:

    angular.module('yourAppName', ['angular-coms'])

## Usage

#### Sending signals (events)

Sending events are as easy as calling the `sendSignal` method. You pass the event string to be sent as the first parameter, and any data you wish to pass with the event as the second.

    Coms.sendSignal('signal:foo', { id: getId(), arr: [1, 2, 3] });
    Coms.onSignal('signal:foo', function (event, dataObj) {
        console.log(dataObj);
    }, $scope);

Sometimes with the async nature of AngularJS, you need to delay the sending of a call until something else is ready. This can be done as follows, in this case, delaying the sending of the event by 400ms:

    Coms.sendSignal('signal:foo', 'random string', 400);
    Coms.onSignal('signal:foo', function (event, data) {
        console.log('I received the ' + data + ' after a 400ms delay');
    }, $scope);

#### Listening for signals (events)

To listen for an event, you can use the onSignal method, which takes a signal string as the first parameter, a function to listen to the event and a scope to automatically remove the listener if the scope is destroyed (handy for controlling memory leaks).

    Coms.onSignal('signal:foo', function (event, data) {
        console.log('id received: ' + data.id);
    }, $scope);

#### Deregistering event listeners

Like native angular events, the `onSignal` method returns the de-registering function as part of the call. You can assign this to a variable and call it later to manually remove a listener. Listeners are de-registed automatically when the scope is destroyed as long as you pass the scope as the last parameter of the listener.

    var fooListener = Coms.onSignal(Events.FOO_EVENT, function (event, data) {
        console.log('FOO_EVENT received with fooVar value of: ' + data);
    }, $scope);

    elem.$on('$destroy', function () {
        fooListener();
    });
npm package: @iamadamjowett/angular-no-widows
Description: An AngularJS directive that ensures single words do not wrap onto a new line (widows).
Author: Adam Jowett
Latest version: 1.1.0

# No Widows for AngularJS
An AngularJS directive that ensures single words do not wrap onto a new line (widows).

## What does No Widows do?

The angular-no-widows directive when placed on a text element will ensure at least two words wrap to a new line, avoiding single word wraps (called widows).

## Installation

There are three easy ways to install the angular-no-widows directive:

#### Node

To install via npm, run:

    npm install @iamadamjowett/angular-no-widows

#### Bower

To install via Bower, run:

    bower install angular-no-widows

#### Manual download

Download the `no-widows.directive.js` folder, and include it in your index.html file with something like:

    <script type="text/javascript" src="/path/to/no-widows.directive.js"></script>

Also be sure to include the module in your app.js file with:

    angular.module('yourAppName', ['angular-no-widows'])

## Usage

To use the angular-no-widows directive, place the no-widows attribute onto a text element, such as a heading or paragraph e.g.

    <h2 no-widows>
        This is a long heading but there will always be at least two words wrapping to the next line
    </h2>

or

    <p no-widows>
        This is long paragraph text but there will always be at least two words wrapping to the next line
    </p>

## Licence

MIT, free to use in personal and commercial projects.
npm package: @iamadeveloper-es/vue3-form-validator
Description: Librería minimalísta validación de formularios para Vue 3.
Latest version: 0.0.2

# vue3-form-validation

Librería minimalísta validación de formularios para Vue 3.

## Configuaración del proyecto

### Instalar las dependecias:
```sh
npm install @iamadeveloper-es/vue3-form-validator
```

<!-- ### main.js en la parte superior del archivo importamos los archivos CSS:
```js
import '@iamadeveloper-es/vue3-ui-components/src/assets/fontawesome/css/all.min.css'
import '@iamadeveloper-es/vue3-ui-components/src/assets/scss/index.scss'
```

### Importar un componente:
```js
import AppLink from '@iamadeveloper-es/vue3-ui-components/src/components/atoms/app-link/index.vue'
```

### Arrancar el proyecto:
```sh
npm run dev
``` -->