open-index/open-npm huggingface dataset:
npm package: @kvrmd/npm-hello-world
Description: Returns 'Hello World' string.
Author: kvrmd
Latest version: 2.0.0

# npm-hello-world
Learning to publish on npm.

## Usage

```js
import helloWorld from '@kvrmd/npm-hello-world'

console.log(helloWorld()) // prints "Hello World!"
console.log(helloWorld('Kevin')) // prints "Hello Kevin!"
```
npm package: @kvrt/theme-switch
Description: A simple drop in theme engine for your React applications
Author: kmal808
Latest version: 0.0.4

# @kvrt/theme-switch

A drop-in, customizable theme engine for React applications. Start with the preconfigured themes or create your own.

## Features

- 🎨 10+ built-in themes (Light, Dark, Nord, Dracula, One Dark, Tokyo Night, Solarized, GitHub)
- 🌗 Automatic dark mode detection
- 💾 Persistent theme preferences
- 🎯 TypeScript support
- 🔄 Smooth theme transitions
- 🎛️ CSS variables for easy customization
- 📱 Mobile-friendly
- ⚡ Zero dependencies (except React and lucide-react)

## Installation

```bash
npm install @kvrt/theme-switch
```

## Quick Start

1. Wrap your app with the ThemeProvider:

```tsx
import { ThemeProvider } from '@kvrt/theme-switch'

function App() {
  return (
    <ThemeProvider>
      <YourApp />
    </ThemeProvider>
  )
}
```

2. Add the theme switcher component:

```tsx
import { ThemeSwitcher } from '@kvrt/theme-switch'

function Header() {
  return (
    <header>
      <ThemeSwitcher />
    </header>
  )
}
```

3. Use theme-aware CSS classes:

```tsx
<div className='bg-theme text-theme'>
  <h1 className='text-theme'>Themed Content</h1>
  <p className='text-theme-secondary'>Secondary text</p>
</div>
```

## Available Themes

- 😎 Light
- 🌚 Dark
- 🌲 Nord
- 🧛 Dracula
- 🌌 One Dark
- 🌃 Tokyo Night
- 🌞 Solarized Light
- 🌙 Solarized Dark
- 💻 GitHub Light
- 🌙 GitHub Dark

## Theme Variables

The following CSS variables are available:

```css
--theme-bg
--theme-surface
--theme-text
--theme-text-secondary
--theme-border
--theme-primary
--theme-primary-hover
--theme-error
--theme-success
--theme-warning
```

## Utility Classes

<!-- prettier-ignore-start -->
```css
.bg-theme
.bg-surface
.text-theme
.text-theme-secondary
.border-theme
.bg-primary
.bg-primary-hover
.text-error
.text-success
.text-warning
.theme-transition
```
<!-- prettier-ignore-end -->

## Using the Hook

```tsx
import { useTheme } from '@kvrt/theme-switch'

function MyComponent() {
  const { theme, setTheme, mode, setMode } = useTheme()

  return (
    <div style={{ color: theme.colors.text.primary }}>
      Current theme: {theme.name}
    </div>
  )
}
```

## Creating Custom Themes

```tsx
import { ThemeConfig } from '@kvrt/theme-switch'

const myTheme: ThemeConfig = {
  name: 'My Theme',
  colors: {
    // ... color configuration
  },
  borderRadius: {
    // ... border radius configuration
  },
  spacing: {
    // ... spacing configuration
  },
}
```

## TypeScript Support

The package includes TypeScript definitions for all components and types.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT © [kvrt](https://github.com/kmal808)
npm package: @kvs/common-test-case
Description: Common Test Case for KVS
Author: azu
Latest version: 2.2.2

# @kvs/common-test-case

Common Test Case for KVS

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/common-test-case

## Usage

```ts
import { kvsLocalStorage } from "../src";
import { createKVSTestCase } from "@kvs/common-test-case";

const databaseName = "kvs-test";
const kvsTestCase = createKVSTestCase(
    (options) =>
        kvsLocalStorage({
            name: databaseName,
            ...options,
            debug: true
        }),
    {
        setTestDataList: [
            {
                name: "string",
                value: "str"
            },
            {
                name: "number",
                value: 42
            },
            {
                name: "boolean",
                value: false
            },
            {
                name: "object",
                value: {
                    prop: "propValue"
                },
                type: "object"
            }
            // Edge, old-Safari does not support Blob
            // https://github.com/jakearchibald/idb/issues/58
            // {
            //     name: "blob",
            //     value: new Blob(["Hello, world!"], { type: "text/plain" }),
            //     type: "object"
            // }
        ]
    }
);
const deleteAllDB = async () => {
    if (!kvsTestCase.ref.current) {
        return;
    }
    try {
        await kvsTestCase.ref.current.clear();
        await kvsTestCase.ref.current.dropInstance();
    } catch (error) {
        console.error("deleteAllDB", error);
    }
};
describe("@kvs/node-localstorage", () => {
    beforeEach(deleteAllDB);
    kvsTestCase.run();
});

```

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/env
Description: Universal Storage for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/env ![](https://badgen.net/bundlephobia/minzip/@kvs/env)

Universal library for KVS.

It detects the running platform and use suitable storage engine.

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/env

## Usage

```ts
import { kvsEnvStorage } from "@kvs/env";
(async () => {
    type StorageSchema = {
        a1: string;
        b2: number;
        c3: boolean;
    };
    const storage = await kvsEnvStorage<StorageSchema>({
        name: "database-name",
        version: 1
    });
    await storage.set("a1", "string"); // type check
    await storage.set("b2", 42);
    await storage.set("c3", false);
    const a1 = await storage.get("a1"); // a1 will be string type
    const b2 = await storage.get("b2");
    const c3 = await storage.get("c3");
    assert.strictEqual(a1, "string");
    assert.strictEqual(b2, 42);
    assert.strictEqual(c3, false);
})();
```


## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/indexeddb
Description: IndexedDB for KVS
Author: azu
Latest version: 2.2.2

# @kvs/indexeddb ![](https://badgen.net/bundlephobia/minzip/@kvs/indexeddb)

IndexedDB for KVS

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/indexeddb

## Usage

```ts
import { KVSIndexedDB, kvsIndexedDB } from "@kvs/indexeddb";
(async () => {
    type StorageSchema = {
        a1: string;
        b2: number;
        c3: boolean;
    };
    const storage = await kvsIndexedDB<StorageSchema>({
        name: "test",
        version: 1,
    });
    await storage.set("a1", "string");
    await storage.set("b2", 42);
    await storage.set("c3", false);
    const a1 = await storage.get("a1");
    const b2 = await storage.get("b2");
    const c3 = await storage.get("c3");
    assert.strictEqual(a1, "string");
    assert.strictEqual(b2, 42);
    assert.strictEqual(c3, false);
})();
```

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu

## Related

- https://github.com/tkdalic/indexed-kv
- https://github.com/GoogleChromeLabs/kv-storage-polyfill
- https://github.com/localForage/localForage/blob/master/src/drivers/indexeddb.js
npm package: @kvs/localstorage
Description: localstorage for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/localstorage ![](https://badgen.net/bundlephobia/minzip/@kvs/localstorage)

localstorage for KVS.

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/localstorage

## Usage

```ts
import assert from "assert";
import { kvsLocalStorage } from "@kvs/localstorage";
(async () => {
    type StorageSchema = {
        a1: string;
        b2: number;
        c3: boolean;
    };
    const storage = await kvsLocalStorage<StorageSchema>({
        name: "test",
        version: 1
    });
    await storage.set("a1", "string");
    await storage.set("b2", 42);
    await storage.set("c3", false);
    const a1 = await storage.get("a1");
    const b2 = await storage.get("b2");
    const c3 = await storage.get("c3");
    assert.strictEqual(a1, "string");
    assert.strictEqual(b2, 42);
    assert.strictEqual(c3, false);
})();
```
## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/memorystorage
Description: Node.js localstorage for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/memorystorage ![](https://badgen.net/bundlephobia/minzip/@kvs/memorystorage)

In-Memory storage for [KVS](https://github.com/azu/kvs).

:memo: It is not persisted storage.

## Dependencies

- [localstorage-memory](https://github.com/gr2m/localstorage-memory)

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/memorystorage

## Usage

See <https://github.com/azu/kvs#usage>

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/node-localstorage
Description: Node.js localstorage for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/node-localstorage

Node.js localstorage for [KVS](https://github.com/azu/kvs).

## Dependencies

- [lmaccherone/node-localstorage: A drop-in substitute for the browser native localStorage API that runs on node.js.](https://github.com/lmaccherone/node-localstorage)

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/node-localstorage

## Usage

See <https://github.com/azu/kvs#usage>

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/storage
Description: Storage(localStorage, sessionStorage) helper for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/storage

Storage-like for KVS.

You can inject Storage object like localStorage, sessionStorage to this storage.

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/storage

## Usage

```ts
import assert from "assert";
import { kvsStorage } from "@kvs/storage";
(async () => {
    type StorageSchema = {
        a1: string;
        b2: number;
        c3: boolean;
    };
    const storage = await kvsStorage<StorageSchema>({
        name: "test",
        version: 1,
        storage: localStorage
    });
    await storage.set("a1", "string");
    await storage.set("b2", 42);
    await storage.set("c3", false);
    const a1 = await storage.get("a1");
    const b2 = await storage.get("b2");
    const c3 = await storage.get("c3");
    assert.strictEqual(a1, "string");
    assert.strictEqual(b2, 42);
    assert.strictEqual(c3, false);
})();
```

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/storage-sync
Description: Storage(localStorage, sessionStorage) helper for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/storage-sync

Storage-like for KVS.

You can inject Storage object like localStorage, sessionStorage to this storage.

[@kvs/storage](https://github.com/azu/kvs/tree/master/packages/storage) is async version, but `@kvs/storage-sync` is sync version.

## Feature

- Synchronize version [@kvs/storage]
- Support `[Symbol.iterator]` instead of `[Symbol.asyncIterator]`
- Injectable `localStorage` or `sessionStorage`

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/storage-sync

## Usage

```ts
import assert from "assert";
import { kvsStorageSync } from "@kvs/storage";
(() => {
    type StorageSchema = {
        a1: string;
        b2: number;
        c3: boolean;
    };
    const storage = kvsStorageSync<StorageSchema>({
        name: "test",
        version: 1,
        storage: localStorage
    });
    storage.set("a1", "string");
    storage.set("b2", 42);
    storage.set("c3", false);
    const a1 = storage.get("a1");
    const b2 = storage.get("b2");
    const c3 = storage.get("c3");
    assert.strictEqual(a1, "string");
    assert.strictEqual(b2, 42);
    assert.strictEqual(c3, false);
})();
```

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvs/types
Description: A type definition for KVS.
Author: azu
Latest version: 2.2.2

# @kvs/types

A type definition for KVS.

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/types

## Usage

```ts
import type { KVS } from "@kvs/types";
```

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @kvsrohit/shortid
Description: minimal replacement of shortid module
Author: kvsrohit
Latest version: 1.0.0

# @kvsrohit/shortid

_ShortId_ (https://www.npmjs.com/package/shortid) has been an amazing module to generate short non-sequential url-friendly unique ids.
However it is no longer maintained and suggests using _NanoId_ (https://www.npmjs.com/package/nanoid) as replacement.

_NanoId_ is simple and straight forward. However, it is not a drop-in replacement. Specially places where _ShortId_ is a transient dependency.

This project uses _NanoId_ and provides same interface as _ShortId_ so that it can be used as drop-in resolution for transient dependencies.


### Usage

```js
const shortid = require('@kvsrohit/shortid');

console.log(shortid.generate());
```

Mongoose Unique Id
```js
_id: {
  'type': String,
  'default': shortid.generate
},
```

### API

```js
const shortid = require('@kvsrohit/shortid');
```

---------------------------------------

#### `shortid.generate()`

__Returns__ `string` non-sequential unique id.

__Example__

```js
users.insert({
  _id: shortid.generate(),
  name: '...',
  email: '...'
});
```

---------------------------------------
npm package: @kvytech/medusa-plugin-announcement
Description: <p align="center">     <h2 align="center">Medusa Announcement</h2>     <p align="center">A Plugin to manage Announcement for your Medusa commerce application.</p>     <p align="center">         <a href="https://medusajs.com/">Medusa Website</a> | <a href=
Latest version: 0.0.7