Skip to content

Commit 5e30d75

Browse files
authored
Merge pull request #9 from functionality-library/newFunctions
New functions
2 parents 7e0bfca + 79f4f5a commit 5e30d75

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+578
-2
lines changed

lib/converts/hexToRgb.d.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* converts a hex color to rgb
3+
*
4+
* @param {string} hex
5+
* @returns {number[]}
6+
*/
7+
export default function hexToRgb(hex: string): number[];

lib/converts/hexToRgb.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* converts a hex color to rgb
3+
*
4+
* @param {string} hex
5+
* @returns {number[]}
6+
*/
7+
export default function hexToRgb(hex) {
8+
return hex
9+
.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => "#" + r + r + g + g + b + b)
10+
.substring(1)
11+
.match(/.{2}/g)
12+
.map((x) => parseInt(x, 16));
13+
}

lib/converts/rgbToHex.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
* Converts an RGB color value to a hexadecimal string.
3+
*
4+
* @param {number} r
5+
* @param {number} g
6+
* @param {number} b
7+
* @returns {string}
8+
*/
9+
export default function rgbToHex(r: number, g: number, b: number): string;

lib/converts/rgbToHex.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* Converts an RGB color value to a hexadecimal string.
3+
*
4+
* @param {number} r
5+
* @param {number} g
6+
* @param {number} b
7+
* @returns {string}
8+
*/
9+
export default function rgbToHex(r, g, b) {
10+
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
11+
}

lib/converts/rgbToHsl.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/**
2+
*
3+
* @param r
4+
* @param g
5+
* @param b
6+
* @returns
7+
*/
8+
export default function rgbToHsl(r: number, g: number, b: number): number[];

lib/converts/rgbToHsl.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
*
3+
* @param r
4+
* @param g
5+
* @param b
6+
* @returns
7+
*/
8+
export default function rgbToHsl(r, g, b) {
9+
(r /= 255), (g /= 255), (b /= 255);
10+
var max = Math.max(r, g, b), min = Math.min(r, g, b);
11+
var h, s, l = (max + min) / 2;
12+
if (max == min) {
13+
h = s = 0;
14+
}
15+
else {
16+
var d = max - min;
17+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
18+
switch (max) {
19+
case r:
20+
h = (g - b) / d + (g < b ? 6 : 0);
21+
break;
22+
case g:
23+
h = (b - r) / d + 2;
24+
break;
25+
case b:
26+
h = (r - g) / d + 4;
27+
break;
28+
}
29+
h /= 6;
30+
}
31+
return [h, s, l];
32+
}

lib/dom/select.d.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* returns the number of Seconds in a given age
3+
*
4+
* @param {string} element
5+
* @returns {number}
6+
*/
7+
export default function select(element: string): any;

lib/dom/select.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* returns the number of Seconds in a given age
3+
*
4+
* @param {string} element
5+
* @returns {number}
6+
*/
7+
export default function select(element) {
8+
if (typeof element !== "string") {
9+
throw new TypeError("Expected a string but got " + typeof element);
10+
}
11+
return document.querySelector(element);
12+
}

lib/main.d.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ import randomColor from "./randoms/randomColor";
2222
import randomHsl from "./randoms/randomHsl";
2323
import isHappyNumber from "./numbers/isHappyNumber";
2424
import randomPassword from "./randoms/randomPassword";
25+
import rgbToHex from "./converts/rgbToHex";
26+
import hexToRgb from "./converts/hexToRgb";
27+
import rgbToHsl from "./converts/rgbToHsl";
28+
import removeInnerSpace from "./strings/removeInnerSpace";
29+
import getBrowser from "./user/getBrowser";
30+
import getMonths from "./user/getMonths";
31+
import getWeeks from "./user/getWeeks";
32+
import getDays from "./user/getDays";
33+
import getHours from "./user/getHours";
34+
import getMinutes from "./user/getMinutes";
35+
import getSeconds from "./user/getSeconds";
36+
import select from "./dom/select";
2537
declare const functionality: {
2638
sumOfArray: typeof sumOfArray;
2739
capitalize: typeof capitalize;
@@ -47,6 +59,18 @@ declare const functionality: {
4759
randomHsl: typeof randomHsl;
4860
isHappyNumber: typeof isHappyNumber;
4961
randomPassword: typeof randomPassword;
62+
rgbToHex: typeof rgbToHex;
63+
hexToRgb: typeof hexToRgb;
64+
rgbToHsl: typeof rgbToHsl;
65+
removeInnerSpace: typeof removeInnerSpace;
66+
getBrowser: typeof getBrowser;
67+
getMonths: typeof getMonths;
68+
getWeeks: typeof getWeeks;
69+
getDays: typeof getDays;
70+
getHours: typeof getHours;
71+
getSeconds: typeof getSeconds;
72+
getMinutes: typeof getMinutes;
73+
select: typeof select;
5074
};
5175
declare global {
5276
interface Window {

lib/main.js

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@ import randomColor from "./randoms/randomColor";
2222
import randomHsl from "./randoms/randomHsl";
2323
import isHappyNumber from "./numbers/isHappyNumber";
2424
import randomPassword from "./randoms/randomPassword";
25+
import rgbToHex from "./converts/rgbToHex";
26+
import hexToRgb from "./converts/hexToRgb";
27+
import rgbToHsl from "./converts/rgbToHsl";
28+
// import hexToHsl from "./converts/hexToHsl";
29+
// import hslToHex from "./converts/hslToHex";
30+
// import hslToRgb from "./converts/hslToRgb";
31+
import removeInnerSpace from "./strings/removeInnerSpace";
32+
import getBrowser from "./user/getBrowser";
33+
import getMonths from "./user/getMonths";
34+
import getWeeks from "./user/getWeeks";
35+
import getDays from "./user/getDays";
36+
import getHours from "./user/getHours";
37+
import getMinutes from "./user/getMinutes";
38+
import getSeconds from "./user/getSeconds";
39+
import select from "./dom/select";
2540
const functionality = {
2641
sumOfArray,
2742
capitalize,
@@ -47,7 +62,18 @@ const functionality = {
4762
randomHsl,
4863
isHappyNumber,
4964
randomPassword,
65+
rgbToHex,
66+
hexToRgb,
67+
rgbToHsl,
68+
removeInnerSpace,
69+
getBrowser,
70+
getMonths,
71+
getWeeks,
72+
getDays,
73+
getHours,
74+
getSeconds,
75+
getMinutes,
76+
select,
5077
};
5178
window.functionality = functionality;
52-
// export * from "./sumOfArray";
5379
export default functionality;

0 commit comments

Comments
 (0)