Skip to content

Commit b641047

Browse files
docs(README.md): update.
1 parent 335245f commit b641047

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed

README.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
## typescript-package/state
1111

12+
Simple state management for TypeScript.
1213

1314
<!-- npm badge -->
1415
[![npm version][typescript-package-npm-badge-svg]][typescript-package-npm-badge]
@@ -21,6 +22,10 @@
2122

2223
* [Installation](#installation)
2324
* [Api](#api)
25+
* [`BooleanState`](#booleanstate)
26+
* [`EnumState`](#enumstate)
27+
* [`NullState`](#nullstate)
28+
* [`NumberState`](#numberstate)
2429
* [Immutability](#immutability)
2530
* [Sealed](#sealed)
2631
* [Frozen](#frozen)
@@ -49,6 +54,100 @@ import {
4954
} from '@typescript-package/state';
5055
```
5156

57+
### `BooleanState`
58+
59+
```typescript
60+
import { BooleanState } from '@typescript-package/state';
61+
62+
export class ActiveState extends BooleanState {
63+
public override get state() {
64+
return super.state;
65+
}
66+
67+
public override false() {
68+
super.false();
69+
return this;
70+
}
71+
72+
public activate() {
73+
super.true();
74+
}
75+
76+
public deactivate() {
77+
super.false();
78+
}
79+
}
80+
81+
```
82+
83+
### `EnumState`
84+
85+
```typescript
86+
import { EnumState } from '@typescript-package/state';
87+
88+
enum Active {
89+
Yes,
90+
No
91+
}
92+
93+
export class ActiveEnum extends EnumState<typeof Active, Active> {
94+
constructor(state: Active) {
95+
super(state, Active);
96+
}
97+
98+
}
99+
100+
const activeEnum = new ActiveEnum(Active.No);
101+
102+
console.log(activeEnum.is(Active.No));
103+
```
104+
105+
### `NullState`
106+
107+
```typescript
108+
import { NullState } from '@typescript-package/state';
109+
110+
export class Nullified extends NullState {}
111+
112+
const n = new Nullified();
113+
114+
n.set();
115+
116+
console.log(`NullState`);
117+
console.log(n.state);
118+
119+
n.unset();
120+
console.log(n.state);
121+
122+
```
123+
124+
### `NumberState`
125+
126+
```typescript
127+
import { NumberState } from '@typescript-package/state';
128+
129+
export class NumberedState extends NumberState {
130+
public override reset() {
131+
super.reset();
132+
return this;
133+
}
134+
}
135+
136+
const n = new NumberedState();
137+
138+
const numberedState = new NumberedState();
139+
140+
console.log(numberedState.state);
141+
numberedState.decrement();
142+
console.log(numberedState.state);
143+
numberedState.increment();
144+
console.log(numberedState.state);
145+
numberedState.increment(5);
146+
console.log(numberedState.state);
147+
numberedState.reset();
148+
console.log(numberedState.state);
149+
```
150+
52151
## Immutability
53152

54153
### Sealed

0 commit comments

Comments
 (0)