Skip to content

Commit a21bc67

Browse files
committed
fix known problems
1 parent 5e43f92 commit a21bc67

File tree

3 files changed

+50
-5
lines changed

3 files changed

+50
-5
lines changed

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,3 @@ dist
128128
.yarn/build-state.yml
129129
.yarn/install-state.gz
130130
.pnp.*
131-
132-
# release files
133-
.dist

README.md

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ a structure for set that refresh element if same id of element is exists
99
npm install refresh-set
1010
```
1111
## Usage
12+
1. using refresh set to hold elements, and update it last time
1213
```typescript
13-
import RefreshSet from 'refresh-set';
14+
import { RefreshSet } from 'refresh-set';
1415

1516
type Element = {
1617
id: string;
@@ -26,6 +27,50 @@ set.add({ id: '1', value: 3 });
2627
console.log(set.toArray()); // [{ id: '1', value: 3 }, { id: '2', value: 2 }
2728
```
2829

30+
2. change identifier of element
31+
```typescript
32+
import { RefreshSet } from 'refresh-set';
33+
34+
type Element = {
35+
key: string;
36+
value: number;
37+
};
38+
39+
// default id supplier is element.id
40+
const set = new RefreshSet<Element>({
41+
idSupplier: (element) => element.key,
42+
});
43+
44+
set.add({ key: '1', value: 1 });
45+
set.add({ key: '2', value: 2 });
46+
set.add({ key: '1', value: 3 });
47+
48+
console.log(set.toArray()); // [{ key: '1', value: 3 }, { key: '2', value: 2 }
49+
```
50+
51+
3. custom refresh method
52+
```typescript
53+
import { RefreshSet, RefreshPolicy } from 'refresh-set';
54+
55+
type Element = {
56+
id: string;
57+
value: number;
58+
};
59+
60+
const set = new RefreshSet<Element>({
61+
policy: RefreshPolicy.MERGER,
62+
merger: (oldElement, newElement) => {
63+
newElement.value = oldElement.value + 1;
64+
},
65+
});
66+
67+
set.add({ id: '1', value: 1 });
68+
set.add({ id: '2', value: 2 });
69+
set.add({ id: '1', value: 3 });
70+
71+
console.log(set.toArray()); // [{ id: '1', value: 4 }, { id: '2', value: 2 }
72+
```
73+
2974
## contributing
3075
1. Fork it
3176
2. Create your feature branch (`git checkout -b my-new-feature`)

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
{
22
"name": "refresh-set",
3-
"version": "1.0.1",
3+
"version": "1.0.2",
44
"description": "a refresh set after repeat add into set",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
7+
"files": [
8+
"dist"
9+
],
710
"scripts": {
811
"build": "tsc",
912
"test": "jest"

0 commit comments

Comments
 (0)