<commit_before># holyhi

state management library that very easy to use

## Installation

```bash
npm install holyhi --save
```

## Usage

```typescript
import { createStore } from 'holyhi';

// create new store with initial state
const store = createStore({});

// subscribe for fields changed
const subscriber = store.forFields('a', 'b').subscribe(fields => {
  console.log('fields changed: %s', fields);
});

// change state
store.setState({
  a: 123,
  b: 456,
});

// unsubscribe
subscriber.unsubscribe();
```

## License

```text
MIT License

Copyright (c) 2017 <NAME> <<EMAIL>>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<commit_msg>add badge<commit_after># holyhi

state management library that very easy to use

## Installation

```bash
npm install holyhi --save
```

## Usage

```typescript
import { createStore } from 'holyhi';

// create new store with initial state
const store = createStore({});

// subscribe for fields changed
const subscriber = store.forFields('a', 'b').subscribe(fields => {
  console.log('fields changed: %s', fields);
});

// change state
store.setState({
  a: 123,
  b: 456,
});

// unsubscribe
subscriber.unsubscribe();
```

## Examples

See [the examples source directory](https://github.com/leizongmin/holyhi/tree/master/src/examples)

## License

```text
MIT License

Copyright (c) 2017 <NAME> <<EMAIL>>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
{'fraction_non_alphanumeric': 0.12323759791122715, 'fraction_numerical': 0.010443864229765013, 'mean_word_length': 4.771084337349397, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 11, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2291177', 'n_tokens_mistral': 580, 'n_tokens_neox': 533, 'n_words': 216}