Skip to content

Instantly share code, notes, and snippets.

View paoloiulita's full-sized avatar

Paolo Iulita paoloiulita

View GitHub Profile
@paoloiulita
paoloiulita / App.js
Created October 15, 2021 11:48
Protected Routes
const routes = getRoutes(user.permissions)
<Switch>
{routes.map((route, i) => (
<Route
key={i}
path={route.path}
render={props => {
const Layout = route.layout
const Comp = route.component
@paoloiulita
paoloiulita / sieve.js
Last active October 14, 2019 13:39
Sieve for finding prime numbers
const arrayOfN = n => Array(n).fill(false).map((n, i) => i + 1);
const isNotDivisor = (a, b) => a === b || a % b !== 0;
const getPrimeNumbers = maxValue => {
const maxIndex = Math.floor(Math.sqrt(maxValue));
let numbersToTest = arrayOfN(maxIndex);
let range = arrayOfN(maxValue);
numbersToTest.splice(0, 1);
numbersToTest.forEach(outerNtt => {
numbersToTest = numbersToTest.filter(innerNtt => isNotDivisor(innerNtt, outerNtt));
componentDidUpdate(prevProps, prevState) {
Object.keys(prevProps)
.filter(key => (prevProps[key] !== this.props[key]))
.map(key => {
if (typeof prevProps[key] === 'object' || typeof this.props[key] === 'object') {
console.log(`changed prop: ${key}`);
console.log(prevProps[key]);
console.log(this.props[key]);
} else {
console.log(`changed prop: ${key} from ${prevProps[key]} to ${this.props[key]}`);