Skip to content

Instantly share code, notes, and snippets.

View albertorestifo's full-sized avatar

Alberto Restifo albertorestifo

View GitHub Profile
@albertorestifo
albertorestifo / populateMap.js
Last active August 2, 2023 10:27
Transform a nested object insto a nested Map object
/**
* Populate a map with the values of an object with nested maps
*
* @param {Map} map - Map to populate
* @param {object} object - Object to use for the population
* @param {array} keys - Array of keys of the object
*
* @return {Map} Populated map
*/
function populateMap (map, object, keys) {
@albertorestifo
albertorestifo / propdiff.js
Created April 12, 2017 15:55
Logs the diff between current and previous props on a react element
componentDidUpdate(prevProps) {
console.log('Rrow update diff:');
const now = Object.entries(this.props);
const added = now.filter(([key, val]) => {
if (prevProps[key] === undefined) return true;
if (prevProps[key] !== val) {
console.log(`${key}
- ${JSON.stringify(val)}
- return this.prisma.ctrPayrollCompensation.create({
- data: createData,
+ return this.prisma.ctrPayrollCompensation.upsert({
+ where: { idepotencyKey }
+ create: { ...createData, idepotencyKey },
+ update: {},
include: {
rateOfPayUnit: true,
cycle: { include: { recurringFrequency: true, recurringPatterns: true } },
}
@albertorestifo
albertorestifo / create.ts
Last active October 6, 2021 10:02
Example idempotent creation with Prisma
// Suppose createData includes all the other required fields,
// and idempotencyKey is received as part of the request payload.
await this.prisma.ctrPayrollCompensation.upsert({
where: { idempotencyKey },
create: { ...createData, idepotencyKey },
update: {}, // Update nothing
});
Error: instantiating 'Breeze::Requests::ShowPage#perform_render()'
In lib/lucky/src/lucky/html_builder.cr:27:5
27 | render
^-----
Error: instantiating 'render()'
@albertorestifo
albertorestifo / .zshrc
Last active March 6, 2021 00:24
New Mac setup and bootstrapping
# Path to the Oh-my-zsh install
export ZSH=$HOME/.oh-my-zsh
# Add all the required portions to the PATH
export PATH="/usr/local/opt/ruby/bin:$HOME/bin:$PATH";
# Source NVM
source ~/.nvm/nvm.sh
# ZSH Configurations
@albertorestifo
albertorestifo / gist:2cc2bab488a39eb60e0c9faa77250eb4
Created August 24, 2019 11:34
Fix font smoothing is VSCode
defaults write com.microsoft.VSCode.helper CGFontRenderingFontSmoothingDisabled -bool NO
@albertorestifo
albertorestifo / sort.js
Created November 28, 2017 15:21
A quick script to sort by stars
const fs = require('fs');
const rp = require('request-promise');
const Promise = require('bluebird');
const list = fs.readFileSync('./list', { encoding: 'utf8' });
const urls = list.split('\n');
const TOKEN = '<YOUR API TOKEN>';
const repos = urls.map((url) => {
@albertorestifo
albertorestifo / ref.js
Created November 6, 2017 11:15
Charts In React - Article resources
import React, { Component } from 'react';
import { select } from 'd3-select';
class LineChart extends Component {
componentDidMount() {
this.renderChart();
}
renderChart() {
const svg = select(this.containerEl);
package main
import (
"bufio"
"fmt"
"log"
"os"
"runtime"
"strings"
"sync"