Skip to content

Instantly share code, notes, and snippets.

View feliperohdee's full-sized avatar
🚀
Going High

Felipe Rohde feliperohdee

🚀
Going High
View GitHub Profile
@feliperohdee
feliperohdee / useShare.ts
Created February 9, 2024 00:44 — forked from KristofferEriksson/useShare.ts
A React Typescript hook that let users share your content directly via native share dialogs
import { useCallback, useEffect, useState } from "react";
// Types for the useShare hook parameters
interface UseShareParams {
onShare?: (content: ShareParams) => void;
onSuccess?: (content: ShareParams) => void;
onError?: (error: any) => void;
fallback?: () => void;
successTimeout?: number;
}
@feliperohdee
feliperohdee / licenses.json
Last active January 26, 2024 19:22
easyauth permissions
[
{
"label": "DEFAULT_ADMIN_PERMISSION",
"roles": [
"license.collaborators.delete",
"license.collaborators.invite",
"license.collaborators.read",
"license.collaborators.update",
"license.delete",
"license.delete.ads",
@feliperohdee
feliperohdee / index.js
Last active August 4, 2023 15:41
process async items with concurrency
const worker = async (queue, concurrency = 25) => {
let index = 0;
let results = [];
let threads = [];
const execThread = async () => {
while (index < queue.length) {
const currentIndex = index++;
// Use of `currentIndex` is important because `index` may change after await is resolved
@feliperohdee
feliperohdee / promise-all-4.js
Created December 24, 2022 22:25
promise-all-4.js
const putData = async (data, ms) => {
return new Promise(resolve => {
setTimeout(() => {
resolve(data);
}, ms);
});
};
const clearAll = async () => {
// logic to clear all data
@feliperohdee
feliperohdee / promise-all-3.js
Created December 24, 2022 22:09
promise-all-3.js
const putData = async (data, ms) => {
return new Promise(resolve => {
setTimeout(() => {
resolve(data);
}, ms);
});
};
const clearAll = async () => {
// logic to clear all data
@feliperohdee
feliperohdee / promise.all-2.js
Last active December 24, 2022 22:05
promise.all-2.js
const putData = async (data, ms) => {
return new Promise(resolve => {
setTimeout(() => {
resolve(data);
}, ms);
});
};
const [
result1,
const putData = async (data, ms) => {
return new Promise(resolve => {
setTimeout(() => {
resolve(data);
}, ms);
});
};
const [
result1,
const graphql = require('graphql');
const _ = require('lodash');
const constants = require('../constants');
const {
parse,
validate,
validateSchema,
execute,
@feliperohdee
feliperohdee / Worker.js
Created January 28, 2021 21:47
Simple RXJS based worker broker
const workerThreads = require('worker_threads');
const rx = require('rxjs');
class Worker {
constructor(file, data) {
this.messageId = 0;
this.callbacks = new Map();
this.client = new workerThreads.Worker(file, {
workerData: {
id: Date.now(),
@feliperohdee
feliperohdee / u.json
Created July 13, 2020 17:20
rohde monokai mothafãck
"workbench.colorCustomizations": {
"[Monokai]": {
"activityBar.background": "#17191a",
"activityBar.border": "#363738",
"badge.background": "#17191a",
"editor.background": "#26292e",
"editorGroupHeader.tabsBackground": "#17191a",
"editorHoverWidget.background": "#17191a",
"editorHoverWidget.border": "#363738",
"focusBorder": "#00000000",