Travis build: 1705

This commit is contained in:
30secondsofcode
2020-01-13 08:19:45 +00:00
parent bd80172f4d
commit 164fad4f5e
19 changed files with 199 additions and 228 deletions

View File

@ -512,8 +512,8 @@
" return Array.isArray(obj) && obj.length",
" ? (clone.length = obj.length) && Array.from(clone)",
" : Array.isArray(obj)",
" ? Array.from(obj)",
" : clone;",
" ? Array.from(obj)",
" : clone;",
"};"
],
"description": "Creates a deep clone of an object.\n\nUse recursion.\nCheck if the passed object is `null` and, if so, return `null`.\nUse `Object.assign()` and an empty object (`{}`) to create a shallow clone of the original.\nUse `Object.keys()` and `Array.prototype.forEach()` to determine which key-value pairs need to be deep cloned.\n"
@ -549,13 +549,13 @@
" Array.isArray(obj)",
" ? obj.map(val => deepMapKeys(val, f))",
" : typeof obj === 'object'",
" ? Object.keys(obj).reduce((acc, current) => {",
" ? Object.keys(obj).reduce((acc, current) => {",
" const val = obj[current];",
" acc[f(current)] =",
" val !== null && typeof val === 'object' ? deepMapKeys(val, f) : (acc[f(current)] = val);",
" return acc;",
" }, {})",
" : obj;"
" : obj;"
],
"description": "Deep maps an object's keys.\n\nCreates an object with the same values as the provided object and keys generated by running the provided function for each key.\nUse `Object.keys(obj)` to iterate over the object's keys. \nUse `Array.prototype.reduce()` to create a new object with the same values and mapped keys using `fn`.\n"
},
@ -631,9 +631,9 @@
" target in obj",
" ? obj[target]",
" : Object.values(obj).reduce((acc, val) => {",
" if (acc !== undefined) return acc;",
" if (typeof val === 'object') return dig(val, target);",
" }, undefined);"
" if (acc !== undefined) return acc;",
" if (typeof val === 'object') return dig(val, target);",
" }, undefined);"
],
"description": "Returns the target value in a nested JSON object, based on the given key.\n\nUse the `in` operator to check if `target` exists in `obj`.\nIf found, return the value of `obj[target]`, otherwise use `Object.values(obj)` and `Array.prototype.reduce()` to recursively call `dig` on each nested object until the first matching key/value pair is found.\n"
},
@ -795,11 +795,11 @@
"const factorial = n =>",
" n < 0",
" ? (() => {",
" throw new TypeError('Negative numbers are not allowed!');",
" })()",
" throw new TypeError('Negative numbers are not allowed!');",
" })()",
" : n <= 1",
" ? 1",
" : n * factorial(n - 1);"
" ? 1",
" : n * factorial(n - 1);"
],
"description": "Calculates the factorial of a number.\n\nUse recursion.\nIf `n` is less than or equal to `1`, return `1`.\nOtherwise, return the product of `n` and the factorial of `n - 1`.\nThrows an exception if `n` is a negative number.\n"
},
@ -1067,10 +1067,10 @@
" num === 0 || num === 24",
" ? 12 + 'am'",
" : num === 12",
" ? 12 + 'pm'",
" : num < 12",
" ? (num % 12) + 'am'",
" : (num % 12) + 'pm';"
" ? 12 + 'pm'",
" : num < 12",
" ? (num % 12) + 'am'",
" : (num % 12) + 'pm';"
],
"description": "Converts an integer to a suffixed string, adding `am` or `pm` based on its value.\n\nUse the modulo operator (`%`) and conditional checks to transform an integer to a stringified 12-hour format with meridiem suffix.\n"
},
@ -1509,10 +1509,7 @@
"body": [
"const isContainedIn = (a, b) => {",
" for (const v of new Set(a)) {",
" if (",
" !b.some(e => e === v) ||",
" a.filter(e => e === v).length > b.filter(e => e === v).length",
" )",
" if (!b.some(e => e === v) || a.filter(e => e === v).length > b.filter(e => e === v).length)",
" return false;",
" }",
" return true;",
@ -1788,8 +1785,8 @@
" i === arr.length - 2",
" ? acc + val + end",
" : i === arr.length - 1",
" ? acc + val",
" : acc + val + separator,",
" ? acc + val",
" : acc + val + separator,",
" ''",
" );"
],
@ -2131,10 +2128,10 @@
"const objectToQueryString = queryParameters => {",
" return queryParameters",
" ? Object.entries(queryParameters).reduce((queryString, [key, val], index) => {",
" const symbol = queryString.length === 0 ? '?' : '&';",
" queryString += typeof val === 'string' ? `${symbol}${key}=${val}` : '';",
" return queryString;",
" }, '')",
" const symbol = queryString.length === 0 ? '?' : '&';",
" queryString += typeof val === 'string' ? `${symbol}${key}=${val}` : '';",
" return queryString;",
" }, '')",
" : '';",
"};"
],
@ -2648,9 +2645,9 @@
"const remove = (arr, func) =>",
" Array.isArray(arr)",
" ? arr.filter(func).reduce((acc, val) => {",
" arr.splice(arr.indexOf(val), 1);",
" return acc.concat(val);",
" }, [])",
" arr.splice(arr.indexOf(val), 1);",
" return acc.concat(val);",
" }, [])",
" : [];"
],
"description": "Removes elements from an array for which the given function returns `false`.\n\nUse `Array.prototype.filter()` to find array elements that return truthy values and `Array.prototype.reduce()` to remove elements using `Array.prototype.splice()`.\nThe `func` is invoked with three arguments (`value, index, array`).\n"
@ -2848,10 +2845,10 @@
" Array.isArray(val)",
" ? val.length",
" : val && typeof val === 'object'",
" ? val.size || val.length || Object.keys(val).length",
" : typeof val === 'string'",
" ? new Blob([val]).size",
" : 0;"
" ? val.size || val.length || Object.keys(val).length",
" : typeof val === 'string'",
" ? new Blob([val]).size",
" : 0;"
],
"description": "Gets the size of an array, object or string.\n\nGet type of `val` (`array`, `object` or `string`). \nUse `length` property for arrays.\nUse `length` or `size` value if available or number of keys for objects.\nUse `size` of a [`Blob` object](https://developer.mozilla.org/en-US/docs/Web/API/Blob) created from `val` for strings.\nSplit strings into array of characters with `split('')` and return its length.\n"
},