open-index/open-npm huggingface dataset:
npm package: @honorlock/elements
Description: Webcomponent honorlock-elements following open-wc recommendations
Author: Honorlock
Latest version: 1.5.0

# \<honorlock-elements>

This webcomponent follows the [open-wc](https://github.com/open-wc/open-wc) recommendation.

## Installation

```bash
npm i --save @honorlock/elements
```

## Build Instructions

```bash
npm run build
```

## Usage

```html
import '@honorlock/elements'

<honorlock-elements></honorlock-elements>
```

## CDN
### Using CDN with the lastest version
```html
<script type="module" src="https://unpkg.com/@honorlock/elements"></script>

<honorlock-elements></honorlock-elements>
```

### Using CDN with a specific version
```html
<script type="module" src="https://unpkg.com/@honorlock/elements/@x.x.x"></script>

<honorlock-elements></honorlock-elements>
```

## Linting and formatting

To scan the project for linting and formatting errors, run

```bash
npm run lint
```

To automatically fix linting and formatting errors, run

```bash
npm run format
```

## Testing with Web Test Runner

To execute a single test run:

```bash
npm run test
```

To run the tests in interactive watch mode run:

```bash
npm run test:watch
```
## Tooling configs

For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.

## Local Demo with `web-dev-server`

```bash
npm start
```

To run a local development server that serves the basic demo located in `demo/index.html`
npm package: @honorlock/integration-sdk-js
Description: Honorlock Integrations SDK for JS
Author: Honorlock
Latest version: 1.5.0

# Integration SDK JS
The JavaScript Integration SDK serves as a bridge for our integrating partners to communicate with the extension in the frontend. It offers a collection of methods that allow for hooking into listeners or sending messages to the extension.

## Installation

```bash
npm i --save @honorlock/integration-sdk-js
```

## Usage

```js
import { Honorlock } from '@honorlock/integration-sdk-js';
```

## CDN
### Using CDN with the lastest version
```html
<script type="module" src="https://unpkg.com/@honorlock/integration-sdk-js"></script>
```

### Using CDN with a specific version
```html
<script type="module" src="https://unpkg.com/@honorlock/integration-sdk-js/@x.x.x"></script>
```

## Build Instructions

```bash
npm run build
```

## Available Scripts
The following scripts are available for use:

`npm run build`

Compiles the TypeScript source code using the TypeScript compiler (tsc) and builds the project using Vite.

`npm run prepublish`

This script runs npm run build before publishing the package to npm.

`npm run lint`

Lints the TypeScript and HTML files in the project using ESLint and checks the code formatting using Prettier.

`npm run format`

Lints and formats the TypeScript and HTML files in the project using ESLint and Prettier.

`npm run test`

Runs the tests in your project using Jest, with the environment variable NODE_ENV set to test.

`npm run test:ci`

Runs the tests in your project using Jest with the environment variable NODE_ENV set to test, and generates a coverage report and JUnit test results suitable for continuous integration environments.
npm package: @honorlock/integration-sdk-js-moodle
Description: Honorlock Integrations SDK JS for Moodle
Author: Honorlock Contributors
Latest version: 1.3.0

# Integration SDK JS for Moodle
This module implements `@honorlock/integration-sdk-js` with platform specific logic for Moodle.

## Installation

```bash
npm i --save @honorlock/integration-sdk-js-moodle
```

## Usage

```js
import { MoodleFunctions } from '@honorlock/integration-sdk-js-moodle';
```

## CDN
### Using CDN with the lastest version
```html
<script type="module" src="https://unpkg.com/@honorlock/integration-sdk-js-moodle"></script>
```

### Using CDN with a specific version
```html
<script type="module" src="https://unpkg.com/@honorlock/integration-sdk-js-moodle/@x.x.x"></script>
```

## Build Instructions

```bash
npm run build
```

## Available Scripts
The following scripts are available for use:

`npm run build`

Builds the project using Vite.

`npm run prepublish`

This script runs npm run build before publishing the package to npm.

`npm run lint`

Lints the JavaScript and HTML files in the project using ESLint and checks the code formatting using Prettier.

`npm run format`

Lints and formats the JavaScript and HTML files in the project using ESLint and Prettier.

`npm run test`

Runs the tests in your project using Jest, with the environment variable NODE_ENV set to test and NODE_OPTIONS set to --experimental-vm-modules.

`npm run test:ci`

Runs the tests in your project using Jest with the environment variable NODE_ENV set to test and NODE_OPTIONS set to --experimental-vm-modules. Generates a coverage report and JUnit test results suitable for continuous integration environments.
npm package: @honorlock/tailwind-config-presets
Description: Honorlock Tailwind CSS Presets
Author: Honorlock
Latest version: 1.0.0

# tailwind-config-presets

This is a tailwindcss configuration preset that is shared across all [honorlock](https://honorlock.com) projects.

## Installation

```shell
$ npm i --save @honorlock/tailwind-config-presets
```

## Usage

You can use this preset by putting this in your project's `tailwind.config.js`:

```js
module.exports = {
  presets: [require('@honorlock/tailwind-config-presets')],
  theme: { ... }
}
```
npm package: @honorswap/eslint-config
Description: Eslint config for Honorswap
Author: RabbitDoge
Latest version: 1.2.0

# eslint-config-pancake

Pancake Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @pancakeswap/eslint-config-pancake
```

Add `"extends": "@pancakeswap/eslint-config-pancake"` to your eslint config file.
npm package: @honorswap/maticsdk
Description: 🛠 An SDK for building applications on top of Pancakeswap.
Latest version: 1.0.0


> **Notice**
>
> Moved to https://github.com/pancakeswap/pancake-frontend/tree/develop/packages/swap-sdk

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://docs.uniswap.org/sdk/2.0.0/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/sdgo
Description: 🛠 An SDK for building applications on top of HonorSwap.
Latest version: 1.0.0


> **Notice**
>
> Moved to https://github.com/pancakeswap/pancake-frontend/tree/develop/packages/swap-sdk

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://docs.uniswap.org/sdk/2.0.0/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/sdk
Description: 🛠 An SDK for building applications on top of HonorSwap.
Latest version: 4.0.0

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/sdkbsc
Description: Honorswap SDK Application.
Latest version: 1.0.0


> **Notice**
>

# HonorSwap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://docs.uniswap.org/sdk/2.0.0/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.
npm package: @honorswap/sdklast
Description: 🛠 An SDK for building applications on top of HonorSwap.
Latest version: 1.0.0

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/sdkmumbai
Description: 🛠 An SDK for building applications on top of HonorSwap.
Latest version: 1.0.1

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/sdktest
Description: 🛠 An SDK for building applications on top of HonorSwap.
Latest version: 1.0.1

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/sdtest
Description: 🛠 An SDK for building applications on top of Pancakeswap.
Latest version: 1.0.0


> **Notice**
>
> Moved to https://github.com/pancakeswap/pancake-frontend/tree/develop/packages/swap-sdk

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://docs.uniswap.org/sdk/2.0.0/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/testnet
Description: 🛠 An SDK for building applications on top of Pancakeswap.
Latest version: 1.0.0


> **Notice**
>
> Moved to https://github.com/pancakeswap/pancake-frontend/tree/develop/packages/swap-sdk

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://docs.uniswap.org/sdk/2.0.0/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/testnetsdk
Description: 🛠 An SDK for building applications on top of HonorSwap.
Latest version: 1.0.1

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## 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/pancakeswap/pancake-swap-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd pancakeswap-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: @honorswap/ui
Description: Set of UI components for HonorSwap projects
Latest version: 1.0.0

# 🥞 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: @honorswap/uiex
Description: Set of UI components for Honorswap projects
Latest version: 1.0.0

# 🥞 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: @honorswap/uikit
Description: Set of UI components for honorswap projects
Latest version: 1.0.0

# 🥞 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: @honorswap/uilast
Description: Set of UI components for honorswap projects
Latest version: 1.0.0

# 🥞 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: @honorswap/uiswap
Description: Set of UI components for honorswap projects
Latest version: 1.0.0

# 🥞 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: @honout/http
Description: ## Create endpoint
Author: Jonathan Rydholm
Latest version: 0.0.1

# Honout http

## Create endpoint

```ts
import { injectable } from '@honout/system';
import { Method, Route, IHttpResponse, JsonResponse } from '@honout/http';

@injectable()
@Method('get')
@Route('/user')
export class UserEndpoint implements IHttpRequestHandler {
    async handle(): Promise<IHttpResponse> {
        return new JsonResponse({ email: 'abc@xyz.com' });
    }
}
```

## Create http server

```ts
import { injectable } from '@honout/system';
import { HonoutHttpServer, ServiceIdentifiers } from '@honout/http';

@injectable()
@WithFunctionality({
    functionality: HonoutHttpServer,
    configure: {
        port: 4500,
    },
    extend: [
        {
            identifier: ServiceIdentifiers.REQUEST_HANDLER,
            definitions: [UserEndpoint],
        },
    ],
})
class Application implements IApplication {}
```

## Decorators

### @Route

Specify the route of the endpoint

```ts
@Route('/user')
```

### @Method()

Specify the route of the endpoint

```ts
@Route('get')
```

Supported types:

-   get
-   post
-   put
-   delete
-   patch
-   all

## Response Types

-   JsonResponse
-   StringResponse
-   NotFoundResponse
-   StreamResponse
npm package: @honout/logger
Description: A system always comes with a top level scoped logger, meaning a logger will always be accessable. You can however override it on an application level basis.
Author: Jonathan Rydholm
Latest version: 0.0.6

# Honout Logger

A system always comes with a top level scoped logger, meaning a logger will always be accessable. You can however override it on an application level basis.

## Usage

```ts
import { injectable, IApplication } from '@honout/system';
import { HonoutLogger } from '@honout/logger';

@injectable()
@WithFunctionality({
    functionality: HonoutLogger,
    configure: {
        name: 'My logger',
        level: 'error',
    },
})
class MyApp implements IApplication {}
```
npm package: @honout/logger-pino
Description: A system always comes with a top level scoped logger, meaning a logger will always be accessable. You can however override it on an application level basis.
Author: Jonathan Rydholm
Latest version: 0.0.6

# Honout Pino Logger

A system always comes with a top level scoped logger, meaning a logger will always be accessable. You can however override it on an application level basis.

## Usage

```ts
import { injectable, IApplication } from '@honout/system';
import { HonoutPinoLogger } from '@honout/pino-logger';

@injectable()
@WithFunctionality({
    functionality: HonoutPinoLogger,
    configure: {
        name: 'My logger',
        level: 'error',
    },
})
class MyApp implements IApplication {}
```
npm package: @honout/metrics
Description: ## Motivation
Author: Jonathan Rydholm
Latest version: 0.0.6

# Honout Metrics

## Motivation

Creates a standardized way of using metrics in applications.

## Usage

Add the following to your application

```ts
import { injectable, IApplication } from '@honout/system';
import { HonoutMetrics } from '@honout/metrics';

@injectable()
@WithFunctionality({
    functionality: HonoutMetrics,
})
class MyApp implements IApplication {}
```

Metrics will now be accessable from anywhere in your application by injection. Example

```ts
import { injectable, inject } from '@honout/system';
import { IMetricService, ServiceIdentifiers } from '@honout/metrics';

@injectable()
class SomeClass implements SomeInterface {
    constructor(
        @inject(ServiceIdentifiers.METRIC_SERVICE)
        private metrics: IMetricService
    ) {}

    someMethod() {
        const numericMetric = this.metrics.createNumericMetric(
            'counter',
            'number of iterations'
        );

        numericMetric.set(0);

        for (let i = 0; i < 10; i++) {
            numericMetric.inc(1);
        }
    }
}
```

## Overrides

### Overriding numeric metric

```ts
import { injectable, IApplication } from '@honout/system';
import {
    HonoutMetrics,
    ServiceIdentifiers,
    INumericMetric,
} from '@honout/metrics';

@injectable()
class CustomNumericMetric implements INumericMetric {
    private value: number;
    private name: string;
    private description: string;

    initialize(name: string, description: string): void {
        this.value = 0;
        this.name = name;
        this.description = description;
        setInterval(() => {
            // Publish metric somewhere
        }, 10000);
    }

    add(value: number): void {
        this.value += this.value;
    }

    sub(value: number): void {
        this.value -= this.value;
    }

    set(value: number): void {
        this.value = value;
    }
}

@injectable()
@WithFunctionality({
    functionality: HonoutMetrics,
    extend: [
        {
            identifier: ServiceIdentifiers.NUMERIC_METRIC,
            definitions: [CustomNumericMetric],
        },
    ],
})
class MyApp implements IApplication {}
```
npm package: @honout/system
Description: ## Motivation
Author: Jonathan Rydholm
Latest version: 0.0.6

# Honout System

## Motivation

I have been working as an IT consultant for a decade with a lot of clients and applications.
Although the applications may be using the same packages and techniques, they are built and structured in completely different ways.

@honout creates an opinionated red-line to follow when it comes to the structure of an application, but not how you write your business logic.
It is heavily using dependency injection down to a very granular level, opening up the possibility of rebinding and extending deeply nested logic. It is also automatically making applications testable, since all dependencies are injected.

## Structure

A @honout system is made up of applications, each application is made up of functionalities and functionalities are constructed by logic.

-   System
    -   Application_A
        -   Functionality
            -   Logic_1
            -   Logic_2
    -   Application_B
        -   Functionality
            -   Logic

### System

Create a new system

```ts
import { System} from '@honout/system'

new System().start().then(...)
```

The system manages applications. Applications may be added in the following way:

```ts
new System().registerApplication(MyApp).start();
```

### Application

Applications are created by implementing a special interface from `@honout/system` and marking them as injectable

```ts
import { IApplication, injectable } from '@honout/system';

@injectable()
class MyApp implements IApplication {}
```

You can specify the startup sequence of applications by giving them a priority. This is useful if you want to start applications in a sequence. The higher of a priority an application has, the earlier it will start with respect to the other application priorities. If no priority is given, the default 0.

```ts
@injectable()
@WithStartupPriority(0)
class MyApp implements IApplication {}
```

You can also give your application an identifier which will help for debugging

```ts
@injectable()
@WithIdentifier('MyApplication')
class MyApp implements IApplication {}
```

To make your application actually do something, you want to add [functionality](../functionality/README.md) to it.
npm package: @honout/watcher
Description: ## Simple watcher
Author: Jonathan Rydholm
Latest version: 0.0.3

# Honout Watcher

## Simple watcher

The following watcher will listen for changes on any typescript file that exists inside a src folder.

```ts
import { join } from 'path';
import { injectable } from '@honout/system';
import { IWatchableEvent, IWatcher, Triggers, Watch } from '@honout/watcher';

@injectable()
@Watch('src/**/*.ts')
@Triggers(['file_changed'])
class WatchTSFiles implements IWatcher {
    handle(event: IWatchableEvent, path: string): Promise<void> | void {
        this.logger.info(`${path} - ${event}`);
    }
}
```

## Register the watcher

```ts
import { WithFunctionality } from '@honout/system'
import {
    HonoutWatcher,
    IWatchableEvent,
    WatcherIdentifiers,
} from '@honout/watcher'

@WithFunctionality({
    functionality: HonoutWatcher,
    extend: [
        {
            identifier: WatcherIdentifiers.WATCHER,
            definitions: [WatchTSFiles],
        },
    ],
})
```

## Decorators

### @Watch

Specifies a path or a glob pattern to watch.

```ts
import { Watch } from '@honout/watcher';

@Watch('some/path/to/file')
```

### @Triggers

The types of events to listen for

```ts
import { Triggers } from '@honout/watcher';

@Triggers(['file_created', 'file_changed', 'file_deleted'])
```

-   'file_created' - When a file is created
-   'file_changed' - When a new file or directory is changed
-   'file_deleted' - When a file is deleted
-   'directory_created' - When a directory is created
-   'directory_deleted' - When a directory is deleted

### @FollowSymlinks

Weather or not to follow symlinks

```ts
import { FollowSymlinks } from '@honout/watcher';

@FollowSymlinks(true)
@FollowSymlinks(() => process.env.NODE_ENV === 'development')
```

### @Persistent

Weather or not the main process should continue to run while this watcher is active

```ts
import { Persistent } from '@honout/watcher';

@Persistent(true)
```

### @UsePolling

Weather or not to use polling instead of native file watchers. This is typically needed when watching files over a network.

```ts
import { UsePolling } from '@honout/watcher';

@UsePolling({ interval: 100, binaryInterval: 300 })
```
npm package: @honpery-com/sdk
Description: honpery.com api sdk based on rxjs.
Author: honpery
Latest version: 0.0.5

# sdk-honpery-com [![Build Status](https://travis-ci.org/honpery-com/sdk.svg?branch=master)](https://travis-ci.org/honpery-com/sdk)

api sdk based on rxjs.

### Progress

- [ ] categories
- [ ] tags
- [ ] articles
- [ ] users
- [ ] roles