open-index/open-npm huggingface dataset:
npm package: @heswap/heswap-sdk
Description: 🛠 An SDK for building applications on top of panthheswap
Latest version: 1.1.1

# Heswap SDK

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/heswap/heswap-sdk.git
```

Move into the heswap-sdk working directory

```sh
cd heswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @heswap/uikit
Description: Set of UI components for heswap projects
Latest version: 0.1.11

# 🥞 Pancake UIkit

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)
npm package: @hetarth02/js-array-helpers
Description: Array Helper functions.
Author: Hetarth Shah
Latest version: 4.1.0

# js-array-helpers

![npm (scoped)](https://img.shields.io/npm/v/@hetarth02/js-array-helpers?style=for-the-badge)

Array Helper functions for your quick use.

# Installation

```cd
npm i @hetarth02/js-array-helpers
```

# Contributing

-   To conttribute please refer [CONTRIBUTING.md](CONTRIBUTING.md).

# How to use

In your `package.json` add the following, `"type": "module"`.

# Example Usage

```js
import {
	is_array,
	object_to_array,
	search_in_array,
	sanitize_array,
  	get_rms_value,
} from "@hetarth02/js-array-helpers";

let arr = [1, 2];
console.log(is_array(arr)); // true

const objectX = {
	0: "Apple",
	1: "Microsoft",
	2: "Google",
};
console.log(object_to_array(objectX)); // ['Apple', 'Microsoft', 'Google']

const mang = ["Microsoft", "apple", "netflix", "Google"];
const result = search_in_array("app", mang);
console.log(result); // ['apple']

// Santized array Example

// Corrupted Data array with diff data types
const my_array = [
	{ name: "sam", age: null, isEmployed: "false" },
	{ name: "a", age: 456, isEmployed: false },
	{ name: "c", age: undefined, isEmployed: 00 },
	{ name: null, age: 123, isEmployed: true },
	{ name: "asd", age: 123, isEmployed: false },
	{ name: 00, age: 123, isEmployed: null },
	{ name: "sam", age: "123", isEmployed: undefined },
];

// Given schema for correct data types
const my_schema = {
	name: "string",
	age: "number",
	isEmployed: "boolean",
};

// Run sanitize_array with array and schema
console.log(sanitize_array(my_array, my_schema));

// Sanitized Output
// [
//		{ name: 'sam', age: 0, isEmployed: false },
//      { name: 'a', age: 456, isEmployed: false },
//      { name: 'c', age: 0, isEmployed: true },
//      { name: 'null', age: 123, isEmployed: true },
//      { name: 'asd', age: 123, isEmployed: false },
//      { name: '0', age: 123, isEmployed: false },
//      { name: 'sam', age: 123, isEmployed: false }
// ]

// get_rms_value example
const values = [23, 54, 19];
console.log(get_rms_value(values)); // 35.61834733205159

// To reverse an array in parts
let my_array = [1, 2, 3, 4, 5];
let reverseInPart_array = array_reverse_part(my_array, 3, 4);

console.log(reverseInPart_array); // [1, 2, 3, 5, 4]

// To rotate array counter clockwise
let my_array1 = [1, 2, 3, 4, 5];
let rotated_array = array_rotate(my_array1, 3);

console.log(rotated_array); // [4, 5, 1, 2, 3]
```
npm package: @hetchet/eslint-plugin-sort-keys
Description: Standard ESLint `sort-keys` rule doesn't allow sorting fields and there is no plan to implement it. However, personally I would find a lot of usages for such functionality, so I added fixing logic to default ESLint rule.
Author: Hetchet
Latest version: 0.0.2

[![npm][npm-image]][package-url]
[![downloads][downloads-image]][package-url]
[![serenity][serenity-image]][serenity-url]

[npm-image]: https://img.shields.io/npm/v/@hetchet/eslint-plugin-sort-keys.svg?style=flat
[downloads-image]: https://img.shields.io/npm/dm/@hetchet/eslint-plugin-sort-keys.svg?style=flat
[serenity-image]: https://img.shields.io/badge/code%20style-%F0%9F%AA%B7%20serenity-4AD3BA?style=flat
[package-url]: https://npmjs.org/package/@hetchet/eslint-plugin-sort-keys
[serenity-url]: https://npmjs.org/package/@hetchet/eslint-config-serenity

## Description

Standard ESLint `sort-keys` rule doesn't allow sorting fields and there is no plan to implement it. However, personally I would find a lot of usages for such functionality, so I added fixing logic to default ESLint rule.

## Installation

1. Install ESLint:
   npm: `npm i eslint --save-dev`
   yarn: `yarn add -D eslint`

2. Install plugin:
   npm: `npm i @hetchet/eslint-plugin-sort-keys --save-dev`
   yarn: `yarn add -D @hetchet/eslint-plugin-sort-keys`

3. Add to your ESLint config:

```jsonc
{
	// ...
	"plugins": ["@hetchet/sort-keys"],
	"rules": {
		"@hetchet/sort-keys/sort-keys": "error"
	}
	// ...
}
```

## Options
Plugin supports same options as 
[original ESLint `sort-keys` rule](https://eslint.org/docs/latest/rules/sort-keys).

-----

### ❗️ Use this plugin at your own risk
npm package: @hether/today-cli
Description: A minimal CLI for capturing what actually happened today (notes, decisions, progress) without becoming a task manager.
Author: Adam Hetherington
Latest version: 0.0.4

# today

<img src="assets/today-cli-icon.png" width="80" alt="today-cli" />

A minimal CLI for capturing **what actually happened today** - notes, decisions, progress, blockers-without becoming a task manager. One Markdown file per day, timestamped entries, no tasks, no due dates, no status.

## Philosophy

**today** is a daily log, not a todo list. It answers “what did I do?” and “what did I decide?” with minimal friction. Data lives as plain Markdown in `~/.today` (or `TODAY_DIR`), so you own it and can edit or grep anytime.

## Install

```bash
npm install -g today-cli
```

For local development: `npm link` from the repo root so the `today` binary is available globally.

## Usage

| Command | Description |
|--------|-------------|
| `today` | Open today’s file in your editor (default) |
| `today note <text>` | Append to **Notes** with `[HH:mm]` |
| `today decision <text>` | Append to **Decisions** |
| `today progress <text>` | Append to **Progress** |
| `today blocker <text>` | Append to **Blockers** |
| `today summary` | Print a clean summary for the day |
| `today raw` | Print the full path to the day’s file |

Use the **subcommand** name without a hyphen (e.g. `today note "..."`, not `today -note "..."`).

**Global options** (one hyphen, for flags only):

- `-d, --date YYYY-MM-DD` — Use this date instead of today
- `--editor <command>` — Editor to open (overrides `VISUAL` / `EDITOR`)

### Examples

```bash
today                                    # open today's file
today note Fixed login bug               # append to Notes
today decision Use REST for new API      # append to Decisions
today progress Deployed v2               # append to Progress
today blocker Waiting on design review    # append to Blockers
today summary                            # print summary to stdout
today summary -d 2026-02-08              # summary for another day
today raw                                # e.g. /Users/you/.today/2026-02-09.md
```

### Storage

- **Default directory:** `~/.today`
- **Override:** set `TODAY_DIR` to a full path
- **File per day:** `YYYY-MM-DD.md` with sections: Progress, Decisions, Notes, Blockers

### Editor

Resolved in order: `--editor` → `$VISUAL` → `$EDITOR` → OS fallback (Windows: `notepad`, macOS: `open -t`, Linux: `nano`).

## Requirements

- Node.js 20+

## Publishing

1. **Log in to npm** (one-time):  
   `npm login`

2. **Bump version** (before publishing):  
   `npm version patch` | `npm version minor` | `npm version major`

3. **Publish**:  
   `npm publish`

The `prepublishOnly` script runs `npm run build` so the `dist/` output is up to date.

## License

MIT
npm package: @hetrodo/observable
Description: An observable pattern implementation in nodejs
Author: hetrodo
Latest version: 1.1.1

[![Observable Logo](https://storage.googleapis.com/hetrodo-public/Observable.png)](https://www.npmjs.com/package/@hetrodo/observable)

[![Downloads](https://img.shields.io/npm/dm/@hetrodo/observable?label=Downloads)](https://www.npmjs.com/package/@hetrodo/observable)

Observable is a simple and lightweight implementation of the observable pattern in nodejs, it fires events when
properties are changed.

But note that only the root properties of objects are observed.

## Supported types

* `Object`
* `Array`
* `Primitives` (string, number, boolean, null, undefined)

## Installation

```bash
npm install @hetrodo/observable
```

## Usage

```js
const Observable = require("@hetrodo/observable");

const counter = new Observable(0); //Create a new observable with the initial value of 0

counter.subscribe((value) => {
    console.log(value); //Subscribe to the observable, this will print the value of the observable every time it changes
});

setInterval(() => {
    counter.value++; //Increment the value of the observable every second
}, 1000);
```