open-index/open-npm huggingface dataset:
npm package: @instructure/platform-ui-help
Description: `<HelpTray />` is a React component that gives a layout for every sign-in related page. `<HelpLinks />` is for listing different kinds of links.
Author: Instructure, Inc.
Latest version: 1.5.2

# @instructure/platform-ui-help

`<HelpTray />` is a React component that gives a layout for every sign-in related page.
`<HelpLinks />` is for listing different kinds of links.

## Usage examples

[https://instructure.github.io/platform-ui/](https://instructure.github.io/platform-ui/?path=/docs/helptray--documentation)
npm package: @instructure/platform-ui-identity-wrapper
Description: Instructure Platform Identity Layout.
Author: Instructure, Inc.
Latest version: 4.2.0

# @instructure/platform-ui-identity-wrapper

`<IdentityWrapper />` is a React component that gives a layout for every sign-in related page.

## Usage examples

[https://instructure.github.io/platform-ui/](https://instructure.github.io/platform-ui/?path=/docs/identitywrapper--documentation)
npm package: @instructure/quiz-core
Description: The Quiz React SDK by Instructure Inc.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 22.17.0

---
id: quiz-core
---
```sh
             _
  __ _ _   _(_)____      ___ ___  _ __ ___
 / _` | | | | |_  /____ / __/ _ \| '__/ _ \
| (_| | |_| | |/ /_____| (_| (_) | | |  __/
 \__, |\__,_|_/___|     \___\___/|_|  \___|
    |_|
```

# Quiz Core

quiz-core is a collection of React components and tools for building -applications built on top of
the Instructure Quiz API service.
npm package: @instructure/redux-service-middleware
Description: Service middleware for redux
Author: Instructure, Inc. Engineering and Product Design
Latest version: 1.0.0

# @instructure/redux-service-middleware

[![npm](https://img.shields.io/npm/v/@instructure/redux-service-middleware.svg)](https://www.npmjs.com/package/@instructure/redux-service-middleware)
[![MIT License](https://img.shields.io/npm/l/@instructure/redux-service-middleware.svg?style=flat-square)](https://github.com/instructure/redux-service-middleware/blob/master/LICENSE)

Simple [redux](https://redux.js.org/) [middleware](https://redux.js.org/advanced/middleware/) for registering service objects.

1. A service is an object or class instance:

```javascript
const myService = {
  doStuff: (arg1, arg2) => result
}
class MyOtherService {
  doOtherStuff (...args) {
    return result
  }
}
```

2. While creating your store, register your services as key/value pairs
   with the service middleware constructor:

```javascript
import { applyMiddleware } from 'redux'
import createServiceMiddleware from '@instructure/redux-service-middleware'

applyMiddleware(
  createServiceMiddleware({
    myKey: myService,
    myOtherKey: new MyOtherService()
  })
)
```

3. In your action creator, dispatch an action with the following shape:

```javascript
import { CALL_SERVICE } from '@instructure/redux-service-middleware'

const actionCreator = () => ({
  type: CALL_SERVICE,
  payload: {
    service: 'myKey',
    method: 'doStuff',
    args: [arg1, arg2]
  }
})
```

Calls to `dispatch` with an action of this form will return a promise
resolving to the result of calling
`myService.methodName(arg1, arg2)`.

## License

This project is is released under the [MIT](LICENSE) license.
npm package: @instructure/supported-browsers
Description: The list of browsers supported by Canvas LMS & the Canvas product ecosystem
Latest version: 1.0.0

# supported-browsers
The list of browsers that should be supported by Canvas LMS and all the products that are part of the Canvas Ecosystem 

## Canvas supports the current and first previous major releases of the following browsers:

*   **Chrome** 
*   **Firefox** ([Extended Releases](http://www.mozilla.org/en-US/firefox/organizations/) are not supported)
*   **Internet Explorer** 11 (_Windows only—_functionally supported; may exhibit slight visual differences from other browsers, but these differences do not restrict product functionality or accessibility)
*   **Edge**  _(Windows only)_
*   **Respondus Lockdown Browser** (supporting the latest [system requirements](https://www.respondus.com/products/lockdown-browser/requirements.shtml))
*   **Safari**  _(Macintosh only_)

Because browsers are constantly releasing new versions, the actual version numbers that  "current and first previous major release" translates to will change over time. [click here to see what that currently means](http://browserl.ist/?q=last+2+chrome+versions%2C+last+2+firefox+versions%2C+last+2+edge+versions%2C+last+2+ios+versions%2C+last+2+opera+versions%2C+last+2+safari+versions%2C+last+2+ChromeAndroid+versions%2C+ie+%3E%3D+11)

If you are using one of the mainstream browsers that updates itself automatically (eg: [Chrome](https://www.google.com/chrome/), [Firefox](https://www.mozilla.org/firefox/), [Microsoft Edge](https://www.microsoft.com/windows/microsoft-edge) or [Safari](https://support.apple.com/en-us/HT204416)), you should not ever have to worry about this.
npm package: @instructure/theme-registry
Description: Package for global ThemeRegistry.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 10.30.0

## theme-registry

[![npm][npm]][npm-url]
[![MIT License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]

A package for managing global themes.
Read more about it [here](/#ThemeRegistry).

### Installation

```sh
npm install @instructure/theme-registry
```

[npm]: https://img.shields.io/npm/v/@instructure/theme-registry.svg
[npm-url]: https://npmjs.com/package/@instructure/theme-registry
[license-badge]: https://img.shields.io/npm/l/instructure-ui.svg?style=flat-square
[license]: https://github.com/instructure/instructure-ui/blob/master/LICENSE.md
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://github.com/instructure/instructure-ui/blob/master/CODE_OF_CONDUCT.md
npm package: @instructure/timezone
Description: Small, elegant, Olson educated, timezone aware date math and `strftime` date formatting in pure JavaScript with no dependendcies for Node.js and the browser. Timezone uses the Olson/IANA timezone database. Timezone is aware of every clock transition in th
Author: Alan Gutierrez
Latest version: 1.0.32

This is a fork of (Bigeasy's Timezone library)[https://github.com/bigeasy/timezone].

The original library uses eggert/tz to generate up-to-date timezone information, but the library is not maintained anymore. This fork uses (@instructure/timezone)[https://github.com/instructure/timezone]

If time zones ever get out of sync again, do the following...
```bash
git clone --recurse-submodules [@instructure/timezone URL]
cd timezone
cd eggert/tz
git checkout [Last updated version number from moment-timezone, e.g. 2023c]
# update package.json version number
npm install
make publish # publishes to NPM
git add .
# commit and push git changes
```

<a href="http://www.flickr.com/photos/wolfgangstaudt/3553572933/" title="Sundial by Wolfgang Staudt, on Flickr"><img src="http://farm4.staticflickr.com/3605/3553572933_5d30ced3e7_b.jpg"
alt="Sundial"></a>

# Timezone [![Build Status](https://secure.travis-ci.org/bigeasy/timezone.png?branch=master)](http://travis-ci.org/bigeasy/timezone)

Format time in JavaScript using the IANA time zone database. (Photo: Sundial by
[Wolfgang Staudt](http://www.flickr.com/people/wolfgangstaudt/).)

```javascript
var tz = require('timezone/loaded'),
    equal = require('assert').equal,
    utc;

// Get POSIX time in UTC.
utc = tz('2012-01-01');

// Convert UTC time to local time in a localize language.
equal(tz(utc, '%c', 'fr_FR', 'America/Montreal'),
      'sam. 31 déc. 2011 19:00:00 EST');
```

A full-featured time zone aware date formatter for JavaScript.

 * **Timezone** is a MicroJS library in pure JavaScript with no dependencies
   that provides timezone aware date math and date formatting.
 * **Timezone** uses the IANA Database to determine the correct wall clock time
   anywhere in the world for any time since the dawn of standardized time.
 * **Timezone** formats dates with a full implementation of `strftime` formats,
   including the GNU `date` extensions.
 * **Timezone** represents time in POSIX time and local time using RFC 3999 date
   strings.
 * **Timezone** is a full featured standards based time library in pure
   JavaScript for under 3K minified and gzipped.

## Hacking

```console
$ git clone --quiet https://github.com/bigeasy/timezone.git
$ cd timezone && make && npm install && npm test
```

## License

The [MIT License](https://raw.github.com/bigeasy/timezone/master/LICENSE).
npm package: @instructure/ui-code-editor
Description: A UI component library made by Instructure Inc.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 10.30.0

## ui-code-editor

[![npm][npm]][npm-url]
[![MIT License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]

A code editor component.

### Components

The `ui-code-editor` package contains the following:

- [CodeEditor](#CodeEditor)

### Installation

```sh
npm install @instructure/ui-code-editor
```

### Usage

```js
import React from 'react'
import { CodeEditor } from '@instructure/ui-code-editor'

const MyCodeEditor = () => {
  return (
    <CodeEditor
      label="code editor"
      defaultValue='{"foo": "bar"}'
      language="javascript"
      readOnly
    />
  )
}
```

[npm]: https://img.shields.io/npm/v/@instructure/ui-code-editor.svg
[npm-url]: https://npmjs.com/package/@instructure/ui-code-editor
[license-badge]: https://img.shields.io/npm/l/instructure-ui.svg?style=flat-square
[license]: https://github.com/instructure/instructure-ui/blob/master/LICENSE.md
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://github.com/instructure/instructure-ui/blob/master/CODE_OF_CONDUCT.md
npm package: @instructure/ui-container
Description: As of 5.4.0, Container has been moved from the `ui-container` package to `ui-layout` and renamed to `View`. See [View](#View) for more details.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 5.52.3
Deprecated: ui-container will be removed and no longer maintained in 6.0

As of 5.4.0, Container has been moved from the `ui-container` package to `ui-layout` and renamed to `View`.
See [View](#View) for more details.
npm package: @instructure/ui-core
Description: A UI component library made by Instructure Inc.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 5.52.3
Deprecated: ui-core will be removed and no longer maintained in 6.0

---
category: packages
---

## @instructure/ui-core

[![npm][npm]][npm-url]
[![build-status][build-status]][build-status-url]
[![MIT License][license-badge]][LICENSE]
[![Code of Conduct][coc-badge]][coc]

### Installation

```sh
yarn add @instructure/ui-core
```

### Usage

```js
import React from 'react'
import Heading from '@instructure/ui-core/lib/components/Heading'

export default MyHeading = function () {
  return (
    <Heading>Hello World</Heading>
  )
}
```

For the default theme you'll also need to include the ['Lato' font](http://www.google.com/fonts#UsePlace:use/Collection:Lato:300,400,400i,700,700i) in your application.

### Browser Support

- Internet Explorer 11 and Edge
- Chrome, Safari, Firefox (last two versions)

### Contribute

See the [contributing guidelines](#contributing) for details.

### License

[MIT](LICENSE)

[npm]: https://img.shields.io/npm/v/@instructure/ui-core.svg
[npm-url]: https://npmjs.com/package/@instructure/ui-core

[build-status]: https://travis-ci.org/instructure/instructure-ui.svg?branch=master
[build-status-url]: https://travis-ci.org/instructure/instructure-ui "Travis CI"

[license-badge]: https://img.shields.io/npm/l/instructure-ui.svg?style=flat-square
[license]: https://github.com/instructure/instructure-ui/blob/master/LICENSE

[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://github.com/instructure/instructure-ui/blob/master/CODE_OF_CONDUCT.md
npm package: @instructure/ui-docs
Description: A webpack plugin to generate documentation made by Instructure Inc.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 3.0.0
Deprecated: This package has been replaced with @instructure/ui-docs-plugin and @instructure/ui-docs-client

[npm]: https://img.shields.io/npm/v/@instructure/ui-docs.svg
[npm-url]: https://npmjs.com/package/@instructure/ui-docs

[![npm][npm]][npm-url]

### Installation

```sh
npm install @instructure/ui-docs
```

### Usage

In your webpack config add the plugin:

```js
const path = require('path')
const pkg = require('./package.json')

new DocsPlugin({
  title: `${pkg.name} : ${pkg.description} (${pkg.version})`,
  favicon: path.join(__dirname, 'logo.png'),
  library: {
    packageName: pkg.name,
    packageMain: pkg.main,
    name: 'MyLibrary',
    description: pkg.description,
    version: pkg.version,
    repository: pkg.repository.url,
    author: pkg.author,
    codepen: { // codpen button form data
      js_external: [
        `${pkg.homepage}common.js`,
        `${pkg.homepage}${pkg.name}.js`,
        `${pkg.homepage}globals.js`
      ]
    }
  },
  globals: { // for component playground and codepen examples
    moment: 'moment'
  },
  files: {
    components: [
      path.join(__dirname, 'lib/components/*/index.js') // only top level components
    ],
    docs: [
      path.join(__dirname, 'README.md'),
      path.join(__dirname, 'CHANGELOG'),
      path.join(__dirname, 'docs/*.md')
    ]
  },
  template: path.join(__dirname, 'templates/docs/index.tmpl.html')
})
```

### Browser Support

- Internet Explorer 11 and Edge
- Chrome, Safari, Firefox (last two versions)

### License

[MIT](LICENSE)
npm package: @instructure/ui-icons-build
Description: Build scripts to export icons from SVG files
Author: Instructure, Inc. Engineering and Product Design
Latest version: 9.11.1

---
category: packages
---

## ui-icons-build

[![npm][npm]][npm-url]
[![MIT License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]

Build scripts to generate icon sets from source SVG files for multiple platforms (web, iOS, Android).

### Installation

```sh
npm install --dev @instructure/ui-icons-build
```

### Supported formats:

- Accessible React components for each icon/variant
- SVG files optimized for the web with configurable bounding boxes/margins
- Icon font

## Requirements

- Node >= 8
- Mac OSX

[npm]: https://img.shields.io/npm/v/@instructure/ui-icons-build.svg
[npm-url]: https://npmjs.com/package/@instructure/ui-icons-build
[license-badge]: https://img.shields.io/npm/l/instructure-ui.svg?style=flat-square
[license]: https://github.com/instructure/instructure-ui/blob/master/LICENSE
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://github.com/instructure/instructure-ui/blob/master/CODE_OF_CONDUCT.md
npm package: @instructure/ui-prop-types
Description: A UI component library made by Instructure Inc.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 10.30.0

## ui-prop-types

[![npm][npm]][npm-url]
[![MIT License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]

A collection of custom prop type validators.

### Functions

The `ui-prop-types` package contains the following:

- [children](#children)
- [childrenOrValue](#childrenOrValue)
- [controllable](#controllable)
- [cursor](#cursor)
- [element](#element)
- [makeRequirable](#makeRequirable)
- [xor](#xor)

### Installation

```sh
npm install @instructure/ui-prop-types
```

### Usage

```js
import React from 'react'
import PropTypes from 'prop-types'

import { Children, controllable } from '@instructure/ui-prop-types'

class MyComponent extends React.Component {
  static propTypes = {
    children: Children.oneOf([SomeOtherComponent, AnotherComponent])
    selected: controllable(PropTypes.bool, 'onSelect'),
    onSelect: PropTypes.func
  }
  ...
}
```

[npm]: https://img.shields.io/npm/v/@instructure/ui-prop-types.svg
[npm-url]: https://npmjs.com/package/@instructure/ui-prop-types
[license-badge]: https://img.shields.io/npm/l/instructure-ui.svg?style=flat-square
[license]: https://github.com/instructure/instructure-ui/blob/master/LICENSE.md
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://github.com/instructure/instructure-ui/blob/master/CODE_OF_CONDUCT.md
npm package: @instructure/ui-testable
Description: A UI component test utility made by Instructure Inc.
Author: Instructure, Inc. Engineering and Product Design
Latest version: 10.30.0

## ui-testable

[![npm][npm]][npm-url]
[![MIT License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]

A decorator that adds a `data-` attribute to the React component root node
to make it easier to test.

**NOTE: by default, when NODE_ENV==='production' the `data-` attributes will not be appended**
(since they are specifically there for testing and appending them takes a non-trivial
amount of time at runtime, slowing things down for your actual users).
If you would like the `data-cid` attributes on elements even in your production
builds (like if you are using them in your e2e builds or something),
you need to set the environment variable:

```sh
ALWAYS_APPEND_UI_TESTABLE_LOCATORS=1
```

### Installation

```sh
npm install @instructure/ui-testable
```

[npm]: https://img.shields.io/npm/v/@instructure/ui-testable.svg
[npm-url]: https://npmjs.com/package/@instructure/ui-testable
[license-badge]: https://img.shields.io/npm/l/instructure-ui.svg?style=flat-square
[license]: https://github.com/instructure/instructure-ui/blob/master/LICENSE.md
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://github.com/instructure/instructure-ui/blob/master/CODE_OF_CONDUCT.md
npm package: @instrukt/langchain-community
Description: Third-party integrations for LangChain.js
Author: LangChain
Latest version: 0.3.16

# 🦜️🧑‍🤝‍🧑 LangChain Community

[![CI](https://github.com/langchain-ai/langchainjs/actions/workflows/ci.yml/badge.svg)](https://github.com/langchain-ai/langchainjs/actions/workflows/ci.yml) ![npm](https://img.shields.io/npm/dm/@langchain/community) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/langchainai.svg?style=social&label=Follow%20%40LangChainAI)](https://twitter.com/langchainai) 

## Quick Install

```bash
$ yarn add @langchain/community
```

This package, along with the main LangChain package, depends on [`@langchain/core`](https://npmjs.com/package/@langchain/core/).
If you are using this package with other LangChain packages, you should make sure that all of the packages depend on the same instance of @langchain/core.
You can do so by adding appropriate field to your project's `package.json` like this:

```json
{
  "name": "your-project",
  "version": "0.0.0",
  "dependencies": {
    "@langchain/community": "^0.0.0",
    "@langchain/core": "^0.3.0"
  },
  "resolutions": {
    "@langchain/core": "^0.3.0"
  },
  "overrides": {
    "@langchain/core": "^0.3.0"
  },
  "pnpm": {
    "overrides": {
      "@langchain/core": "^0.3.0"
    }
  }
}
```

The field you need depends on the package manager you're using, but we recommend adding a field for the common `yarn`, `npm`, and `pnpm` to maximize compatibility.

## 🤔 What is this?

LangChain Community contains third-party integrations that implement the base interfaces defined in LangChain Core, making them ready-to-use in any LangChain application.

![LangChain Stack](../../docs/core_docs/static/svg/langchain_stack_062024.svg)

## 📕 Releases & Versioning

`@langchain/community` is currently on version `0.0.x`

All changes will be accompanied by a patch version increase.

## 💁 Contributing

As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.

For detailed information on how to contribute, see [here](../../CONTRIBUTING.md).
npm package: @instrument/storytime-react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 3.0.0-storytime-1

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @instrumentbible/oscilloscope.js
Description: A JavaScript library to visualize audio.
Author: Josh Stovall
Latest version: 1.0.0

# oscilloscope.js

Audio visualization for JavaScript. Render audio/visual data to a HTML `<canvas>`

> DISCLAIMER: this library is a work in progress

Try the [live demo](https://instrumentbible.github.io/oscilloscope.js/).

# Features
- various audio/visual modes (oscilloscope, frequency bars, spectrogram, XY)
- change colors
- change thickness
- change framerate

## Use

```javascript
var options = {
	at: "container",
	type: "oscilloscope",
	thickness: 5,
	id: "theOsc",
	color: "#39FF14",
	background: "#303030",
	fade: 1,
	fftSize: 2048,
};

var myOscilloscope = new Oscilloscope(options);

```


VU Meter
```javascript
// VU Meter
function draw() {
	analyser.getByteFrequencyData(frequencyData);
	var values = 0;
	var length = frequencyData.length;
	for (var i = 0; i < (length/4); i++) { values += (frequencyData[i]); }
	var average = values / length;
	// var dfsg = Math.round((average + Number.EPSILON) * 100) / 100;
	// $( "#vu " ).html( dfsg  )

$('#lineVU').css('transform','rotate('+ (((inverseRmsLogScale(rmsLogScale(0.80, 1500), values) * 90) * -1) + 90) +'deg)');

}

const rmsLogScale = (v, m) => {return (100 - ((Math.log((1 - v) * 100) / 4.605170185988092) * 100)) / 100 * m;};

const inverseRmsLogScale = (lg, m) => {const x5 = (lg * 100) / m;const x4 = (100 - x5);const x3 = x4 / 100;const x2 = x3 * 4.605170185988092;const x1 = Math.exp(x2);return 1 - ((x1) / 100);};
```

Audio Level Meter
> I would call it a "decibel" meter, but I am not certain it is accurately analyzing decibels.
```javascript
// Audio Input Meter
function draw() {
	analyser.getByteFrequencyData(frequencyData);
	var values = 0;
	var length = frequencyData.length;
	for (var i = 0; i < (length/4); i++) { values += (frequencyData[i]); }
	var average = (values / length) / 2;
	$("#audioInMeter").val(average);
}
```
npm package: @instun/event
Description: A async event module for fibjs, nodejs, browser and react native
Latest version: 1.1.0

# @instun/event

A lightweight Promise-based event implementation.

## Features

- Promise-based API
- Simple event state management
- No external dependencies
- Works in fibjs, Node.js, browsers, and React Native

## Installation

```bash
fibjs --install @instun/event
```

## Usage

```javascript
const createEvent = require('@instun/event');

// Create a new event instance
const event = createEvent();

// Wait for the event
event.wait().then(() => {
    console.log('Event was set!');
});

// Set the event
event.set();  // All waiters will be notified

// Reset the event
event.reset();  // Event returns to non-signaled state

// Check event state
const state = event.getState();
console.log(state);  // { completed: false, waitCount: 0 }
```

## API

### createEvent()

Creates a new event instance.

### Methods

#### wait()

- Returns: `Promise<void>`
- Waits for the event to be set
- If the event is already set, resolves immediately
- If the event is not set, adds the waiter to the queue

#### set()

- Sets the event to completed state
- Resolves all pending waiters
- Future wait() calls will resolve immediately until reset() is called

#### reset()

- Sets the event back to initial state
- Does not affect existing waiters
- Future wait() calls will queue until the next set()

#### getState()

- Returns: `{ completed: boolean, waitCount: number }`
- `completed`: Whether the event is currently set
- `waitCount`: Number of pending waiters

## Behavior

1. When created, the event starts in initial state
2. set() changes the event to completed state and resolves all waiters
3. reset() returns the event to initial state without affecting waiters
4. Multiple set() calls while already set have no additional effect
5. Multiple reset() calls while already reset have no additional effect

## Examples

### Basic Usage

```javascript
const event = createEvent();

// Start some waiters
event.wait().then(() => console.log('Waiter 1'));
event.wait().then(() => console.log('Waiter 2'));

// Set the event - both waiters will be notified
event.set();

// This will resolve immediately
event.wait().then(() => console.log('Immediate'));

// Reset the event
event.reset();

// This will wait for the next set()
event.wait().then(() => console.log('Will wait'));
```

### With Async/Await

```javascript
async function example() {
    const event = createEvent();
    
    // Start waiting in background
    const promise = event.wait();
    
    // Set the event after 1 second
    setTimeout(() => event.set(), 1000);
    
    // Wait for it
    await promise;
    console.log('Event was set!');
}
```

## License

MIT
npm package: @instun/pool
Description: A async pool module for fibjs, nodejs, browser and react native
Author: Instun
Latest version: 3.1.0

# @instun/pool

## Overview

`@instun/pool` is an asynchronous pool module designed for use with Fibjs, Node.js, browser, and React Native. It allows you to manage a pool of resources efficiently, ensuring that your application can handle multiple tasks concurrently without overwhelming the system.

## Installation

To install the package, use npm:

```sh
fibjs --install @instun/pool
```

## Usage

### Basic Example

Here is a basic example of how to use the pool module:

```js
var db = require("db");
var Pool = require("@instun/pool");

var p = Pool(async () => {
    return await db.promises.open("sqlite::memory:");
}, 10, 1 * 1000);

async function main() {
    var res = await p(async (conn) => {
        console.log("Connected");
        await conn.execute("CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)");
        await conn.execute("INSERT INTO test (name) VALUES ('Hello')");
        return await conn.execute("SELECT * FROM test");
    });

    console.log(res);
}

main();
```

## API

### Pool

#### `Pool(create, size, timeout)`

- `create`: A function that creates a new resource.
- `size`: The maximum number of resources in the pool.
- `timeout`: The time in milliseconds before a resource is considered idle and removed from the pool.

### Methods

#### `function clear()`

Clears idle resources from the pool.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

## Author

This project is maintained by [Instun](https://github.com/Instun).

## Repository

[GitHub Repository](https://github.com/Instun/pool)
npm package: @instun/sm2-sd-2023-cryptosuite
Description: An sm2-sd-2023 Data Integrity cryptosuite for use with jsonld-signatures.
Latest version: 1.2.0

# An SM2 Selective Disclosure Data Integrity Cryptosuite _(@instun/sm2-sd-2023-cryptosuite)_

> A selective disclosure Data Integrity cryptosuite based on SM2 for use with jsonld-signatures.

## Install

```sh
npm install @instun/sm2-sd-2023-cryptosuite
```

## Basic Usage

### Creating a base proof

```javascript
import * as Sm2Multikey from '@instun/sm2-multikey';
import * as sm2Sd2023Cryptosuite from '@instun/sm2-sd-2023-cryptosuite';
import {DataIntegrityProof} from '@digitalbazaar/data-integrity';
import jsigs from 'jsonld-signatures';

// Setup key pair
const publicKeyMultibase = 'zEPJcCQ4kKGebz5ombkjw9mgikPckWeYDLhvZBzPckNsfjBa4';
const secretKeyMultibase = 'z4G1CtDVyCTyctEtfS6WD768wvhPWeN6zyMhJURHmWQwB3K4';
const controller = `did:key:${publicKeyMultibase}`;
const keyPair = await Sm2Multikey.from({
  type: 'Multikey',
  controller,
  id: `${controller}#${publicKeyMultibase}`,
  publicKeyMultibase,
  secretKeyMultibase
});

// Create and sign credential
const credential = {
  '@context': [
    'https://www.w3.org/2018/credentials/v1',
    'https://w3id.org/security/data-integrity/v2'
  ],
  type: ['VerifiableCredential'],
  issuer: controller,
  issuanceDate: '2024-01-01T19:23:24Z',
  credentialSubject: {
    id: 'urn:example:123',
    name: 'John Doe'
  }
};

const suite = new DataIntegrityProof({
  signer: keyPair.signer(),
  cryptosuite: sm2Sd2023Cryptosuite.createSignCryptosuite()
});

const signedCredential = await jsigs.sign(credential, {
  suite,
  purpose: new jsigs.purposes.AssertionProofPurpose(),
  documentLoader
});
```

### Creating a derived proof

```javascript
const suite = new DataIntegrityProof({
  cryptosuite: sm2Sd2023Cryptosuite.createDiscloseCryptosuite({
    selectivePointers: ['/credentialSubject/id']
  })
});

const derivedCredential = await jsigs.derive(signedCredential, {
  suite,
  purpose: new jsigs.purposes.AssertionProofPurpose(),
  documentLoader
});
```

### Verifying a proof

```javascript
const suite = new DataIntegrityProof({
  cryptosuite: sm2Sd2023Cryptosuite.createVerifyCryptosuite()
});

const result = await jsigs.verify(derivedCredential, {
  suite,
  purpose: new jsigs.purposes.AssertionProofPurpose(),
  documentLoader
});
```

## Advanced Features

- Mandatory field disclosure
- Selective disclosure of multiple fields
- Custom document loaders
- Different proof purposes

For detailed examples of advanced usage, see our [documentation](https://github.com/instun/sm2-sd-2023-cryptosuite/wiki).

## Commercial Support

Commercial support available from Instun: support@instun.com

## License

Copyright (c) 2024 Instun, Inc. All rights reserved.
npm package: @instyga/compmaker
Description: Uma ferramenta CLI para criar componentes React no padrao Instyaga Atomic
Author: Michael Nascimento
Latest version: 1.1.2

# Compmaker

## By Instyga

Pequena ferramenta para criação de componentes com base no Atomic Design para os sistemas base da Instyga.

### Como usar

Após a instalação, execute o comando **compmaker**

```bash
compmaker
```

Você será guiado pelas etapas de criação do componente

```bash
? Please choose an option: (Use arrow keys)
❯ atoms
  molecules
  organisms
  pages
  templates
```

```bash
? Please choose an option: molecules
? Please enter your name: nomeDoComponente

```

O componente é criado no caminho `src/components/atoms/nome-do-componente/NomeDoComponente.{{tsx,test.tsx}}`

### Autor

[Michael Nascimento](https://www.linkedin.com/in/michaelnsc/) | [Instyga](https://www.linkedin.com/company/instyga)
npm package: @insuide/indoor-map-library
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.5.0.
Latest version: 1.2.80

# IndoorMapLibrary

Indoor maps drawing tool for Angular2.

<b> Prerequisites </b> 

1) material design icons

add this line into your head tag section of index.html
```html
<link rel="stylesheet" href="//cdn.materialdesignicons.com/2.1.19/css/materialdesignicons.min.css">
```
2) Copy all image files from https://github.com/h33na/insuide-indoor-maps/tree/master/src/assets folder to your assets folder

<b> How to use </b> 

Install the dependency with the command 
```nodejs
npm i --save-dev @insuide/indoor-map-library
```
npm package: @insuline/tg-cli
Description: Read-only Telegram CLI for AI agents
Latest version: 0.1.5

# tg-cli

`tg-cli` — read-only Telegram CLI for quick channel access in AI agents.

## Stack

- TypeScript
- Bun
- GramJS (`telegram`)
- Commander.js

## Install

```bash
npm install -g @insuline/tg-cli
```

## Usage

```bash
tg auth login

tg auth status
tg auth logout


tg search "my channel"
tg info @channel

tg read @channel

tg read @channel/123
tg stats @channel/123
```

Global flags

```bash
--limit N         default 20
--offset N        default 0
--pretty          pretty-print JSON output
```

JSON format

```json
{
  "ok": true,
  "data": { ... },
  "meta": { "count": 20, "has_more": true }
}
```

`read` returns media metadata in `media`:

```json
{
  "type": "photo",
  "raw_class_name": "MessageMediaPhoto",
  "file_id": "5253...",
  "access_hash": "6924...",
  "file_reference": "A...==",
  "dc_id": 2,
  "width": 1103,
  "height": 1280,
  "has_stickers": false
}
```

На прямой публичный URL Telegram сейчас не даёт — пока возвращаются только метаданные для последующей загрузки через Telegram API.

Errors

```json
{
  "ok": false,
  "error": {
    "code": "CHANNEL_NOT_FOUND",
    "message": "..."
  }
}
```

## Config

Stored in `~/.tg-cli/`:

- `session.json` — GramJS `StringSession`
- `config.json` — Telegram API credentials

Credentials priority:

1. `TG_API_ID` + `TG_API_HASH`
2. `~/.tg-cli/config.json`
3. Interactive prompt on first login
npm package: @insulino/vite-plugin-2sankhyabi
Description: Plugin Vite para converter aplicações React (e outros frameworks suportados pelo Vite) em dashboards Sankhya
Author: David Lima
Latest version: 1.0.6

# @insulino/vite-plugin-2sankhyabi

Plugin Vite para converter aplicações React (e outros frameworks suportados pelo Vite) em dashboards compatíveis com Sankhya BI.

## Funcionalidades

- Transforma o arquivo index.html em um index.jsp adequado para execução em Sankhya BI.

- Substitui caminhos de assets estáticos (scripts e estilos) por variáveis dinâmicas compatíveis com Sankhya.

- Gera um arquivo ZIP do diretório de build contendo a aplicação pronta para deploy.

## Instalação

```bash
npm install @insulino/vite-plugin-2sankhyabi --save-dev
```

Ou com yarn:

```bash
yarn add @insulino/vite-plugin-2sankhyabi -D
```

## Uso

Adicione o plugin ao seu vite.config.ts:

```js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { convertToSankhyaBI } from '@insulino/vite-plugin-2sankhyabi';

export default defineConfig({
  plugins: [
    react(),
    { ...convertToSankhyaBI(), apply: 'build' }
  ]
});
```

Após o build (vite build), o plugin executará as seguintes ações automaticamente:

- Converterá o index.html para index.jsp.

- Ajustará os caminhos dos assets dinâmicos, como scripts e estilos.

- Atualizará os arquivos .js para resolver imagens estáticas corretamente.

- Compactará todo o conteúdo do diretório dist em um arquivo build.zip.

## Resultado

Após rodar o comando:

```bash
vite build
```

Você terá um arquivo build.zip pronto para ser importado como dashboard no Sankhya BI.

Contribuição

Contribuições são bem-vindas! Por favor, abra uma issue ou pull request no repositório.

Licença

Este projeto está licenciado sob a Licença MIT.

Autor: David Lima
npm package: @insulo/archiver
Description: Make a filtered copy of a source directory and pack it in the end.
Latest version: 0.2.0

# Insulo: Archiver

Make a filtered copy of a source directory and pack it in the end.

## Example

```js
const Archiver = require('@insulo/archiver');

// declare some dist folder, when inside of base don't forget to add relative path to exclude
// can also be used as filename 
const dist = __dirname + '/build';

let archive = new Archiver();
archive.base = './src';
archive.exclude = [
    '.idea',
    '.git',
    '.gitkeep',
    'tmp',
    'node_modules',
];
archive.debug = true;

// add own pack handler
// archive.pack_handler['<name>'] = (base, src) => { // packing and saving... return true;};
let pack_method = false;
if(archive.pack_handler.hasOwnProperty('zip')) {
    pack_method = 'zip';
}

// first copy
archive.copy(dist).then((/*result*/) => {
    
    // then pack it to a zip
    archive.pack(pack_method, dist).then((handler_done) => {
        // returns the full target path or false
        if(handler_done) {
            console.log('finished' + dist);
        } else {
            console.error('failed: pack-' + pack_method);
        }
    });
});
``` 

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insulo/media-optimizer-handler-dynamic
Description: Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!
Latest version: 0.1.3

# Insulo: Media Optimizer

Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!

Including a file watcher for local development, only re-optimizes changed files, currently doesn't delete files when source files are deleted.

See [@insulo/media-optimizer](https://www.npmjs.com/package/@insulo/media-optimizer) for documentation and example usage.

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insulo/media-optimizer-handler-handbrake
Description: Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!
Latest version: 0.1.3

# Insulo: Media Optimizer

Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!

Including a file watcher for local development, only re-optimizes changed files, currently doesn't delete files when source files are deleted.

See [@insulo/media-optimizer](https://www.npmjs.com/package/@insulo/media-optimizer) for documentation and example usage.

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insulo/media-optimizer-handler-jpg
Description: Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!
Latest version: 0.1.3

# Insulo: Media Optimizer

Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!

Including a file watcher for local development, only re-optimizes changed files, currently doesn't delete files when source files are deleted.

See [@insulo/media-optimizer](https://www.npmjs.com/package/@insulo/media-optimizer) for documentation and example usage.

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insulo/media-optimizer-handler-png
Description: Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!
Latest version: 0.1.2

# Insulo: Media Optimizer

Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!

Including a file watcher for local development, only re-optimizes changed files, currently doesn't delete files when source files are deleted.

See [@insulo/media-optimizer](https://www.npmjs.com/package/@insulo/media-optimizer) for documentation and example usage.

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insulo/media-optimizer-handler-svg
Description: Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!
Latest version: 0.1.3

# Insulo: Media Optimizer

Optimize your media assets before publishing - save storage, speed up performance, make your customers happier!

Including a file watcher for local development, only re-optimizes changed files, currently doesn't delete files when source files are deleted.

See [@insulo/media-optimizer](https://www.npmjs.com/package/@insulo/media-optimizer) for documentation and example usage. 

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insulo/watcher
Description: Simple Wrapper around [chokidar](https://www.npmjs.com/package/chokidar) for watching files and folders for changes with an unified logging.
Latest version: 0.1.3

# Insulo: Watcher

Simple Wrapper around [chokidar](https://www.npmjs.com/package/chokidar) for watching files and folders for changes with an unified logging.

```js
const {FileWatcher} = require('@insulo/watcher');

let watcher = new FileWatcher('name-for-watcher', ['/optional/init/paths']);

// add element to be watched
watcher.add(src);
// remove element from the watched
watcher.remove(src);

// activate default error message logger
watcher.onError();
// activate default ready message logger
watcher.onReady();
// activate debug logger
watcher.debug();

// add change handler

// listens on: add, change, unlink
watcher.onChange((path) => {});

// listens on: add
watcher.onChangeAdd((path) => {});

// listens on: change
watcher.onChangeChange((path) => {});

// listens on: unlink
watcher.onChangeUnlink((path) => {});


// add custom onReady cb
watcher.onReady(()=>{
    // get all which are watched
    watcher.getWatched();
    
    // end watcher
    watcher.stop();
});

// add custom onError cb
watcher.onError((err)=>{
    console.error(err);
});
``` 

## Licence

This project is free software distributed under the terms of two licences, the CeCILL-C and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of CeCILL-C (v1) for Europe or GNU LGPL (v3) for the rest of the world.

This file and the LICENCE.* files need to be distributed and not changed when distributing.
For more informations on the licences which are applied read: [LICENCE.md](LICENCE.md)


# Copyright

    2018 | bemit UG (haftungsbeschränkt) - project@bemit.codes
    Author: Michael Becker - michael@bemit.codes
npm package: @insurgent/export-map-test
Description: Package that exposes various entry points via package.json's exports field for testing purposes
Latest version: 1.0.1

# @insurgent/export-map-test

Package that exposes various entry points via [`package.json`'s `exports` field](https://nodejs.org/api/packages.html#packages_package_entry_points) for testing purposes.

Each file contains specific content to be able to test the loaded module value.

```shell
npm i --save-dev @insurgent/export-map-test
```

### Conditions:

- ✅ `@insurgent/export-map-test`: should import `./main.js`
- ✅ `@insurgent/export-map-test/simple`: should import `./simple.js`
- ✅ `@insurgent/export-map-test/conditional`: should import **one** file in `./conditional`, depending on your criteria
- ✅ `@insurgent/export-map-test/wildcard/css.css`: should succeed (as should `js.js` and `svg.svg`)
- ✅ `@insurgent/export-map-test/wildcard-js/one`: should only be able to import any `.js` file without the extension (`one`, `two`, `three`)
- ❌ `@insurgent/export-map-test/wildcard-js/css`: should fail (as should `svg`)
- ✅ `@insurgent/export-map-test/package.json`: should succeed
- ❌ `@insurgent/export-map-test/README.md`: should fail
npm package: @insurgent/json-index-test
Description: Package that contains a single `index.json` file (without a `main` field in `package.json`) for testing purposes
Author: Pierre Cavin
Latest version: 2.0.0

# @insurgent/json-index-test

Package that contains a single `index.json` file (without a `main` field in `package.json`) for testing purposes.

```shell
npm i --save-dev @insurgent/json-index-test
```
npm package: @insurgent/json-main-test
Description: Package that contains a single `main.json` file (with a `main` field in `package.json`) for testing purposes
Author: Pierre Cavin
Latest version: 2.0.0

# @insurgent/json-main-test

Package that contains a single `main.json` file (with a `main` field in `package.json`) for testing purposes.

```shell
npm i --save-dev @insurgent/json-main-test
```
npm package: @insurgent/subpaths-test
Description: Package that exposes various subpath-accessible modules for testing purposes
Latest version: 1.0.0

# @insurgent/subpaths-test

Package that exposes various subpath-accessible modules for testing purposes.

Each file contains specific content to be able to test the loaded module value.

```shell
npm i --save-dev @insurgent/subpaths-test
```