1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-05 08:08:02 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
jbranchaud
03b0944961 Add Open Finder.app To Specific Directory as a Mac til 2022-02-08 12:21:27 -06:00
jbranchaud
ace307c591 Add Interfaces With The Same Name Are Merged as a TypeScript til 2022-02-02 11:07:43 -06:00
3 changed files with 71 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
_1184 TILs and counting..._
_1186 TILs and counting..._
---
@@ -478,6 +478,7 @@ _1184 TILs and counting..._
- [Gesture For Viewing All Windows Of Current App](mac/gesture-for-viewing-all-windows-of-current-app.md)
- [Insert A Non-Breaking Space Character](mac/insert-a-non-breaking-space-character.md)
- [List All The Say Voices](mac/list-all-the-say-voices.md)
- [Open Finder.app To Specific Directory](mac/open-finder-app-to-specific-directory.md)
- [Quickly Type En Dashes And Em Dashes](mac/quickly-type-en-dashes-and-em-dashes.md)
- [Require Additional JS Libraries In Postman](mac/require-additional-js-libraries-in-postman.md)
- [Resize App Windows With AppleScript](mac/resize-app-windows-with-applescript.md)
@@ -1081,6 +1082,7 @@ _1184 TILs and counting..._
- [Add Types To An Object Destructuring](typescript/add-types-to-an-object-destructuring.md)
- [Compiler Checks For Unused Params And Variables](typescript/compiler-checks-for-unused-params-and-variables.md)
- [Interfaces With The Same Name Are Merged](typescript/interfaces-with-the-same-name-are-merged.md)
- [Re-Export An Imported Type](typescript/re-export-an-imported-type.md)
- [Type Narrowing With Similarly Shaped Objects](typescript/type-narrowing-with-similarly-shaped-objects.md)
- [Use An Array Check For Type Narrowing](typescript/use-an-array-check-for-type-narrowing.md)

View File

@@ -0,0 +1,29 @@
# Open Finder.app To Specific Directory
The Mac OSX built-in GUI for navigating directories and files is _Finder.app_.
I use it just about anytime I need to drag a file on my machine into Slack,
Discord, Google Drive, or wherever else has a file drop zone.
Sometimes certain directories can be hard to navigate to because they are
deeply nested or because Mac hides them by default. The `~/Library` directory
is a great example of the latter.
I can use the `open` command from the terminal to open a Finder window right in
that directory.
```bash
$ cd ~/Library
$ open .
```
I first navigated there and then I ran `open .` which means open the current
directory. For directories, `open` defaults to using Finder.app.
I could have also run `open` with the target directory name instead of
navigating there first.
```bash
$ open ~/Library
```
See `man open` for more details.

View File

@@ -0,0 +1,39 @@
# Interfaces With The Same Name Are Merged
Here is the declartion of an interface in TypeScript.
```typescript
interface Person {
name: string
}
```
What if I were to add a separate interface declaration with the same name,
`Person`?
```typescript
interface Person {
age: number
}
```
TypeScript performs declaration merging. So the types of the two interfaces
would be combined. So, a variable of type `Person` can have an `name` and an
`age`.
```typescript
const person: Person = {
age: 22,
name: 'Bob'
}
```
See a [live
example](https://www.typescriptlang.org/play?ssl=12&ssc=2&pln=5&pc=1#code/JYOwLgpgTgZghgYwgAgArQM4HsTIN4BQyxyIcAthAFzIZhSgDmBAvgQaJLIiulNrkIlkcRtVIBXcgCNordghx1kAB0w4afAcgC8+IiVHiATMYA0B4mUo0A5ACEs02-IJr+OAHRGgA)
in the TS Playground.
This is different from how object type declarations handle it. If I were to try
to define two separate `type`s with the same name, that would result in a type
error.
[source](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#merging-interfaces)