Skip to content

Instantly share code, notes, and snippets.

👀
overlooking issues

Guilherme Ventura danguilherme

👀
overlooking issues
Block or report user

Report or block danguilherme

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
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.