open-index/open-npm huggingface dataset:
npm package: @micro-cube/reactive
Description: 基于 Function 和 Proxy 的响应式核心
Author: shewulong
Latest version: 1.1.6

# REACTIVE

## 简介

> 基于 `Function` 和 `Proxy` 的响应式核心

## 安装

```bash
# npm
npm i @micro-cube/reactive
# or yarn
yarn i @micro-cube/reactive
# or pnpm
pnpm i @micro-cube/reactive
```

## 案例

```ts
import { useReactive, useEffect } from '@micro-cube/reactive'

// 创建响应式对象
const data = useReactive(1)
let double = NaN

useEffect(() => {
  // 读取data, 不加参数为读取操作
  double = data() * 2
})

console.log(double) // 2

// data写入3，加参数为写入操作
data(3)
console.log(double) // 6
```

## 测试

> [测试用例](https://github.com/Yuki-0505/reactive/tree/master/tests)

- [effect](https://github.com/Yuki-0505/reactive/blob/master/tests/effect.spec.ts)
- [signal](https://github.com/Yuki-0505/reactive/blob/master/tests/signal.spec.ts)
- [reactive](https://github.com/Yuki-0505/reactive/blob/master/tests/reactive.spec.ts)
- [computed](https://github.com/Yuki-0505/reactive/blob/master/tests/computed.spec.ts)
- [watch](https://github.com/Yuki-0505/reactive/blob/master/tests/watch.spec.ts)
npm package: @micro-fleet/cache
Description: Contains utility to manage cache.
Author: gennovative
Latest version: 2.4.0-rc1

# Micro Fleet - Backend Cache library

Belongs to Micro Fleet framework, provides utility class to read and write from/to local or remote cache service, as well as keep sync between them.

See more examples and usage guide in unit test.

## INSTALLATION

- Stable version: `npm i @micro-fleet/cache`
- Edge (development) version: `npm i git@github.com:gennovative/micro-fleet-cache.git`

## DEVELOPMENT

- Install packages in `peerDependencies` section with command `npm i --no-save {package name}@{version}`. Or if you want to use directly neighbor packages, excute `npm run linkPackages`.
- `npm run build` to transpile TypeScript then run unit tests (if any) (equiv. `npm run compile` + `npm run test` (if any)).
- `npm run compile`: To transpile TypeScript into JavaScript.
- `npm run watch`: To transpile without running unit tests, then watch for changes in *.ts files and re-transpile on save.
- `npm run test`: To run unit tests.
  * After tests finish, open file `/coverage/index.html` with a web browser to see the code coverage report which is mapped to TypeScript code.

## RELEASE

- `npm run release`: To transpile and create `app.d.ts` definition file.
- **Note:** Please commit transpiled code in folder `dist` and definition file `app.d.ts` relevant to the TypeScript version.
npm package: @micro-fleet/common
Description: Contains helpers, models and constants used by other packages.
Author: gennovative
Latest version: 2.4.0-rc4

# Micro Fleet - Backend Common library

Belongs to Micro Fleet framework, contains helpers, models and constants used by other packages.

## INSTALLATION

- Stable version: `npm i @micro-fleet/common`
- Edge (development) version: `npm i git@github.com:gennovative/micro-fleet-common.git`

## DEVELOPMENT

- Install packages in `peerDependencies` section with command `npm i --no-save {package name}@{version}`. Or if you want to use directly neighbor packages, excute `npm run linkPackages`.
- `npm run build` to transpile TypeScript then run unit tests (if any) (equiv. `npm run compile` + `npm run test` (if any)).
- `npm run compile`: To transpile TypeScript into JavaScript.
- `npm run watch`: To transpile without running unit tests, then watch for changes in *.ts files and re-transpile on save.
- `npm run test`: To run unit tests.
  * After tests finish, open file `/coverage/index.html` with a web browser to see the code coverage report which is mapped to TypeScript code.

## RELEASE

- `npm run release`: To transpile and create `app.d.ts` definition file.
- **Note:** Please commit transpiled code in folder `dist` and definition file `app.d.ts` relevant to the TypeScript version.
npm package: @micro-fleet/common-browser
Description: Contains helpers, models and constants for Frontend.
Author: gennovative
Latest version: 2.4.0-rc5

# Micro Fleet - Backend Common library for Frontend on Browser

Belongs to Micro Fleet framework, contains helpers, models and constants for Frontend.

## INSTALLATION

- Stable version: `npm i @micro-fleet/common-browser`
- Edge (development) version: `npm i git@github.com:gennovative/micro-fleet-common-browser.git`

## DEVELOPMENT

- Install packages in `peerDependencies` section with command `npm i --no-save {package name}@{version}`. Or if you want to use directly neighbor packages, excute `npm run linkPackages`.
- `npm run build` to transpile TypeScript then run unit tests (if any) (equiv. `npm run compile` + `npm run test` (if any)).
- `npm run compile`: To transpile TypeScript into JavaScript.
- `npm run watch`: To transpile without running unit tests, then watch for changes in *.ts files and re-transpile on save.
- `npm run test`: To run unit tests.
  * After tests finish, open file `/coverage/index.html` with a web browser to see the code coverage report which is mapped to TypeScript code.

## RELEASE

- `npm run release`: To transpile and create `app.d.ts` definition file.
- **Note:** Please commit transpiled code in folder `dist` and definition file `app.d.ts` relevant to the TypeScript version.
npm package: @micro-fleet/common-contracts
Description: Contains interfaces, models and constants which are shared between micro services.
Author: gennovative
Latest version: 1.2.1
Deprecated: This version has been deprecated!

# Micro Fleet - Backend Common Contracts

Belongs to Micro Fleet framework, contains interfaces, models and constants which are shared between micro services.

## INSTALLATION

- Stable version: `npm i @micro-fleet/common-contracts`
- Edge (development) version: `npm i git://github.com/gennovative/micro-fleet-common-contracts.git`

## DEVELOPMENT

- Install packages in `peerDependencies` section.
- `gulp` to transpile TypeScript then run unit tests (equiv. `gulp compile` + `gulp test`).
- `gulp compile`: To transpile TypeScript into JavaScript.
- `gulp watch`: To transpile without running unit tests, then watch for changes in *.ts files and re-transpile on save.
- `gulp test`: To run unit tests.
  * After tests finish, open file `/coverage/remapped-report/index.html` with a web browser to see the code coverage report which is mapped to TypeScript code.

## RELEASE

- `gulp release`: To transpile and create `app.d.ts` definition file.
- **Note:** Please commit transpiled code in folder `dist` and definition file `app.d.ts` relevant to the TypeScript version.

## VERSIONS

### 1.2.1
- Merged with deprecated `common-constants` package.

### 1.2.0
- Added **CacheSettings** and **ICacheConnectionDetail**.
- Added function `asObject` to **PagedArray**.
- Set **JoiModelValidator** to not require PK as default.
- Updated to latest dependency versions and relevant unittests.

### 1.1.0

* **IRepository**: 
	- Added generic param for id data type, to support composite primary key.
	- Supports write operations (update, path, delete) on multiple items.
	- Differentiates read operations between active and soft-deleted records.
* **TenantPk**: Primary key data type that support multi-tenancy.
* **IHardDelRepository**: Extends from `IRepository`, supports hard deletion.
* **JoiModelValidator**: Added support for composite primary key.
* **SettingItemDataType**: Added 2 types StringArray and NumberArray.
* **DatabaseSettings**: Wraps an array of database settings.
* **DbConnectionSetting**: Wraps an array of database connection settings.
* **Types**: Dependency identifier for `IConfigurationProvider` and `IDependencyContainer` (moved from `back-lib-foundation`).

### 1.0.0

* **PagedArray<T>**: A derived Array class that supports pagination.
* **IRepository**: Provides common methods for repositories.
* Use **BigSInt** (alias of `string`) as data type of model ID.
* **ModelValidatorBase**: Base class that provides methods to validate models.
* **ModelTranslatorBase**: Base class that provides methods to convert arbitrary objects to models.
* **GetSettingRequest**, **GetSettingRequestValidator**, **GetSettingRequestTranslator**: Request model to fetch service settings, comes with its validators and translators.
* **AtomicSession** (use with **AtomicSessionFactory** and **AtomicSessionFlow**): supports transactional queries.
* Test coverage: **100%**