open-index/open-npm huggingface dataset:
npm package: @kun.s/munity
Description: An opinionated state management library for Angular work with immer.js
Author: Kun Su
Latest version: 0.0.4

[![Coverage Status](https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_95.svg)](https://coveralls.io/github/pythonik/munity?branch=master)
[![Build Status](https://travis-ci.com/pythonik/munity.svg?branch=master)](https://travis-ci.com/pythonik/munity)
# ![](./icon.png) Munity 

Munity is an opinionated Angular state management library based on [Immer.js](https://github.com/immerjs/immer). This library is heavily inspired by [ngrx](), [redux-observable]().   
It is currently **WORK IN PROGRESS**, but It is fully functional.

To run the sample application
```npm install``` , then ```ng serve```


## Concepts
* *Effect* is an asynchronous operation with state mutation.
* *Mutation* is a function takes the current state, payload as input and mutate the state in its body.

### Select
To read the content of the store as Rx.js observable
```ts
interface StateModel {
    posts:IPost[];
    loading: false
}
// select substate
stateChange = this.store.select((current)=>current.posts);
// select entire store
stateChange = this.store.select();
```
To just read the current value
```ts
interface StateModel {
    posts:IPost[];
    loading: false
}
// select substate
current = this.store.snapshot((current)=>current.posts);
// select entire store
current = this.store.snapshot();
```

### Effect
To make an effect just implement the ```Effect``` interface, and provide async operation in task function. Implement ```IResultOfEffect``` to provide a selector function to retrieve the result of state mutation
```ts
@Injectable({providedIn: 'root'})
export class SideEffectOfLoadPost implements IResultOfEffect<IPost[], State, IPost[]> {
    readonly action: ActionID = 'SET_POSTS';

    constructor(private readonly api: BackendService) {

    }

    selector(state: State) {
        return state.posts;
    }

    task(): Observable<IPost[]> {
        return this.api.getPostList();
    }

}
```

### Mutation
Mutation is just a function placed in store config object, perform state directly on current state.
```ts
const postStoreConfig: IStoreConfig<State> = {
    init: {posts: [], name: '', selected: null},
    mutations: {
        SET_POSTS: (current: State, payload: IPost[]) => {
            current.posts = payload;
        },
        SET_SELECTED: (current: State, payload: IPost) => {
            current.selected = payload;
        }
    }
};
```
npm package: @kunai-consulting/qwik-icons
Description: Create a Qwik library
Latest version: 1.0.1

# Icon Generation Tools

Part of Qwik Design System's icon library tooling, forked from [Qwikest Icons](https://github.com/qwikest/icons) by [Niklas Por](https://github.com/NiklasPor). This fork continues the development and evolution of the icon generation tooling within the Qwik Design System ecosystem.

## Features

- 🔄 Automated icon downloading from source repositories
- 🛠️ SVG optimization and transformation
- 📦 Variant generation support
- 🔍 TypeScript declarations generation

## Key Files

- `generate-icons.ts` - Main generation pipeline
- `download-icons.ts` - Icon set downloading utilities
- `extractor.ts` - Icon variant extraction logic
- `config.interface.ts` - Configuration type definitions

## Usage

Run from the project root:

```bash
npm run generate:icons
```

## Configuration

Icon packs are configured in the `packs` directory. Each pack can specify:

- Source repository
- Download settings
- Color handling
- Variant extraction rules
- Output prefix

## Environment Variables

- `ICON_LIMIT` - Optional limit for number of icons to generate (useful for testing)
npm package: @kunai-consulting/qwik-utils
Description: Create a Qwik library
Latest version: 1.0.1

# Qwik Library ⚡️

- [Qwik Docs](https://qwik.dev/)
- [Discord](https://qwik.dev/chat)
- [Qwik on GitHub](https://github.com/QwikDev/qwik)
- [@QwikDev](https://twitter.com/QwikDev)
- [Vite](https://vitejs.dev/)
- [Partytown](https://partytown.builder.io/)
- [Mitosis](https://github.com/BuilderIO/mitosis)
- [Builder.io](https://www.builder.io/)

---

## Project Structure

Inside your project, you'll see the following directories and files:

```
├── public/
│   └── ...
└── src/
    ├── components/
    │   └── ...
    └── index.ts
```

- `src/components`: Recommended directory for components.

- `index.ts`: The entry point of your component library, make sure all the public components are exported from this file.

## Development

Development mode uses [Vite's development server](https://vitejs.dev/). For Qwik during development, the `dev` command will also server-side render (SSR) the output. The client-side development modules are loaded by the browser.

```
pnpm dev
```

> Note: during dev mode, Vite will request many JS files, which does not represent a Qwik production build.

## Production

The production build should generate the production build of your component library in (./lib) and the typescript type definitions in (./lib-types).

```
pnpm build
```