# @linac/memory

> 可以缓存的全局变量，和一般定义变量做缓存不同的是，该库允许任意类型的值作为key值 该库会根据key值生成一个Symbol类型的值作为缓存的实际key 如果传入key值是一个object型的值(typeof key==='object')，会根据构造函数传入的keys做一个pick 如果keys未传或者等于空数组，默认对象的所有属性都参与计算 在需要缓存ajax请求的时候，这个库会非常有用，他可以保证相同的请求参数得到相同的缓存key

Latest version **0.1.0** (published 2019-11-15) · ISC license · 0 weekly downloads

## Install

```sh
npm install @linac/memory
pnpm add @linac/memory
yarn add @linac/memory
bun add @linac/memory
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2019-11-15 |
| First published | 2019-04-02 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 5.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | lingtong |
| Maintainers | lingtong, weibo785424079, wuhou |

## Links

- npm: https://www.npmjs.com/package/@linac/memory
- npm.io page: https://npm.io/package/@linac/memory

## Dependencies (3)

- [lodash](https://npm.io/package/lodash.md) ^4.17.11
- [object-hash](https://npm.io/package/object-hash.md) ^1.3.1
- [proxy-polyfill](https://npm.io/package/proxy-polyfill.md) ^0.3.0

## Recent versions

- 0.1.0 (latest) — 2019-11-15
- 0.0.1-alpha.3 — 2019-04-02

## README

## memory

描述：可以缓存的全局变量，和一般定义变量做缓存不同的是，该库允许任意类型的值作为key值 该库会根据key值生成一个Symbol类型的值作为缓存的实际key 如果传入key值是一个object型的值(typeof key==='object')，会根据构造函数传入的keys做一个pick 如果keys未传或者等于空数组，默认对象的所有属性都参与计算 在需要缓存ajax请求的时候，这个库会非常有用，他可以保证相同的请求参数得到相同的缓存key

创建人：lingtong

创建时间：2019年04月02日 14:47

仓库地址: https://github.com/zhipenglin/linac.git

项目地址: [http://github.com/zhipenglin/linac](http://github.com/zhipenglin/linac)

-----------
### 参数描述

| 参数名 | 类型 | 是否必须 | 说明 | 默认值 |
| --- | --- | ---- | --- | --- |
|     |     |      |     |     |

### API描述

| 名称  | 参数列表 | 返回值 | 功能说明 |
| --- | ---- | --- | ---- |
|     |      |     |      |

-----------

### exmple

基本用法

```javascript
import Memory from '@linac/memory'

const memory = new Memory();

memory.append({a:123},123);

memory.getMemory({a:123});//123

const memory2 = new Memory(['a']);

memory.append({a:123,b:456},123);

memory.getMemory({a:123,b:246});//123

memory.getMemory({a:223,b:456});//undefined
```

namespace

```javascript
import Memory from '@linac/memory'

const memory = new Memory();

memory.append({a:123},123,'name');

memory.getMemory({a:123},'name');//123

memory.getMemory({a:123});//undefined
```

namespace getWithMemoryKey

```javascript
import Memory,{getWithMemoryKey} from '@linac/memory'

const memory = new Memory();

const withKey=getWithMemoryKey(memory);

const nameMemory=withKey('name');

nameMemory.append({a:123},123);

nameMemory.getMemory({a:123});//123

memory.getMemory({a:123});//undefined

memory.getMemory({a:123},'name');//123
```

-----------

### Blog:

- 2019年04月02日 14:47：**lingtong** 创建组件

---
_Source: https://npm.io/package/@linac/memory · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
