|
101 | 101 | }
|
102 | 102 | ]
|
103 | 103 | },
|
| 104 | + { |
| 105 | + "categoryName": "Color Manipulation", |
| 106 | + "snippets": [ |
| 107 | + { |
| 108 | + "title": "RGB to Hex Color", |
| 109 | + "description": "Converts RGB color values to hexadecimal color code.", |
| 110 | + "author": "jjcantu", |
| 111 | + "tags": [ |
| 112 | + "javascript", |
| 113 | + "color", |
| 114 | + "conversion", |
| 115 | + "utility" |
| 116 | + ], |
| 117 | + "contributors": [], |
| 118 | + "code": "function rgbToHex(r, g, b) {\n const toHex = (n) => {\n const hex = n.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n };\n \n return '#' + toHex(r) + toHex(g) + toHex(b);\n}\n\n// Usage:\nconsole.log(rgbToHex(255, 128, 0)); // Output: \"#ff8000\"\nconsole.log(rgbToHex(0, 255, 0)); // Output: \"#00ff00\"\n" |
| 119 | + } |
| 120 | + ] |
| 121 | + }, |
104 | 122 | {
|
105 | 123 | "categoryName": "Date And Time",
|
106 | 124 | "snippets": [
|
|
547 | 565 | "contributors": [],
|
548 | 566 | "code": "const toScientificNotation = (num) => {\n if (isNaN(num)) {\n throw new Error('Input must be a number');\n }\n if (num === 0) {\n return '0e+0';\n }\n const exponent = Math.floor(Math.log10(Math.abs(num)));\n const mantissa = num / Math.pow(10, exponent);\n return `${mantissa.toFixed(2)}e${exponent >= 0 ? '+' : ''}${exponent}`;\n};\n\n// Usage:\nconsole.log(toScientificNotation(12345)); // Output: '1.23e+4'\nconsole.log(toScientificNotation(0.0005678)); // Output: '5.68e-4'\nconsole.log(toScientificNotation(1000)); // Output: '1.00e+3'\nconsole.log(toScientificNotation(0)); // Output: '0e+0'\nconsole.log(toScientificNotation(-54321)); // Output: '-5.43e+4'\n"
|
549 | 567 | },
|
| 568 | + { |
| 569 | + "title": "Format File Size", |
| 570 | + "description": "Converts bytes into human-readable file size format.", |
| 571 | + "author": "jjcantu", |
| 572 | + "tags": [ |
| 573 | + "javascript", |
| 574 | + "format", |
| 575 | + "size", |
| 576 | + "utility" |
| 577 | + ], |
| 578 | + "contributors": [], |
| 579 | + "code": "function formatFileSize(bytes) {\n if (bytes === 0) return '0 Bytes';\n \n const k = 1024;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n \n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n}\n\n// Usage:\nconsole.log(formatFileSize(1234)); // Output: \"1.21 KB\"\nconsole.log(formatFileSize(1234567)); // Output: \"1.18 MB\"\n" |
| 580 | + }, |
550 | 581 | {
|
551 | 582 | "title": "Format Number with Commas",
|
552 | 583 | "description": "Formats a number with commas for better readability (e.g., 1000 -> 1,000).",
|
|
656 | 687 | "contributors": [],
|
657 | 688 | "code": "function countProperties(obj) {\n return Object.keys(obj).length;\n}\n\n// Usage:\nconst obj = { a: 1, b: 2, c: 3 };\nconsole.log(countProperties(obj)); // Output: 3\n"
|
658 | 689 | },
|
| 690 | + { |
| 691 | + "title": "Deep Clone Object", |
| 692 | + "description": "Creates a deep copy of an object or array without reference.", |
| 693 | + "author": "jjcantu", |
| 694 | + "tags": [ |
| 695 | + "javascript", |
| 696 | + "object", |
| 697 | + "clone", |
| 698 | + "utility" |
| 699 | + ], |
| 700 | + "contributors": [], |
| 701 | + "code": "function deepClone(obj) {\n if (obj === null || typeof obj !== 'object') return obj;\n \n const clone = Array.isArray(obj) ? [] : {};\n \n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n clone[key] = deepClone(obj[key]);\n }\n }\n \n return clone;\n}\n\n// Usage:\nconst original = { a: 1, b: { c: 2 }, d: [1, 2, 3] };\nconst cloned = deepClone(original);\nconsole.log(cloned); // Output: { a: 1, b: { c: 2 }, d: [1, 2, 3] }\n" |
| 702 | + }, |
659 | 703 | {
|
660 | 704 | "title": "Filter Object",
|
661 | 705 | "description": "Filter out entries in an object where the value is falsy, including empty strings, empty objects, null, and undefined.",
|
|
930 | 974 | "contributors": [],
|
931 | 975 | "code": "function getInitials(name) {\n return name.split(' ').map(part => part.charAt(0).toUpperCase()).join('');\n}\n\n// Example usage:\nconsole.log(getInitials('John Doe')); // Output: 'JD'\n"
|
932 | 976 | },
|
| 977 | + { |
| 978 | + "title": "Generate UUID", |
| 979 | + "description": "Generates a UUID (v4) string.", |
| 980 | + "author": "jjcantu", |
| 981 | + "tags": [ |
| 982 | + "javascript", |
| 983 | + "uuid", |
| 984 | + "utility" |
| 985 | + ], |
| 986 | + "contributors": [], |
| 987 | + "code": "function generateUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\n\n// Usage:\nconsole.log(generateUUID()); // Output: \"a1b2c3d4-e5f6-4g7h-8i9j-k0l1m2n3o4p5\"\n" |
| 988 | + }, |
933 | 989 | {
|
934 | 990 | "title": "Mask Sensitive Information",
|
935 | 991 | "description": "Masks parts of a sensitive string, like a credit card or email address.",
|
|
0 commit comments