Skip to content

Instantly share code, notes, and snippets.

View nachodd's full-sized avatar

Ignacio Durand nachodd

  • Expero
  • Rosario, Santa Fé, Argentina
View GitHub Profile
/**
* Converts a hex color code to an RGB color object.
* @param {string} hex - The hex color code to convert.
* @returns {object} An object with the red, green, and blue components of the RGB color.
*/
function hexToRGB(hex) {
// Remove the # character from the beginning of the hex code
hex = hex.replace("#", "");
// Convert the red, green, and blue components from hex to decimal
@nachodd
nachodd / .js
Last active July 6, 2023 01:28
JSDoc type annotation example - returning different types depending on whether it is defined or not - Toast composable example
// NOTE: this was a test to determine if useToast function type could be annotated using JSDoc.
// The catch is that thi function returns a different type depending if a parameter is present or not
// For some reason, it is not recognizing @param {undefined}, so that the type can not be inffered correctly
// Typescript solution:
// https://www.typescriptlang.org/play?#code/C4TwDgpgBMD2CGBnYB5ARgKwgY2FAvFAN4BQUUy8wArogPwBcFwATgJYB2A5gNxlRtssDo2btufcsDbAANhCbJxvfgBMIibOzDThi1pxXl4uNsPpMAgixbwQAHngcQAPj4BfPiVCQYCZABiHARQABRwSMBMEcjoWLgAlAQuUABusGyqXj7QMcAAwsKssLKIIaRS-sCIAKIAHmBO6qqiaLAlEE6SUGAssAC2Ovny8CyWsrKWpqkQre0jHN3YI2MToqFJ+Cnpmd2IEMAACn2DBSvjsuub2xlZ-HnDggDWV8lpt91wXFzy9Y0czVeW3eu34ABI8tEqkEPNlwNBaBAACpVFA6MwcMqECpQIQcYqlOYdLokdwkEgAeip1JptLpdPJVKgqlgGg4AHI8P0qMAICwoAAzWD84AACzYZQgdXgg3kJHkeDytQaTQgqhCAvgpQg8oOPROQ3OEym0hmIVY1B1eOQuKNshCGzeRDJ1rw+yOBrOnVW9sIjuBzpIrr8kUe2CeDuuxBd5kVsG+vxVALVkadZKDsagEKqUMiQQdkJDsUwOGAUZxTJZbM5UG5wF5-KFIvFkulsp15GtHQAdLJ46EAER5OKlgcAGiLZdJjPps7nFJnUAAqocACKWJE1VfkgXUDim
{
"title": "Map Option+Backward-delete to Ctrl+Backward-Delete.",
"rules": [
{
"description": "Map Option+Backward-delete to Ctrl+Backward-Delete. (delete current word).",
"type": "basic",
"manipulators": [
{
"from": {
"key_code": "delete_or_backspace",
; Replaces Win + Left = home
#left::
send {home}
return
; Replaces Win + Right = end
#right::
send {end}
return
@nachodd
nachodd / flatten.js
Last active November 23, 2019 13:46
Simple multidimensional array flatten
/**
* Flatten multidimensional Arrays
* @param {Array} arrayToFlat multidimensional array to be flatten.
* @returns {Array} array flattened
*/
function flatten(arrayToFlat = []) {
const result = []
arrayToFlat.forEach(element => {
if (Array.isArray(element)) {
@nachodd
nachodd / request.js
Created November 19, 2019 17:57
Axios instance creation, with request and response handling (managing auth header and error responses). (vue.js project)
/* eslint-disable no-unreachable */
/* eslint-disable require-atomic-updates */
// import _ from "lodash"; // LODASH is imported and used globally, configured in webpack
import axios from "axios"
import store from "store" // store is the Vuex store instance
import router from "router" // router is the Vue Router instance
import { warn, warnDialogParse } from "utils/alerts" // helpers to show alerts and error messages
// create an axios instance
@nachodd
nachodd / api.js
Created November 19, 2019 17:37
api calls example, returning promise
// 'request' it's an axios instance, that it has a request interceptor setted on it (to add an auth header)
// This is all done in utils/request.js. So that all api calls made with 'request' had auth header setted on it
import request from "utils/request"
export function getResponsabilities(userId) {
return new Promise(async (resolve, reject) => {
try {
const res = await request({
url: `v1/f12/${userId}/responsabilities`,
method: "get",
@nachodd
nachodd / api.js
Created November 19, 2019 17:20
api calls example
import axios from "axios"
export function getSellers() {
return axios({
url: "v1/sellers/",
method: "get",
})
}
export function createInvoice(data) {
@nachodd
nachodd / cloudSettings
Created October 25, 2019 14:45
Visual Studio Code Settings Sync Gist
{"lastUpload":"2019-10-25T14:45:28.109Z","extensionVersion":"v3.4.3"}
@nachodd
nachodd / averange_multidimensional_array.js
Created October 11, 2019 20:21
Average Multidimensional Array Javascript (recursive)
const averange = (input) => {
const {sum, count} = sumAndCount(input)
return sum/count
}
const sumAndCount = (arr) => {
let count = 0
const sum = arr.reduce((acc, element) => {