Skip to content
This repository was archived by the owner on Sep 29, 2025. It is now read-only.

Commit c31e7f9

Browse files
authored
Generics article 3 (#4)
* Generics * Continue with step 3 * Remove URL from readme
1 parent 45f6bcc commit c31e7f9

File tree

15 files changed

+299
-44
lines changed

15 files changed

+299
-44
lines changed

.prettierrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{
66
"files": "snippets/snippets/**/*.ts",
77
"options": {
8-
"printWidth": 45
8+
"printWidth": 49
99
}
1010
}
1111
]

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [TypeScript for Beginner Programmers](https://ts.chibicode.com/)
1+
# TypeScript for Beginner Programmers
22

33
## License & Credits
44

snippets/snippets/generics/cupt.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,5 @@ function createState() {
99
state = x
1010
}
1111

12-
return {
13-
getState,
14-
setState
15-
}
12+
return { getState, setState }
1613
}

snippets/snippets/generics/gkgi.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function createState() {
2+
// Change to string
3+
let state: string
4+
5+
function getState() {
6+
return state
7+
}
8+
9+
// Accepts a string
10+
function setState(x: string) {
11+
state = x
12+
}
13+
14+
return { getState, setState }
15+
}

snippets/snippets/generics/nnyl.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
function createState() {
2+
let state: number
3+
4+
function getState() {
5+
return state
6+
}
7+
8+
// setState() expects a number
9+
function setState(x: number) {
10+
state = x
11+
}
12+
13+
return { getState, setState }
14+
}

snippets/snippets/generics/osaa.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function createState() {
2+
// Change to string
3+
let state: string
4+
5+
function getState() {
6+
return state
7+
}
8+
9+
// Accepts a string
10+
function setState(x: string) {
11+
state = x
12+
}
13+
14+
return { getState, setState }
15+
}
16+
17+
const { getState, setState } = createState()
18+
19+
setState('foo')
20+
console.log(getState())

snippets/snippets/generics/stkh.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const { getState, setState } = createState()
2+
3+
// What happens if we use a string instead?
4+
setState('foo')
5+
console.log(getState())

snippets/snippets/generics/udpv.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ function createState() {
99
state = x
1010
}
1111

12-
return {
13-
getState,
14-
setState
15-
}
12+
return { getState, setState }
1613
}
1714

1815
const { getState, setState } = createState()

snippets/snippets/generics/xeax.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const { getState, setState } = createState()
2+
3+
setState('foo')
4+
console.log(getState())

snippets/snippets/generics/zhql.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
function createState() {
2+
let state: number
3+
4+
function getState() {
5+
return state
6+
}
7+
8+
function setState(x: number) {
9+
state = x
10+
}
11+
12+
return { getState, setState }
13+
}
14+
15+
const { getState, setState } = createState()
16+
17+
setState('foo')
18+
console.log(getState())

0 commit comments

Comments
 (0)