open-index/open-npm huggingface dataset:
npm package: @tabcat/ipfs-bundle-t
Description: custom browser bundle for ipfs node
Author: andersb@tuta.io
Latest version: 0.0.6

# ipfs-bundle-t
custom ipfs bundle for browser

## Usage:
install: 
```
npm install -s @tabcat/ipfs-bundle-t
```
create the ipfs node:
 ```
 const IpfsBundle = require('@tabcat/ipfs-bundle-t')
 const ipfs = IpfsBundle()
 ipfs.on('ready', function(){
  //ipfs node ready to use
 })
 ```
npm package: @tabcat/orbit-db-signal-protocol-store
Description: libsignal protocol store interface for orbit-db docstore
Author: andersb@tuta.io
Latest version: 1.0.1

# orbit-db-signal-protocol-store
signal protocol store interface for orbit-db docstore: https://github.com/signalapp/libsignal-protocol-javascript/blob/master/test/InMemorySignalProtocolStore.js

## Usage
install with npm:
```
npm install @tabcat/orbit-db-signal-protocol-store
```
create orbitdb instance: https://github.com/orbitdb/orbit-db/blob/master/README.md#usage

create the signal protocol store:
```
const docstore = await orbitdb.create('signal-protocol-store', 'docstore', { replicate:false })
// recommend disabling replication on orbit docstore so secrets are not sent to peers

const signalProtocolStore = new OrbitDBSignalProtocolStore(docstore)
// signalProtocolStore can now be used in libsignal as the store
```

using libsignal-protocol-javascript:
  - https://github.com/signalapp/libsignal-protocol-javascript/
  - https://stackoverflow.com/questions/44160427/working-example-for-signal-protocol-in-js
npm package: @tabcat/ordered-sets
Description: Utilities for working with ordered sets
Author: tabcat
Latest version: 4.1.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ordered-sets

Utilities for working with ordered sets.

- Zero Dependencies
- Uses ES6 Iterables

Core of library is the `pairwiseTraversal` generator in [src/util.ts](https://github.com/tabcat/ordered-sets/blob/master/src/util.ts).

## API Docs

https://tabcat.github.io/ordered-sets/

## Install

Available from NPM at name: `@tabcat/ordered-sets`

## Build

In this package we use [PNPM](https://pnpm.io/)

```
pnpm install
pnpm build
```

## Performance

This library provides efficient operations for ordered sets.

May be useful in the following cases:

- Set elements must remain in order.
- Set elements are expensive to store as primitives.

If none of these apply, it's probably better to implement the needed operations using Javascript's Set class.

### Benchmarks

There's a very simple benchmark comparing the set operations difference, symmetric difference, union and intersection implemented in this library versus an implementation using Set.

```
pnpm install
pnpm benchmark
```

Output should look something like this:

```
difference      impl: Set               size: 1000 x 43,716 ops/sec ±0.72% (92 runs sampled)
difference      impl: ordered-sets      size: 1000 x 22,283 ops/sec ±0.16% (97 runs sampled)
symmetric       impl: Set               size: 1000 x 74,039 ops/sec ±0.17% (96 runs sampled)
symmetric       impl: ordered-sets      size: 1000 x 22,269 ops/sec ±0.21% (98 runs sampled)
union           impl: Set               size: 1000 x 49,286 ops/sec ±0.21% (97 runs sampled)
union           impl: ordered-sets      size: 1000 x 22,304 ops/sec ±0.12% (100 runs sampled)
intersection    impl: Set               size: 1000 x 44,572 ops/sec ±1.70% (89 runs sampled)
intersection    impl: ordered-sets      size: 1000 x 7,387,917 ops/sec ±0.19% (99 runs sampled)
```

## Extension

If you have a usecase for a missing feature be sure to make an issue.
Have been thinking about building a merge function.
npm package: @tabcat/peer-account
Description: agent for self-sovereign, private account stores
Author: andersb@tuta.io
Latest version: 0.2.0

# peer-account
agent for self-sovereign, private account stores

Structure:
* PeerAccount Class
  - genAccountIndex: creates an account index which keeps track of the account state
  - login: mounts the account index and returns an instance of PeerAccount
* PeerAccount Instance
  - manifest: tracks every orbitdb store opened and dropped by the account
  - profiles: manages profile sessions owned or viewed by the account
  - inbox: view session offers sent to the account, inbox address is viewable on the accounts profile
  - contacts: manages contact sessions used by the account, contact sessions are used for private messaging and session offers
npm package: @tabcat/peer-account-crypto
Description: crypto library for node and browser. uses webcrypto or node-webcrypto-ossl for primatives
Author: andersb@tuta.io
Latest version: 0.2.0

# peer-account-crypto
crypto library for node and browser. uses webcrypto or node-webcrypto-ossl for primatives

**DISCLAIMER: cryptography in this repo has been implemented by an amateur and has not been auditted. <br/>Please :fire:roast:fire: me in Issues if u find a vulnerability.**
npm package: @taber-miyauchi/validator-schemas
Description: Validator implementations for common data types
Author: taber-miyauchi
Latest version: 0.5.0

# @taber-miyauchi/validator-schemas

Validator implementations for common data types. Part of the cross-repository SCIP navigation demo.

## Installation

```bash
npm install @taber-miyauchi/validator-schemas
```

## Usage

```typescript
import { EmailValidator, PhoneValidator, URLValidator } from '@taber-miyauchi/validator-schemas';

const emailValidator = new EmailValidator();
const result = emailValidator.validate('user@example.com');

if (result.valid) {
  console.log('Valid email:', result.value);
} else {
  console.log('Errors:', result.errors);
}
```

## Validators

| Class | Validates | Example |
|-------|-----------|---------|
| `EmailValidator` | Email addresses | `user@example.com` |
| `PhoneValidator` | Phone numbers | `+1-555-123-4567` |
| `URLValidator` | URLs | `https://example.com` |

## Dependencies

- `@taber-miyauchi/validator-core` — Core interfaces (`Validator<T>`, `ValidationResult`, `ValidationError`)

## Testing Precise Code Navigation

After SCIP indexing, test these navigation features in Sourcegraph:

### Go to Definition
- Click on `Validator<string>` → should jump to `validator-core`
- Click on `ValidationResult` → should jump to `validator-core`

### Find References
- Click on `EmailValidator` → should show usages in `validator-service`

### Find Implementations
- From `validator-core`, click "Find Implementations" on `Validator<T>` → should show `EmailValidator`, `PhoneValidator`, `URLValidator`

## Development

```bash
npm install
npm run build
```

## License

MIT
npm package: @tabetalt/devops-config
Description: [internal] DevOps Configuration for Tabetalt
Latest version: 1.5.0

![Tabetalt Infra Config](.github/assets/header.jpg)

This is an repository for internal configuration classes used with [@tabetalt/pulumix](https://github.com/tabetalt/pulumix).

## For Tabetalt-developers

Changes here are deployed to all microservices. It should be generic and will be public.
Secrets are only stored in Vault.

## For others

This holds an example of Config class that can be used with resources at [@tabetalt/pulumix](https://github.com/tabetalt/pulumix).

One of the use-cases are simple getting configuration.

```typescript
import { Config } from '@tabetalt/devops-config';
const config = new Config;
export const service = new Service('hello', {
  domain: config.get('domain'),
});
```

or you can utilize it as base configuration class. Every function that requires something configurable,
will use this class instead.

```typescript
import { Config } from '@tabetalt/devops-config';
const config = new Config;
export const service = new Service('hello', {
  name: 'hello',
}, { config });
```

If service needs, ex. primaryDomain, it will get that from our Config class.
npm package: @tabianco/eslint-config
Description: ESLint config for Nuxt.js
Latest version: 1.1.0

# Nuxt ESLint Config

[![GitHub Actions](https://github.com/tabianco/lint-configs/workflows/ci/badge.svg?branch=main)](https://github.com/tabianco/lint-configs/actions?query=workflow%3Aci)
[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@tabianco/eslint-config)](https://npmjs.com/package/@tabianco/eslint-config)
[![npm](https://flat.badgen.net/npm/dt/@tabianco/eslint-config)](https://npmjs.com/package/@tabianco/eslint-config)

[ESlint](https://eslint.org/) config used for Nuxt.js.

## Usage

Do you want to add the config to your own projects? There you go:

1. Add this package to your devDependencies

```bash
$ npm i -D @tabianco/eslint-config
# or
$ yarn add -D @tabianco/eslint-config
```

2. Install `eslint` if not already present locally or globally

```bash
$ npm i -D eslint
# or
$ yarn add -D eslint
```

3. Create a `.eslintrc` file

4. Extend our config (you can use just the scope name as ESLint will assume the `eslint-config` prefix):

```json
{
  "extends": [
    "@tabianco"
  ]
}
```

## Full example

A full example `.eslintrc` for a project with babel support:
> Dont forget to `npm i -D babel-eslint` or `yarn add -D babel-eslint`

```json
{
  "root": true,
  "parserOptions": {
    "parser": "babel-eslint",
    "sourceType": "module"
  },
  "extends": [
    "@tabianco"
  ]
}
```

## License

MIT - Tabian Co.
npm package: @tabianco/vue-inherit-component
Description: Overrides default behavior of pre-defined Vue2 components
Author: Tabian Co.
Latest version: 2.3.0

# @tabianco/vue-inherit-component

[![GitHub Actions](https://github.com/tabianco/vue-inherit-component/workflows/ci/badge.svg?branch=main)](https://github.com/tabianco/vue-inherit-component/actions?query=workflow%3Aci)
[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@tabianco/vue-inherit-component)](https://npmjs.com/package/@tabianco/vue-inherit-component)
[![npm](https://flat.badgen.net/npm/dt/@tabianco/vue-inherit-component)](https://npmjs.com/package/@tabianco/vue-inherit-component)

Overrides default behavior of pre-defined Vue2 components.

_Note: this library works only with Vue2_

## Usage

1. Add this package to your dependencies

```bash
$ npm i -S @tabianco/vue-inherit-component
# or
$ yarn add @tabianco/vue-inherit-component
```

2. Use in your component `.vue` file

```javascript
import { inheritComponent } from '@tabianco/vue-inherit-component'
```

## Full example

A full example creating a component inheriting `SomeComponent` from an `awesome-vue-component-library`.

```javascript
import { inheritComponent } from '@tabianco/vue-inherit-component'

import SomeComponent from 'awesome-vue-component-library'

export default inheritComponent(SomeComponent, {
  computedClass (props) {
    return {
      readonly: props.readonly
    }
  },

  computedProps (props) {
    if (props.readonly) {
      return {
        ...props,
        color: 'gray'
      }
    } else {
      return props
    }
  },

  props: {
    color: {
      type: String
    },

    readonly: {
      type: Boolean
    }
  }
})
```

## License

MIT - Tabian Co.
npm package: @tabianco/vuetify-components
Description: Vuetify component tweaks for v2
Author: Tabian Co.
Latest version: 2.1.0

# @tabianco/vuetify-components

[![GitHub Actions](https://github.com/tabianco/vuetify-components/workflows/ci/badge.svg?branch=main)](https://github.com/tabianco/vuetify-components/actions?query=workflow%3Aci)
[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@tabianco/vuetify-components)](https://npmjs.com/package/@tabianco/vuetify-components)
[![npm](https://flat.badgen.net/npm/dt/@tabianco/vuetify-components)](https://npmjs.com/package/@tabianco/vuetify-components)

Vuetify component tweaks for v2.

_Note: this library works only with Vue2_

## Usage

1. Add this package to your dependencies

```bash
$ npm i -S @tabianco/vuetify-components @tabianco/vue-inherit-component
# or
$ yarn add @tabianco/vuetify-components @tabianco/vue-inherit-component
```

2. Use in your component `.vue` file

```javascript
import { genInput } from '@tabianco/vuetify-components'
```

## Full example

A full example creating a component inheriting `VTextField`.

```javascript
import { VTextField } from 'vuetify/lib'
import { genInput } from '@tabianco/vuetify-components'

export default genInput(VTextField, {
  readonlyProps (props) {
    return {
      color: props.dark ? 'white' : 'primary'
    }
  },

  regularProps: {
    color: 'primary'
  }
})
```

## License

MIT - Tabian Co.
npm package: @tabikaeru/react-modal-hooks
Description: Simple hooks library to help using modal.
Author: tabikaeru
Latest version: 1.0.3

# React Modal Hooks
Simple hooks library to help using modal.

# Usage
```jsx
import { useModal } from '@tabikaeru/react-modal-hooks'

const MyModal = ({isVisible, onClose})=>(
    <Modal isVisible={isVisible}>
        <button onClick={onClose}>Close</button>
    </Modal>
)

const Page = ()=>{
    const {isVisible, onOpen, onClose }= useModal()
    return (
        <Fragment>
            <div>
                <button onClick={onOpen}>Open </button>
            </div>
            <MyModal isVisible={isVisible} onClose={onClose}/>
        </Fragment>
    )
}
```
npm package: @tabit/rabbitmq
Description: amqplib wrapper for Rabbit MQ
Author: joniba
Latest version: 4.0.4

# opinionated amqplib wrapper for Rabbit MQ

Why opinionated? Unless told otherwise, will:
* always set a default prefetch of 100
* always publish messages as persistent (and leave the amqplib default of setting all queues as durable)
* consumer-friendly request-reply-queue implementation
* and more...

**Tracing:**
* To enable all traces, set the `DEBUG` environment variable to `tabit:infra:rabbit:*`
* Additional more specific traces are also available (e.g., `tabit:infra:rabbit:topology`, etc)

**Running tests:**

  Either use the available docker-compose to run on a container, OR

  Install dependencies locally:
  * Erlang
  * RabbitMQ
  * enable the management plugin
  * download the delayed-messages plugin: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
  * copy the plugin (.ez file) to your plugins folder (example path to folder on windows: C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.19\plugins)
  * enable the delayed-messages plugin: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
  
Then run _mocha ./test_