Skip to content

Instantly share code, notes, and snippets.

👨‍💻
npx danguilherme

Guilherme Ventura danguilherme

👨‍💻
npx danguilherme
View GitHub Profile
@danguilherme
danguilherme / _example.ts
Created Aug 5, 2019
Send messages from Electron Renderer to Main processes, with an RxJS observable to communicate progress and completion
View _example.ts
// In Renderer
export function makeHttpRequest(url: string; method: string) {
return createIpcSender<{ url: string; method: string }, void>(
'http-request',
{ url, method },
);
}
// ... in browser window code ...
makeHttpRequest('https://httpbin.org', 'GET').subscribe({
@danguilherme
danguilherme / imperative.ts
Created May 21, 2019
Imperative vs Declarative
View imperative.ts
function waitSingleWidgetInVirtualTree(
options: MacroApiOptions,
scope: ScopeItem[] = [],
callback: (
(error: Error | null, virtualTreeNode: VirtualTreeNode | null) => void
)
) {
let unsubscribeFromStore: (() => void) | null = null;
function stopWaitingSingleWidgetInVirtualTree() {
if (unsubscribeFromStore) {
@danguilherme
danguilherme / index.html
Last active Jan 18, 2019
Electron Fiddle Gist - test menu shortcuts/accelerators
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<!-- All of the Node.js APIs are available in this renderer process. -->
<pre>
<b>Node.js :</b> <script>document.write(process.versions.node)</script>
View object-as-param.md

And the famous answer is: it depends. Depends on the use case.

Use case #1: Optional parameters

If the parameters are optional, you may use a single parameter (generally named options) to receive and conditionally Object.assign the default values (mostly used in pre-ES6 code, but still has its use).

jQuery uses this approach in lots of functions. Here's an example from Angular's $http.get:

// No params
$http.get('https://httpbin.org/get');
// Optional params
@danguilherme
danguilherme / symlink.bat
Last active Nov 14, 2017
Windows symlink
View symlink.bat
@danguilherme
danguilherme / snippets.sh
Created Feb 29, 2016
Command Line Magic
View snippets.sh
# Create a symbolic link to conveniently run $app from the terminal:
sudo ln -s /path/to/$app /usr/local/bin/$app
@danguilherme
danguilherme / git_configs.sh
Last active Jul 25, 2018 — forked from tacsio/Git Configs
My git config
View git_configs.sh
git config --global user.name "Guilherme Ventura"
git config --global user.email "guilhermeventura2@gmail.com"
git config --global push.default simple
git config --global color.ui true
git config --global alias.s status
git config --global alias.c checkout
git config --global alias.co checkout
@danguilherme
danguilherme / aliases
Last active Aug 29, 2015
Alias file for Cmder
View aliases
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
ls=ls --color $*
pwd=cd
clear=cls
subl="C:\Program Files\Sublime Text 3\subl.exe" $*
atom="C:\Users\Guilherme\AppData\Local\atom\app-1.0.0\atom.exe" $*
eval=node -p $*
@danguilherme
danguilherme / git_commands.sh
Created Apr 26, 2015
Git commands cheat sheet
View git_commands.sh
# BRANCHES
git branch # list all local branches
git branch -a # list all branches (local and remote)
# Clone remote branches - http://stackoverflow.com/a/72156/1574059
git checkout -b branch-name origin/branch-name # create local branch and set it to track origin/branch-name
@danguilherme
danguilherme / useful_scripts.user.js
Last active Aug 29, 2015
All my public user scripts
View useful_scripts.user.js
// ==UserScript==
// @name Useful Scripts
// @version 1.3.0
// @description Useful scripts for developers, to be loaded and used in every page
// @match http://**/*
// @author Guilherme Ventura
// @downloadURL https://rawgit.com/danguilherme/2e6e913ebdd491b06225/raw/useful_scripts.user.js
// @grant unsafeWindow
// ==/UserScript==
You can’t perform that action at this time.