Merge pull request 'added ts string literal types' (#8) from feat/ts-literal into main
Reviewed-on: #8
This commit is contained in:
@@ -154,6 +154,14 @@ export default defineConfig({
|
|||||||
{ text: 'Ansible Inventory Generation', link: '/terraform/ansible-inventory-generation' },
|
{ text: 'Ansible Inventory Generation', link: '/terraform/ansible-inventory-generation' },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
text: 'Typescript',
|
||||||
|
link: '/typescript/',
|
||||||
|
collapsed: true,
|
||||||
|
items: [
|
||||||
|
{ text: 'String Literal Types', link: '/typescript/string-literal-types' },
|
||||||
|
]
|
||||||
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
socialLinks: [
|
socialLinks: [
|
||||||
|
@@ -62,6 +62,10 @@ hero:
|
|||||||
text: Terraform
|
text: Terraform
|
||||||
link: /terraform/
|
link: /terraform/
|
||||||
|
|
||||||
|
- theme: alt
|
||||||
|
text: Typescript
|
||||||
|
link: /typescript/
|
||||||
|
|
||||||
# features:
|
# features:
|
||||||
# - title: Feature A
|
# - title: Feature A
|
||||||
# details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
# details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
||||||
|
3
docs/typescript/index.md
Normal file
3
docs/typescript/index.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Typescript Snippets and Musings
|
||||||
|
|
||||||
|
#### [String Literal Types](./string-literal-types.md)
|
22
docs/typescript/string-literal-types.md
Normal file
22
docs/typescript/string-literal-types.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# String Literal Types
|
||||||
|
|
||||||
|
String literal types are a powerful feature in TypeScript that allows you to specify exact string values a variable can hold. This is useful for creating more precise types and can help catch errors at compile time.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const DIRECTIONS = ["left", "right", "up", "down"] as const;
|
||||||
|
type Direction = typeof DIRECTIONS[number];
|
||||||
|
|
||||||
|
// Usage
|
||||||
|
function move(direction: Direction) {
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
|
||||||
|
// Array Usage
|
||||||
|
for (const dir of DIRECTIONS) {
|
||||||
|
move(dir);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
In the above examples you can see how we can both use the `Direction` type directly and also leverage the `DIRECTIONS` array for type-safe values.
|
Reference in New Issue
Block a user