This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Decode URL-ified object | |
| * | |
| * @param {string} urlifiedObj | |
| * @returns {any} | |
| */ | |
| const decodeUrlifiedObject = (urlifiedObj) => JSON.parse(decodeURI(string)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Filter a list of expressions to final string. | |
| * | |
| * @param args | |
| * @returns {string} | |
| */ | |
| const classNames = (...args) => | |
| args | |
| .reduce((accumulator, itm) => { | |
| if (itm) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Get value from object by path (ex. parent.child.id) | |
| * Source: https://stackoverflow.com/questions/8817394/javascript-get-deep-value-from-object-by-passing-path-to-it-as-string | |
| * | |
| * @param {object} obj | |
| * @param {string} path | |
| * @returns {undefined|*} | |
| */ | |
| const deepFind = (obj, path) => { | |
| const paths = path.split('.'); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Clear object from empty values (recursively) | |
| * Source: https://stackoverflow.com/a/38340374 | |
| * | |
| * @param {object} obj | |
| * @returns {object} | |
| */ | |
| const objectRemoveEmpty = (obj) => { | |
| const newObj = {}; | |
| Object.keys(obj).forEach((key) => { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Checking equality between two arrays ignoring order. | |
| * | |
| * Source: https://www.30secondsofcode.org/blog/s/javascript-array-comparison | |
| * | |
| * Limitations: | |
| * - primitive values only | |
| * - first level only | |
| * - can't compare objects | |
| * |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const randomInteger = (min, max) => | |
| Math.floor(Math.random() * (max - min + 1)) + min; | |
| const randomBoolean = () => Math.random() >= 0.5; | |
| const defaultTime = () => randomInteger(1000, 3000); | |
| /** | |
| * Tool for simulating http requests | |
| * |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| +-----------------------------------------------------------------+ | |
| | Created by Chirag Mehta - http://chir.ag/projects/ntc | | |
| |-----------------------------------------------------------------| | |
| | ntc js (Name that Color JavaScript) | | |
| +-----------------------------------------------------------------+ | |
| All the functions, code, lists etc. have been written specifically | |
| for the Name that Color JavaScript by Chirag Mehta unless otherwise |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Compose functions from left to right. | |
| * | |
| * Source: https://1loc.dev/#compose-functions-from-left-to-right | |
| * | |
| * Read more by googling: "js pipe", "js pipeline", "js compose from left to right". | |
| * | |
| * @param {...function} fns | |
| * @returns {*} | |
| */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Generate Random Whole Numbers within a Range | |
| * | |
| * Source: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range | |
| * | |
| * @param {number} min | |
| * @param {number} max | |
| */ | |
| const randomRange(min, max) => Math.floor(Math.random() * (max - min + 1)) + min; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Transforms string from any format case in spinal case (ex. spinal-case) | |
| * | |
| * Source: https://forum.freecodecamp.org/t/freecodecamp-challenge-guide-spinal-tap-case/16078 | |
| * | |
| * @param {string} str | |
| */ | |
| function spinalCase(str) { | |
| // "It's such a fine line between stupid, and clever." | |
| // --David St. Hubbins |