File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,8 @@ function createCounter(n: number): () => number {
4
4
}
5
5
}
6
6
7
+ export { createCounter }
8
+
7
9
/**
8
10
* const counter = createCounter(10)
9
11
* counter() // 10
Original file line number Diff line number Diff line change
1
+ type ReturnObj = {
2
+ increment : ( ) => number
3
+ decrement : ( ) => number
4
+ reset : ( ) => number
5
+ }
6
+
7
+ function createCounter ( init : number ) : ReturnObj {
8
+ let currentValue = init
9
+
10
+ return {
11
+ increment ( ) {
12
+ currentValue ++
13
+ return currentValue
14
+ } ,
15
+ decrement ( ) {
16
+ currentValue --
17
+ return currentValue
18
+ } ,
19
+ reset ( ) {
20
+ currentValue = init
21
+ return currentValue
22
+ } ,
23
+ }
24
+ }
25
+
26
+ export { createCounter }
27
+
28
+ /**
29
+ * const counter = createCounter(5)
30
+ * counter.increment(); // 6
31
+ * counter.reset(); // 5
32
+ * counter.decrement(); // 4
33
+ */
34
+
35
+ // 2023/05/07 done
36
+ // Runtime 74 ms Beats 56.14%
37
+ // Memory 45.4 MB Beats 73.68%
You can’t perform that action at this time.
0 commit comments