open-index/open-npm huggingface dataset:
npm package: @soulofmischief/proxy.js
Description: A collection of useful JavaScript Proxy utilities.
Latest version: 0.8.0

# Proxy.js

A collection of useful JavaScript Proxy utilities.

## Installation

`npm install @soulofmischief/proxy.js`

## Methods

### after

```ecmascript 6
after( model, callback = () => null, passValue = false )
```

Execute a callback after each property access or assignment.

#### Usage

```ecmascript 6
import { after } from '@soulofmischief/proxy.js'

// Log each property access.
const proxy = after( obj, console.log, true )

proxy.val
// undefined
```

#### Parameters

**model** `object`

Object to proxy.

**callback** `function`

Callback to execute after each access.

**passValue** `boolean`

Pass the computed value to the callback.

### before

```ecmascript 6
before( model, callback = () => null, passValue = false )
```

Execute a callback before each property access or assignment.

#### Usage

```ecmascript 6
import { before } from '@soulofmischief/proxy.js'

// Log each property access.
const proxy = before( obj, console.log, true )

proxy.val = 'test'
// 'test'
```

#### Parameters

**model** `object`

Object to proxy.

**callback** `function`

Callback to execute before each access.

**passValue** `boolean`

Pass the provided value to the callback.

### log

```ecmascript 6
log( model, { exclude: '', include: '', logger: console.log })
```

Log each property access or assignment.

#### Usage

```ecmascript 6
import { log } from '@soulofmischief/proxy.js'

// Log each property access.
const proxy = log( obj )

proxy.val
// GET val
// undefined
```

#### Parameters

**model** `object`

Object to log.

**options.include** `string|Array<string>`

Access types to include.

**options.exclude** `string|Array<string>`

Access types to exclude.

**options.logger** `function`

Logging callback.


### store

```ecmascript 6
store[ key ] = val
```

JSON-serialized shallow store using `localStorage`.

#### Usage

```ecmascript 6
import { store } from '@soulofmischief/proxy.js'

// Store a value.
store.test = { key: 'value' }

// Retrieve value.
console.log( store.test )
// { key: 'value' }
```
npm package: @soulpicks/react-scripts
Description: Soulpicks' configuration and scripts for Create React App.
Latest version: 3.52.6

# 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: @soulpicks/theme
Description: <img src="https://avatars0.githubusercontent.com/u/37078572?s=200&v=4" width="127px" height="127px" align="left"/>
Author: Aaron
Latest version: 1.11.2

<img src="https://avatars0.githubusercontent.com/u/37078572?s=200&v=4" width="127px" height="127px" align="left"/>

# @soulpicks/theme

![status: active](https://img.shields.io/badge/status-active-green.svg)

## Welcome

💄 for your apps

## Setup

Install

```sh
yarn add @soulpicks/theme
```

Reference the types

react-app-env.d.ts:

```js
/// <reference types='@soulpicks/theme'/>
```
npm package: @soulsam480/june
Description: June component library
Author: soulsam480 <soulsam480@hotmail.com>
Latest version: 0.1.1

## June component library

> A minimal component lib for personal projects

![npm](https://img.shields.io/npm/v/@soulsam480/june) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@soulsam480/june) ![GitHub](https://img.shields.io/github/license/soulsam480/@soulsam480/june) ![npm](https://img.shields.io/npm/dm/@soulsam480/june)

#### Features
- Tree shaked
- Style via WIndicss/Tailwind
- Icons powered by @antfu/vite-plugin-purge-icons (opt in only for vite apps) 

#### Based on 
- React 
- Vite
- WindiCSS/Tailwind
- TypeScript
- Iconify

#### Usage
> please don't skip following steps

__install__

```
yarn add @soulsam480/june
npm install @soulsam480/june
pnpm add @soulsam480/june
```
__install peer dependencies__
- react
- react-transition-group
- tailwind

if you want to use icons (only for vite)
- @iconify/iconify@latest
- @iconify/json@latest
- vite-plugin-purge-icons@latest
and config in vite config

__config__

- add to windi/tailiwnd config
```ts
import { JuneTWindSafelist } from '@soulsam480/june'
{
  safelist: [...JuneTWindSafelist],
  extract: { include: ['./node_modules/@soulsam480/june/dist/*'] },
};
```
- import CSS 
```ts
import '@soulsam480/june/dist/style.css';
```

#### Caution
even after doing all these, there might be some issues, I'm advising not use this for your projects. Thx
npm package: @soulsam480/vue-chart
Description: 📊 A simple wrapper around Chart.js 3 for Vue 3
Author: Sambit Sahoo
Latest version: 0.3.0

# 📊 Chart.js 3 for Vue 3

Fork of https://github.com/victorgarciaesgi/vue-chart-3

### Why ?
- only vue 3
- fully tree shaked
- proper types and volar support
- written with \<script setup\> instead of render functions

### Caveats
- no hooks (may add later if I have time)

![npm](https://img.shields.io/npm/v/@soulsam480/vue-chart) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@soulsam480/vue-chart) ![GitHub](https://img.shields.io/github/license/soulsam480/vue-chart-3) ![npm](https://img.shields.io/npm/dm/@soulsam480/vue-chart)

### Installation

```bash
npm i @soulsam480/vue-chart
#or
yarn add @soulsam480/vue-chart
#or
pnpm i @soulsam480/vue-chart
```


### Docs

__https://vue-chart-3.netlify.app/__

As this is just a rewrite of https://github.com/victorgarciaesgi/vue-chart-3, the docs should be the same mostly, leaving `hooks`.

__Passing refs__

Due to the `design decisions` of this approach, passing refs to `chart components` is a bit different. Normally you'd pass a `ref` prop, but here you need to pass a function which returns the ref.
e.g.
```vue
<script setup lang="ts">
import { computed, ref, watch } from 'vue';
import { DoughnutChart } from '@soulsam480/vue-chart';
import { Chart, ChartData, ChartOptions, registerables } from 'chart.js';

Chart.register(...registerables);

const dataValues = ref([30, 40, 60, 70, 5]);
const toggleLegend = ref(true);

const testData = computed<ChartData<'doughnut'>>(() => ({
  labels: ['Paris', 'Nîmes', 'Toulon', 'Perpignan', 'Autre'],
  datasets: [
    {
      data: dataValues.value,
      backgroundColor: ['#77CEFF', '#0079AF', '#123E6B', '#97B0C4', '#A5C8ED'],
    },
  ],
}));

const options = computed<ChartOptions<'doughnut'>>(() => ({
  scales: {
    myScale: {
      type: 'logarithmic',
      position: toggleLegend.value ? 'left' : 'right',
    },
  },
  plugins: {
    legend: {
      position: toggleLegend.value ? 'top' : 'bottom',
    },
    title: {
      display: true,
      text: 'Chart.js Doughnut Chart',
    },
  },
}));

const chartRef = ref<Chart<'doughnut'> | null>(null);

// will be available only after first render
// use nextTick() or add a check to see if it's been assigned or not
const assignRef = () => chartRef;

watch(chartRef, (val) => {
  console.log(val?.data.datasets);
});
</script>

<template>
  <div class="home">
    <doughnut-chart :chart-ref="assignRef" :chart-data="testData" :options="options" chart-id="some-chart" />
  </div>
</template>
```

What this does essentially is, during rendering the chart, it'll assign the chart instance to the ref (which is being returned by the function)

### Example

https://stackblitz.com/edit/vitejs-vite-wtfvpx?embed=1&file=src/App.vue
npm package: @soulsandz/px2remplus-loader
Description: css post loader for px2remplus
Author: soulsandz
Latest version: 1.0.1

# px2remplus-loader

same as [px2rem-loader](https://github.com/Jinjiang/px2rem-loader)



## Install

`npm i @soulsandz/px2remplus-loader -D`

## webpack config

```js
module.exports = {
  // ...
  module: {
    rules: [{
      test: /\.css$/,
      use: [{
        loader: 'style-loader'
      }, {
        loader: 'css-loader'
      }, {
        loader: 'px2rem-loader',
        // options here
        options: {
          remUnit: 75,
          ignoreSelector: 'cube'  // the selector will be ignore if it contains the string
        }
      }]
    }]
  }
}
```

Please see [px2rem](https://github.com/songsiqi/px2rem) for more information about query parameters of px2rem.
npm package: @soulsolidity/registry
Description: Registry for zap entries
Latest version: 0.0.1-test.19

# Zap Registry

A registry system for managing and generating metadata for DeFi zap entries.

## Overview

This project provides a system to manage zap entries for various DeFi protocols across multiple blockchains. It includes:

- Type definitions for zap entries
- Manual entry system for defining zap entries
- Data retrieval system for fetching on-chain data
- Build pipeline for generating final JSON files

## Project Structure

```
src/
├── zap/
│   ├── builders/            # Builder classes for generating metadata
│   ├── config/              # Configuration files for chains and projects
│   ├── data-retrievers/     # Data retriever classes for fetching on-chain data
│   ├── manual-entries/      # Manual entries for various chains and protocols
│   │   ├── arbitrum/
│   │   ├── avalanche/
│   │   ├── base/
│   │   ├── bnb/
│   │   ├── linea/
│   │   └── polygon/
│   ├── types/               # TypeScript type definitions
│   ├── utils/               # Utility functions
│   └── build.ts             # Main build script
```

## Getting Started

### Prerequisites

- Node.js (v16 or later)
- npm or yarn

### Installation

```bash
# Clone the repository
git clone <repository-url>

# Install dependencies
npm install
```

### Usage

```bash
# Build the TypeScript code
npm run build

# Generate JSON files
npm run generate

# Or run both in sequence
npm start

# For development (using ts-node)
npm run dev
```

## Adding New Entries

To add new manual entries:

1. Navigate to the appropriate chain directory under `src/zap/manual-entries/`
2. Create or modify files for the specific protocol and entry type
3. Follow the existing patterns for defining entries

## Building Custom Data Retrievers

To create a new data retriever:

1. Create a new file in `src/zap/data-retrievers/`
2. Implement the `DataRetriever` interface
3. Add your data retriever to the appropriate builder

## License

MIT
npm package: @soulvehub/ui
Description: Shared design system for SoulveHub apps
Latest version: 0.2.3

# @soulvehub/ui

Shared design system for SoulveHub apps. Built with React 19, TypeScript, and Tailwind v4.

## Installation

```bash
npm install @soulvehub/ui
# or
pnpm add @soulvehub/ui
# or
yarn add @soulvehub/ui
```

## Peer Dependencies

Your project must provide:

```bash
npm install react react-dom lucide-react react-hook-form @hookform/resolvers zod
```

## CSS Setup

This library relies on Tailwind v4 in the consumer project. In your global CSS file:

```css
@import 'tailwindcss';
@import '@soulvehub/ui/styles/tokens';
@source "../node_modules/@soulvehub/ui/src";
```

The `@source` directive tells Tailwind to scan the library source for utility classes used by components.

## Usage

```tsx
import { Button, Input, Card } from '@soulvehub/ui'

export function Example() {
  return (
    <Card>
      <Input placeholder="Email" />
      <Button variant="primary">Submit</Button>
    </Card>
  )
}
```

## Theming

Set the `data-theme` attribute on the root element to activate a theme:

```html
<html data-theme="balance">   <!-- blue, default -->
<html data-theme="health">    <!-- emerald -->
<html data-theme="coadjutor"> <!-- dark purple -->
```

Dark mode uses the `-dark` suffix: `data-theme="balance-dark"`.

To enable dark mode utilities in your Tailwind config, add to your global CSS:

```css
@custom-variant dark (&:where([data-theme$="-dark"],[data-theme$="-dark"] *));
```

## Components

**Layout:** Container, PageShell, Header, Footer, PageContent, Section

**UI:** Alert, AutocompleteInput, Badge, Button, Card, Checkbox, CurrencyInput, DropdownMenu, ImageGallery, Input, Modal, NavigationCard, PhotoUpload, ProgressBar, SectionDivider, Select, SharedAccountBadge, Spinner, StepIndicator, Tabs, TextLink, Textarea

**Pages:** LandingPage, LoginPage, RegisterPage, ForgotPasswordPage

**Utils:** cn, formatCurrency, parseCurrency, formatDate, formatPercentage, formatMonth, triggerHaptic
npm package: @soulwallet/result
Description: A lib designed based on the philosophy of 'Errors are values'
Author: Jayden@SoulWallet
Latest version: 0.2.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<h1 align="center">
   <b>
        @soulwallet/result
    </b>
</h1>

<p align="center">A lib designed based on the philosophy of "Errors are values" (similar to Rust).</p>

<p align="center">
    <a href="https://github.com/SoulWallet/soulwalletlib/tree/develop/packages/soulwallet-result"><b>Code</b></a> •
    <a href="https://github.com/SoulWallet/soulwalletlib/blob/develop/packages/soulwallet-result/docs/modules.md"><b>Documentation</b></a>
</p>


## Table of Contents

  - [Installing](#installing)
    
  - [Example](#example)

  - [License](#license)



## Installing

Using npm:

```bash
$ npm install @soulwallet/result
```

Using yarn:

```bash
$ yarn add @soulwallet/result
```

Using pnpm:

```bash
$ pnpm add @soulwallet/result
```

Once the package is installed, you can import the library using `import` approach:

```bash
import { Result, Ok, Err } from '@soulwallet/result'
```



## Example

```typescript
import { Result, Ok, Err } from '@soulwallet/result'

async function div(a: number, b: number): Promise<Result<number, Error>> {
    if (b === 0) {
        return new Err(new Error('Division by zero'));
    }
    return new Ok(a / b);
}

async function test() {
    const result = await div(10, 2);
    if (result.isErr()) {
        console.log(`error: ${result.ERR.message}`);
    } else {
        console.log(`result: ${result.OK}`);
    }
}
```



## License

ISC
npm package: @soulwallet/zkemail
Description: A lib designed based on the philosophy of 'Errors are values'
Author: Jayden@SoulWallet
Latest version: 1.0.6

<h1 align="center">
   <b>
        @soulwallet/zkemail
    </b>
</h1>

<p align="center"></p>

<p align="center">
    <a href="https://github.com/SoulWallet/soulwalletlib/tree/develop/packages/soulwallet-zkemail"><b>Code</b></a> •
    <a href="https://github.com/SoulWallet/soulwalletlib/blob/develop/packages/soulwallet-zkemail/docs/modules.md"><b>Documentation</b></a>
</p>


## Table of Contents

  - [Installing](#installing)
    
  - [Example](#example)

  - [License](#license)



## Installing

Using npm:

```bash
$ npm install @soulwallet/zkemail
```

Using yarn:

```bash
$ yarn add @soulwallet/zkemail
```

Using pnpm:

```bash
$ pnpm add @soulwallet/zkemail
```

Once the package is installed, you can import the library using `import` approach:

```bash
import { ·TODO· } from '@soulwallet/zkemail'
```



## Example

```typescript
TODO
```



## License

MIT
npm package: @soulwallet/zkemail-proof
Description: A lib designed based on the philosophy of 'Errors are values'
Author: Jayden@SoulWallet
Latest version: 0.0.8

<h1 align="center">
   <b>
        @soulwallet/zkemail
    </b>
</h1>

<p align="center"></p>

<p align="center">
    <a href="https://github.com/SoulWallet/soulwalletlib/tree/develop/packages/soulwallet-zkemail"><b>Code</b></a> •
    <a href="https://github.com/SoulWallet/soulwalletlib/blob/develop/packages/soulwallet-zkemail/docs/modules.md"><b>Documentation</b></a>
</p>


## Table of Contents

  - [Installing](#installing)
    
  - [Example](#example)

  - [License](#license)



## Installing

Using npm:

```bash
$ npm install @soulwallet/zkemail
```

Using yarn:

```bash
$ yarn add @soulwallet/zkemail
```

Using pnpm:

```bash
$ pnpm add @soulwallet/zkemail
```

Once the package is installed, you can import the library using `import` approach:

```bash
import { ·TODO· } from '@soulwallet/zkemail'
```



## Example

```typescript
TODO
```



## License

MIT
npm package: @soulwallet_test/result
Description: A lib designed based on the philosophy of 'Errors are values'
Author: Jayden@SoulWallet
Latest version: 0.1.3

<h1 align="center">
   <b>
        @soulwallet/result
    </b>
</h1>

<p align="center">A lib designed based on the philosophy of "Errors are values" (similar to Rust).</p>

<p align="center">
    <a href="https://github.com/SoulWallet/soulwalletlib/tree/develop/packages/soulwallet-result"><b>Code</b></a> •
    <a href="https://github.com/SoulWallet/soulwalletlib/blob/develop/packages/soulwallet-result/docs/modules.md"><b>Documentation</b></a>
</p>


## Table of Contents

  - [Installing](#installing)
    
  - [Example](#example)

  - [License](#license)



## Installing

Using npm:

```bash
$ npm install @soulwallet/result
```

Using yarn:

```bash
$ yarn add @soulwallet/result
```

Using pnpm:

```bash
$ pnpm add @soulwallet/result
```

Once the package is installed, you can import the library using `import` approach:

```bash
import { Result, Ok, Err } from '@soulwallet/result'
```



## Example

```typescript
import { Result, Ok, Err } from '@soulwallet/result'

async function div(a: number, b: number): Promise<Result<number, Error>> {
    if (b === 0) {
        return new Err(new Error('Division by zero'));
    }
    return new Ok(a / b);
}

async function test() {
    const result = await div(10, 2);
    if (result.isErr()) {
        console.log(`error: ${result.ERR.message}`);
    } else {
        console.log(`result: ${result.OK}`);
    }
}
```



## License

ISC