Skip to content

Instantly share code, notes, and snippets.

View matheusvellone's full-sized avatar
🤪

Matheus Vellone matheusvellone

🤪
View GitHub Profile
@matheusvellone
matheusvellone / _title.md
Last active July 27, 2023 12:34
[MEDIUM] - Typescript conditionals
@matheusvellone
matheusvellone / .title.md
Last active July 20, 2023 15:17
[MEDIUM] - Using phantom types to extreme type guard
@matheusvellone
matheusvellone / _title.md
Last active November 18, 2020 02:47
Nginx Proxy setup

Keybase proof

I hereby claim:

  • I am matheusvellone on github.
  • I am matheusvellone (https://keybase.io/matheusvellone) on keybase.
  • I have a public key whose fingerprint is C688 7035 6B17 88DB E331 DACE F7A1 4B71 5BE0 93E8

To claim this, I am signing this object:

@matheusvellone
matheusvellone / fire.js
Created January 22, 2019 20:44
Doom fire with smoke
const firePixelsArray = []
const fireWidth = 100
const fireHeight = 100
const fireColorsPalette = [{ "r": 7, "g": 7, "b": 7 }, { "r": 31, "g": 7, "b": 7 }, { "r": 47, "g": 15, "b": 7 }, { "r": 71, "g": 15, "b": 7 }, { "r": 87, "g": 23, "b": 7 }, { "r": 103, "g": 31, "b": 7 }, { "r": 119, "g": 31, "b": 7 }, { "r": 143, "g": 39, "b": 7 }, { "r": 159, "g": 47, "b": 7 }, { "r": 175, "g": 63, "b": 7 }, { "r": 191, "g": 71, "b": 7 }, { "r": 199, "g": 71, "b": 7 }, { "r": 223, "g": 79, "b": 7 }, { "r": 223, "g": 87, "b": 7 }, { "r": 223, "g": 87, "b": 7 }, { "r": 215, "g": 95, "b": 7 }, { "r": 215, "g": 95, "b": 7 }, { "r": 215, "g": 103, "b": 15 }, { "r": 207, "g": 111, "b": 15 }, { "r": 207, "g": 119, "b": 15 }, { "r": 207, "g": 127, "b": 15 }, { "r": 207, "g": 135, "b": 23 }, { "r": 199, "g": 135, "b": 23 }, { "r": 199, "g": 143, "b": 23 }, { "r": 199, "g": 151, "b": 31 }, { "r": 191, "g": 159, "b": 31 }, { "r": 191, "g": 159, "b": 31 }, { "r": 191, "g": 167, "b": 39 }, { "r": 191, "g": 167, "b": 39 }, { "r": 191
@matheusvellone
matheusvellone / dynamoORM.js
Created November 11, 2017 01:15
DynamoSimpleORM (BaseRepository is a class and export some constants)
const BbPromise = require('bluebird')
const Dynamo = require('aws-sdk').DynamoDB.DocumentClient
const BaseRepository = require('./BaseRepository')
const security = require('../lib/utils/security')
const dateISO = require('../lib/utils/date').dateISO
/* Exceptions */
const InvalidException = require('../Exceptions/InvalidException')
const ConflictException = require('../Exceptions/ConflictException')
const NotFoundException = require('../Exceptions/NotFoundException')
@matheusvellone
matheusvellone / groupBy.js
Created November 8, 2016 19:48
Javascript array group by with header fields
function groupBy (arr, groupKey, headerFields) {
let ret = {};
let i = 0, len = arr.length;
let key;
while (i++ < len) {
key = arr[i][groupKey];
if (!ret[key]) {
ret[key] = {};
ret[key].header = {};