umt 1.6.2 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +3 -0
  2. package/module/Advance/rangeAdvance.d.ts +1 -1
  3. package/module/Advance/rangeAdvance.js.map +1 -1
  4. package/module/Array/drop.d.ts +13 -0
  5. package/module/Array/drop.js +35 -0
  6. package/module/Array/drop.js.map +1 -0
  7. package/module/Array/index.d.ts +1 -0
  8. package/module/Array/index.js +1 -0
  9. package/module/Array/index.js.map +1 -1
  10. package/module/Array/quickSort.d.ts +2 -0
  11. package/module/Array/quickSort.js +2 -0
  12. package/module/Array/quickSort.js.map +1 -1
  13. package/module/Array/range.js.map +1 -1
  14. package/module/Array/shuffle.js +6 -4
  15. package/module/Array/shuffle.js.map +1 -1
  16. package/module/Color/cmykToRgba.d.ts +12 -0
  17. package/module/Color/cmykToRgba.js +41 -0
  18. package/module/Color/cmykToRgba.js.map +1 -0
  19. package/module/Color/hexaToRgba.d.ts +12 -0
  20. package/module/Color/hexaToRgba.js +20 -0
  21. package/module/Color/hexaToRgba.js.map +1 -0
  22. package/module/Color/hslaToRgba.d.ts +15 -0
  23. package/module/Color/hslaToRgba.js +76 -0
  24. package/module/Color/hslaToRgba.js.map +1 -0
  25. package/module/Color/index.d.ts +6 -0
  26. package/module/Color/index.js +7 -0
  27. package/module/Color/index.js.map +1 -0
  28. package/module/Color/rgbaToCmyk.d.ts +18 -0
  29. package/module/Color/rgbaToCmyk.js +26 -0
  30. package/module/Color/rgbaToCmyk.js.map +1 -0
  31. package/module/Color/rgbaToHexA.d.ts +12 -0
  32. package/module/Color/rgbaToHexA.js +25 -0
  33. package/module/Color/rgbaToHexA.js.map +1 -0
  34. package/module/Color/rgbaToHsla.d.ts +17 -0
  35. package/module/Color/rgbaToHsla.js +48 -0
  36. package/module/Color/rgbaToHsla.js.map +1 -0
  37. package/module/Date/birthday.d.ts +11 -0
  38. package/module/Date/birthday.js +21 -0
  39. package/module/Date/birthday.js.map +1 -0
  40. package/module/Date/dateRange.js.map +1 -1
  41. package/module/Date/dayOfWeek.d.ts +14 -0
  42. package/module/Date/dayOfWeek.js +17 -0
  43. package/module/Date/dayOfWeek.js.map +1 -0
  44. package/module/Date/getDay.d.ts +2 -1
  45. package/module/Date/getDay.js +1 -0
  46. package/module/Date/getDay.js.map +1 -1
  47. package/module/Date/index.d.ts +2 -0
  48. package/module/Date/index.js +2 -0
  49. package/module/Date/index.js.map +1 -1
  50. package/module/Error/result.js.map +1 -1
  51. package/module/Math/calculator/calculatorInitialization.d.ts +1 -1
  52. package/module/Math/degToRad.js +3 -1
  53. package/module/Math/degToRad.js.map +1 -1
  54. package/module/Math/lcm.js +3 -4
  55. package/module/Math/lcm.js.map +1 -1
  56. package/module/Math/mathConverter.js +17 -28
  57. package/module/Math/mathConverter.js.map +1 -1
  58. package/module/Math/mathSeparator.js +14 -13
  59. package/module/Math/mathSeparator.js.map +1 -1
  60. package/module/Math/multiples.js.map +1 -1
  61. package/module/Math/radToDeg.js +2 -1
  62. package/module/Math/radToDeg.js.map +1 -1
  63. package/module/Simple/Date/birthdaySimple.d.ts +19 -0
  64. package/module/Simple/Date/birthdaySimple.js +31 -0
  65. package/module/Simple/Date/birthdaySimple.js.map +1 -0
  66. package/module/Simple/Date/dayOfWeekSimple.d.ts +20 -0
  67. package/module/Simple/Date/dayOfWeekSimple.js +34 -0
  68. package/module/Simple/Date/dayOfWeekSimple.js.map +1 -0
  69. package/module/Simple/Date/index.d.ts +2 -0
  70. package/module/Simple/Date/index.js +2 -0
  71. package/module/Simple/Date/index.js.map +1 -1
  72. package/module/Simple/Math/deviationValueSimple.d.ts +13 -0
  73. package/module/Simple/Math/deviationValueSimple.js +19 -0
  74. package/module/Simple/Math/deviationValueSimple.js.map +1 -0
  75. package/module/Simple/Math/index.d.ts +1 -0
  76. package/module/Simple/Math/index.js +2 -0
  77. package/module/Simple/Math/index.js.map +1 -0
  78. package/module/Simple/index.d.ts +1 -1
  79. package/module/Simple/index.js +1 -1
  80. package/module/String/deleteSpaces.d.ts +7 -0
  81. package/module/String/deleteSpaces.js +10 -0
  82. package/module/String/deleteSpaces.js.map +1 -0
  83. package/module/String/index.d.ts +1 -0
  84. package/module/String/index.js +1 -0
  85. package/module/String/index.js.map +1 -1
  86. package/module/String/randomString.d.ts +1 -1
  87. package/module/String/randomString.js +1 -1
  88. package/module/String/randomString.js.map +1 -1
  89. package/module/String/randomStringInitialization.js +1 -1
  90. package/module/Tool/index.d.ts +0 -9
  91. package/module/Tool/index.js +0 -9
  92. package/module/Tool/index.js.map +1 -1
  93. package/module/Validate/isBrowser.d.ts +0 -3
  94. package/module/Validate/isBrowser.js +8 -1
  95. package/module/Validate/isBrowser.js.map +1 -1
  96. package/module/Validate/isNode.js +8 -1
  97. package/module/Validate/isNode.js.map +1 -1
  98. package/module/index.d.ts +1 -0
  99. package/module/index.js +1 -0
  100. package/module/index.js.map +1 -1
  101. package/package.json +13 -13
package/README.md CHANGED
@@ -1,8 +1,11 @@
1
1
  # UMT Main Package
2
2
 
3
3
  Amemiya Riyaの便利関数集
4
+
4
5
  UMT = Useful My Tools
6
+
5
7
  アプデで破壊的変更がある可能性があります。
8
+
6
9
  Main Packageに依存関係はありません。
7
10
 
8
11
  ## 実装方針
@@ -6,5 +6,5 @@
6
6
  * @returns 条件式を満たす数値の配列
7
7
  * @example rangeAdvance(1, 10, (number) => number % 2 === 0); // [2, 4, 6, 8]
8
8
  */
9
- declare const rangeAdvance: (start: number, end?: number, conditionalExpression?: ((number_: number) => boolean) | undefined) => number[];
9
+ declare const rangeAdvance: (start: number, end?: number, conditionalExpression?: (number_: number) => boolean) => number[];
10
10
  export { rangeAdvance };
@@ -1 +1 @@
1
- {"version":3,"file":"rangeAdvance.js","sourceRoot":"","sources":["../../src/Advance/rangeAdvance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,CACnB,KAAa,EACb,GAAY,EACZ,qBAAoD,EAC1C,EAAE;IACZ,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAI,GAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,qBAAqB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AACF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"rangeAdvance.js","sourceRoot":"","sources":["../../src/Advance/rangeAdvance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,CACnB,KAAa,EACb,GAAY,EACZ,qBAAoD,EAC1C,EAAE;IACZ,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAI,GAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,qBAAqB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AACF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 配列の先頭からn個の要素を除外した新しい配列を返します。
3
+ * @param {T[]} array 対象の配列
4
+ * @param {number} n 除外する要素の数
5
+ * @param {"left" | "right" | "between"} direction 除外する方向
6
+ * @returns n個の要素を除外した新しい配列
7
+ *
8
+ * @example drop([1, 2, 3, 4, 5], 2); // [3, 4, 5]
9
+ * @example drop([1, 2, 3, 4, 5], 2, "left"); // [3, 4, 5]
10
+ * @example drop([1, 2, 3, 4, 5], 2, "right"); // [1, 2, 3]
11
+ * @example drop([1, 2, 3, 4, 5], 1, "between"); // [1, 2, 4, 5]
12
+ */
13
+ export declare const drop: <T>(array: T[], n?: number, direction?: "left" | "right" | "between") => T[];
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 配列の先頭からn個の要素を除外した新しい配列を返します。
3
+ * @param {T[]} array 対象の配列
4
+ * @param {number} n 除外する要素の数
5
+ * @param {"left" | "right" | "between"} direction 除外する方向
6
+ * @returns n個の要素を除外した新しい配列
7
+ *
8
+ * @example drop([1, 2, 3, 4, 5], 2); // [3, 4, 5]
9
+ * @example drop([1, 2, 3, 4, 5], 2, "left"); // [3, 4, 5]
10
+ * @example drop([1, 2, 3, 4, 5], 2, "right"); // [1, 2, 3]
11
+ * @example drop([1, 2, 3, 4, 5], 1, "between"); // [1, 2, 4, 5]
12
+ */
13
+ export const drop = (array, n = 1, direction = "left") => {
14
+ if (n < 0) {
15
+ return array;
16
+ }
17
+ switch (direction) {
18
+ case "left": {
19
+ return array.slice(n);
20
+ }
21
+ case "right": {
22
+ return array.slice(0, array.length - n);
23
+ }
24
+ case "between": {
25
+ const mid = Math.floor(array.length / 2);
26
+ const start = mid - Math.floor(n / 2);
27
+ const end = mid + Math.ceil(n / 2);
28
+ return [...array.slice(0, start), ...array.slice(end)];
29
+ }
30
+ default: {
31
+ return array.slice(n);
32
+ }
33
+ }
34
+ };
35
+ //# sourceMappingURL=drop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../src/Array/drop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,KAAU,EACV,CAAC,GAAG,CAAC,EACL,YAA0C,MAAM,EAC3C,EAAE;IACP,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from "./arraysJoin";
2
2
  export * from "./checkFlagAlignment";
3
3
  export * from "./chunk";
4
+ export * from "./drop";
4
5
  export * from "./getArraysCommon";
5
6
  export * from "./getArraysDiff";
6
7
  export * from "./groupBy";
@@ -1,6 +1,7 @@
1
1
  export * from "./arraysJoin";
2
2
  export * from "./checkFlagAlignment";
3
3
  export * from "./chunk";
4
+ export * from "./drop";
4
5
  export * from "./getArraysCommon";
5
6
  export * from "./getArraysDiff";
6
7
  export * from "./groupBy";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Array/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Array/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC"}
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * 配列を高速にソート
3
+ * QuickSortとInsertionSortを組み合わせたアルゴリズムで配列を高速にソートします
3
4
  * @param {T[]} array 配列
4
5
  * @param {(a: T, b: T) => number} compareFn 比較関数
5
6
  * @param {number} startID 開始インデックス
6
7
  * @param {number} endID 終了インデックス
8
+ * @param {number} insertionSortThreshold 挿入ソートの閾値
7
9
  * @returns T[]
8
10
  * @example quickSort([1, 3, 2, 4, 5], (a, b) => a - b); // [1, 2, 3, 4, 5]
9
11
  */
@@ -16,10 +16,12 @@ const medianOfThree = (array, a, b, c, compareFunction) => {
16
16
  };
17
17
  /**
18
18
  * 配列を高速にソート
19
+ * QuickSortとInsertionSortを組み合わせたアルゴリズムで配列を高速にソートします
19
20
  * @param {T[]} array 配列
20
21
  * @param {(a: T, b: T) => number} compareFn 比較関数
21
22
  * @param {number} startID 開始インデックス
22
23
  * @param {number} endID 終了インデックス
24
+ * @param {number} insertionSortThreshold 挿入ソートの閾値
23
25
  * @returns T[]
24
26
  * @example quickSort([1, 3, 2, 4, 5], (a, b) => a - b); // [1, 2, 3, 4, 5]
25
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"quickSort.js","sourceRoot":"","sources":["../../src/Array/quickSort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickSort.js","sourceRoot":"","sources":["../../src/Array/quickSort.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/Array/range.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAY,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/Array/range.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAY,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -8,10 +8,12 @@ export const shuffle = (array) => {
8
8
  const shuffledArray = [...array];
9
9
  for (let index = shuffledArray.length - 1; index > 0; index--) {
10
10
  const index_ = Math.floor(Math.random() * (index + 1));
11
- [shuffledArray[index], shuffledArray[index_]] = [
12
- shuffledArray[index_],
13
- shuffledArray[index],
14
- ];
11
+ if (index !== index_) {
12
+ [shuffledArray[index], shuffledArray[index_]] = [
13
+ shuffledArray[index_],
14
+ shuffledArray[index],
15
+ ];
16
+ }
15
17
  }
16
18
  return shuffledArray;
17
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../src/Array/shuffle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,KAAU,EAAO,EAAE;IAC5C,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG;YAC9C,aAAa,CAAC,MAAM,CAAC;YACrB,aAAa,CAAC,KAAK,CAAC;SACrB,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../src/Array/shuffle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,KAAU,EAAO,EAAE;IAC5C,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG;gBAC9C,aAAa,CAAC,MAAM,CAAC;gBACrB,aAAa,CAAC,KAAK,CAAC;aACrB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * cmykをrgbaに変換する
3
+ * @param cmyk
4
+ * @returns { r: number; g: number; b: number; a: number; }
5
+ * @example cmykToRgba(100, 100, 0, 60.78) // { r: 0, g: 0, b: 100, a: 1 }
6
+ */
7
+ export declare const cmykToRgba: (c: number, m: number, y: number, k: number, a?: number) => {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a: number;
12
+ };
@@ -0,0 +1,41 @@
1
+ import { division } from "../Math/division";
2
+ import { max } from "../Math/max";
3
+ import { min } from "../Math/min";
4
+ import { multiplication } from "../Math/multiplication";
5
+ import { roundOf } from "../Math/roundOf";
6
+ import { subtract } from "../Math/subtract";
7
+ /**
8
+ * cmykをrgbaに変換する
9
+ * @param cmyk
10
+ * @returns { r: number; g: number; b: number; a: number; }
11
+ * @example cmykToRgba(100, 100, 0, 60.78) // { r: 0, g: 0, b: 100, a: 1 }
12
+ */
13
+ export const cmykToRgba = (c, m, y, k, a = 1) => {
14
+ // CMYKの値を0から100の範囲に制限
15
+ const clampedC = max(0, min(100, c));
16
+ const clampedM = max(0, min(100, m));
17
+ const clampedY = max(0, min(100, y));
18
+ const clampedK = max(0, min(100, k));
19
+ // CMYKの値を0から1の範囲に変換
20
+ const cPercentage = division(clampedC, 100);
21
+ const mPercentage = division(clampedM, 100);
22
+ const yPercentage = division(clampedY, 100);
23
+ const kPercentage = division(clampedK, 100);
24
+ // RGBの値を計算
25
+ const r = multiplication(255, subtract(1, cPercentage), subtract(1, kPercentage));
26
+ const g = multiplication(255, subtract(1, mPercentage), subtract(1, kPercentage));
27
+ const b = multiplication(255, subtract(1, yPercentage), subtract(1, kPercentage));
28
+ // RGBの値を0から255の範囲に丸める
29
+ const roundedR = roundOf(r);
30
+ const roundedG = roundOf(g);
31
+ const roundedB = roundOf(b);
32
+ // アルファ値を0から1の範囲に制限
33
+ const clampedA = max(0, min(1, a));
34
+ return {
35
+ r: roundedR,
36
+ g: roundedG,
37
+ b: roundedB,
38
+ a: clampedA,
39
+ };
40
+ };
41
+ //# sourceMappingURL=cmykToRgba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmykToRgba.js","sourceRoot":"","sources":["../../src/Color/cmykToRgba.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAC,GAAG,CAAC,EAC2C,EAAE;IAClD,sBAAsB;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAErC,oBAAoB;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE5C,WAAW;IACX,MAAM,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,EACxB,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CACzB,CAAC;IACF,MAAM,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,EACxB,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CACzB,CAAC;IACF,MAAM,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,EACxB,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CACzB,CAAC;IAEF,sBAAsB;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,mBAAmB;IACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO;QACL,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * hexaをrgbaに変換する
3
+ * @param hex
4
+ * @returns { r: number; g: number; b: number; a: number; }
5
+ * @example hexToRgba("#00000000") // { r: 0, g: 0, b: 0, a: 0 }
6
+ */
7
+ export declare const hexaToRgba: (hex: string) => {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a: number;
12
+ };
@@ -0,0 +1,20 @@
1
+ import { division } from "../Math/division";
2
+ /**
3
+ * hexaをrgbaに変換する
4
+ * @param hex
5
+ * @returns { r: number; g: number; b: number; a: number; }
6
+ * @example hexToRgba("#00000000") // { r: 0, g: 0, b: 0, a: 0 }
7
+ */
8
+ export const hexaToRgba = (hex) => {
9
+ // hex形式かどうかのチェック
10
+ if (/^#([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i.test(hex) === false) {
11
+ throw new Error("Invalid hex code");
12
+ }
13
+ const hexCode = hex.replace("#", "");
14
+ const r = Number.parseInt(hexCode.slice(0, 2), 16);
15
+ const g = Number.parseInt(hexCode.slice(2, 4), 16);
16
+ const b = Number.parseInt(hexCode.slice(4, 6), 16);
17
+ const a = division(Number.parseInt(hexCode.slice(6, 8), 16), 255);
18
+ return { r, g, b, a: Number.isNaN(a) ? 1 : a };
19
+ };
20
+ //# sourceMappingURL=hexaToRgba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexaToRgba.js","sourceRoot":"","sources":["../../src/Color/hexaToRgba.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,GAAW,EAMX,EAAE;IACF,iBAAiB;IACjB,IAAI,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * hslaをrgbaに変換する
3
+ * @param h 色相 (0から360の範囲)
4
+ * @param s 彩度 (0から100の範囲)
5
+ * @param l 明度 (0から100の範囲)
6
+ * @param a アルファ値 (0から1の範囲)
7
+ * @returns { r: number; g: number; b: number; a: number; }
8
+ * @example hslaToRgba(120, 50, 50, 1) // { r: 64, g: 191, b: 64, a: 1 }
9
+ */
10
+ export declare const hslaToRgba: (h: number, s: number, l: number, a?: number) => {
11
+ r: number;
12
+ g: number;
13
+ b: number;
14
+ a: number;
15
+ };
@@ -0,0 +1,76 @@
1
+ import { addition } from "../Math/addition";
2
+ import { division } from "../Math/division";
3
+ import { max } from "../Math/max";
4
+ import { min } from "../Math/min";
5
+ import { multiplication } from "../Math/multiplication";
6
+ import { roundOf } from "../Math/roundOf";
7
+ import { subtract } from "../Math/subtract";
8
+ /**
9
+ * hslaをrgbaに変換する
10
+ * @param h 色相 (0から360の範囲)
11
+ * @param s 彩度 (0から100の範囲)
12
+ * @param l 明度 (0から100の範囲)
13
+ * @param a アルファ値 (0から1の範囲)
14
+ * @returns { r: number; g: number; b: number; a: number; }
15
+ * @example hslaToRgba(120, 50, 50, 1) // { r: 64, g: 191, b: 64, a: 1 }
16
+ */
17
+ export const hslaToRgba = (h, s, l, a = 1) => {
18
+ if (h < 0 ||
19
+ h > 360 ||
20
+ s < 0 ||
21
+ s > 100 ||
22
+ l < 0 ||
23
+ l > 100 ||
24
+ a < 0 ||
25
+ a > 1) {
26
+ return { r: 0, g: 0, b: 0, a: 1 };
27
+ }
28
+ const hue = division(division(h, 360, false)[1], 360);
29
+ const saturation = division(max(0, min(s, 100)), 100);
30
+ const lightness = division(max(0, min(l, 100)), 100);
31
+ let r = 0;
32
+ let g = 0;
33
+ let b = 0;
34
+ if (saturation === 0) {
35
+ r = g = b = lightness;
36
+ }
37
+ else {
38
+ const hueToRgb = (p, q, t) => {
39
+ let tAdjusted = t;
40
+ if (t < 0) {
41
+ tAdjusted = addition(t, 1);
42
+ }
43
+ if (t > 1) {
44
+ tAdjusted = subtract(t, 1);
45
+ }
46
+ if (tAdjusted < division(1, 6)) {
47
+ return addition(p, multiplication(subtract(q, p), multiplication(6, tAdjusted)));
48
+ }
49
+ if (tAdjusted < division(1, 2)) {
50
+ return q;
51
+ }
52
+ if (tAdjusted < division(2, 3)) {
53
+ return addition(p, multiplication(subtract(q, p), multiplication(subtract(division(2, 3, true), tAdjusted), 6)));
54
+ }
55
+ return p;
56
+ };
57
+ const q = lightness < 0.5
58
+ ? multiplication(lightness, addition(1, saturation))
59
+ : subtract(addition(lightness, saturation), multiplication(lightness, saturation));
60
+ const p = subtract(multiplication(2, lightness), q);
61
+ r = hueToRgb(p, q, addition(hue, division(1, 3)));
62
+ g = hueToRgb(p, q, hue);
63
+ b = hueToRgb(p, q, subtract(hue, division(1, 3)));
64
+ }
65
+ const roundedR = roundOf(multiplication(r, 255), 2);
66
+ const roundedG = roundOf(multiplication(g, 255), 2);
67
+ const roundedB = roundOf(multiplication(b, 255), 2);
68
+ const clampedA = max(0, min(1, a));
69
+ return {
70
+ r: roundedR,
71
+ g: roundedG,
72
+ b: roundedB,
73
+ a: clampedA,
74
+ };
75
+ };
76
+ //# sourceMappingURL=hslaToRgba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hslaToRgba.js","sourceRoot":"","sources":["../../src/Color/hslaToRgba.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./cmykToRgba";
2
+ export * from "./hexaToRgba";
3
+ export * from "./hslaToRgba";
4
+ export * from "./rgbaToCmyk";
5
+ export * from "./rgbaToHexA";
6
+ export * from "./rgbaToHsla";
@@ -0,0 +1,7 @@
1
+ export * from "./cmykToRgba";
2
+ export * from "./hexaToRgba";
3
+ export * from "./hslaToRgba";
4
+ export * from "./rgbaToCmyk";
5
+ export * from "./rgbaToHexA";
6
+ export * from "./rgbaToHsla";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Color/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * rgbaをcmykに変換する
3
+ * @param rgba
4
+ * @returns { c: number, m: number, y: number, k: number, a: number }
5
+ * @example rgbaToCmyk({ r: 0, g: 0, b: 0, a: 1 }); // { c: 0, m: 0, y: 0, k: 100, a: 1 }
6
+ */
7
+ export declare const rgbaToCmyk: ({ r, g, b, a, }: {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a?: number;
12
+ }) => {
13
+ c: number;
14
+ m: number;
15
+ y: number;
16
+ k: number;
17
+ a: number;
18
+ };
@@ -0,0 +1,26 @@
1
+ import { division } from "../Math/division";
2
+ import { roundOf } from "../Math/roundOf";
3
+ import { subtract } from "../Math/subtract";
4
+ /**
5
+ * rgbaをcmykに変換する
6
+ * @param rgba
7
+ * @returns { c: number, m: number, y: number, k: number, a: number }
8
+ * @example rgbaToCmyk({ r: 0, g: 0, b: 0, a: 1 }); // { c: 0, m: 0, y: 0, k: 100, a: 1 }
9
+ */
10
+ export const rgbaToCmyk = ({ r, g, b, a = 1, }) => {
11
+ const rPrime = division(r, 255);
12
+ const gPrime = division(g, 255);
13
+ const bPrime = division(b, 255);
14
+ const k = subtract(1, Math.max(rPrime, gPrime, bPrime));
15
+ const c = division(subtract(subtract(1, rPrime), k), subtract(1, k)) || 0;
16
+ const m = division(subtract(subtract(1, gPrime), k), subtract(1, k)) || 0;
17
+ const y = division(subtract(subtract(1, bPrime), k), subtract(1, k)) || 0;
18
+ return {
19
+ c: roundOf(c * 100, 2),
20
+ m: roundOf(m * 100, 2),
21
+ y: roundOf(y * 100, 2),
22
+ k: roundOf(k * 100, 2),
23
+ a,
24
+ };
25
+ };
26
+ //# sourceMappingURL=rgbaToCmyk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbaToCmyk.js","sourceRoot":"","sources":["../../src/Color/rgbaToCmyk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,GAAG,CAAC,GAMN,EAA6D,EAAE;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEhC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1E,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * rgbaを16進数に変換
3
+ * @param rgba
4
+ * @returns {string} 16進数の色コード
5
+ * @example rgbaToHexA({ r: 0, g: 0, b: 0, a: 1 }); // "#000000"
6
+ */
7
+ export declare const rgbaToHexA: ({ r, g, b, a, }: {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a?: number;
12
+ }) => string;
@@ -0,0 +1,25 @@
1
+ const hex = (x) => {
2
+ const hexCode = x.toString(16);
3
+ return hexCode.length === 1 ? `0${hexCode}` : hexCode;
4
+ };
5
+ /**
6
+ * rgbaを16進数に変換
7
+ * @param rgba
8
+ * @returns {string} 16進数の色コード
9
+ * @example rgbaToHexA({ r: 0, g: 0, b: 0, a: 1 }); // "#000000"
10
+ */
11
+ export const rgbaToHexA = ({ r, g, b, a = 1, }) => {
12
+ // rgba形式かどうかのチェック
13
+ if (r < 0 ||
14
+ r > 255 ||
15
+ g < 0 ||
16
+ g > 255 ||
17
+ b < 0 ||
18
+ b > 255 ||
19
+ a < 0 ||
20
+ a > 1) {
21
+ throw new Error("Invalid rgba value");
22
+ }
23
+ return `#${hex(r)}${hex(g)}${hex(b)}${hex(Math.round(a * 255))}`;
24
+ };
25
+ //# sourceMappingURL=rgbaToHexA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbaToHexA.js","sourceRoot":"","sources":["../../src/Color/rgbaToHexA.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACxD,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,GAAG,CAAC,GAMN,EAAU,EAAE;IACX,kBAAkB;IAClB,IACE,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,GAAG;QACP,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,GAAG;QACP,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,GAAG;QACP,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC,EACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * rgbaをhslaに変換する
3
+ * @param rgba
4
+ * @returns { h: number; s: number; l: number; a: number; }
5
+ * @example rgbaToHsla({ r: 100, g: 100, b: 100, a: 1 }); // { h: 0, s: 0, l: 39.22, a: 1 }
6
+ */
7
+ export declare const rgbaToHsla: ({ r, g, b, a, }: {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a?: number;
12
+ }) => {
13
+ h: number;
14
+ s: number;
15
+ l: number;
16
+ a: number;
17
+ };
@@ -0,0 +1,48 @@
1
+ import { addition } from "../Math/addition";
2
+ import { division } from "../Math/division";
3
+ import { multiplication } from "../Math/multiplication";
4
+ import { roundOf } from "../Math/roundOf";
5
+ import { subtract } from "../Math/subtract";
6
+ /**
7
+ * rgbaをhslaに変換する
8
+ * @param rgba
9
+ * @returns { h: number; s: number; l: number; a: number; }
10
+ * @example rgbaToHsla({ r: 100, g: 100, b: 100, a: 1 }); // { h: 0, s: 0, l: 39.22, a: 1 }
11
+ */
12
+ export const rgbaToHsla = ({ r, g, b, a = 1, }) => {
13
+ const rPrime = division(r, 255);
14
+ const gPrime = division(g, 255);
15
+ const bPrime = division(b, 255);
16
+ const max = Math.max(rPrime, gPrime, bPrime);
17
+ const min = Math.min(rPrime, gPrime, bPrime);
18
+ const diff = subtract(max, min);
19
+ let h = 0;
20
+ const l = division(addition(max, min), 2);
21
+ const s = diff === 0
22
+ ? 0
23
+ : division(diff, subtract(1, Math.abs(subtract(addition(max, min), 1))));
24
+ if (diff !== 0) {
25
+ switch (max) {
26
+ case rPrime: {
27
+ h = addition(division(subtract(gPrime, bPrime), diff), gPrime < bPrime ? 6 : 0);
28
+ break;
29
+ }
30
+ case gPrime: {
31
+ h = addition(division(subtract(bPrime, rPrime), diff), 2);
32
+ break;
33
+ }
34
+ case bPrime: {
35
+ h = addition(division(subtract(rPrime, gPrime), diff), 4);
36
+ break;
37
+ }
38
+ }
39
+ h = multiplication(h, 60);
40
+ }
41
+ return {
42
+ h: roundOf(h, 2),
43
+ s: roundOf(s * 100, 2),
44
+ l: roundOf(l * 100, 2),
45
+ a,
46
+ };
47
+ };
48
+ //# sourceMappingURL=rgbaToHsla.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgbaToHsla.js","sourceRoot":"","sources":["../../src/Color/rgbaToHsla.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,GAAG,CAAC,GAMN,EAAkD,EAAE;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,GACL,IAAI,KAAK,CAAC;QACR,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,GAAG,QAAQ,CACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EACxC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;QACH,CAAC;QACD,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { hoursTypeInt } from "../types/clockType";
2
+ import type { dayTypeInt, monTypeInt } from "../types/dateType";
3
+ /**
4
+ * @param {number} year
5
+ * @param {number} mon
6
+ * @param {number} day
7
+ * @param {number} [timeDifference=9] 時差
8
+ * @returns number 年齢
9
+ * @example birthday(2000, 1, 1); // 21
10
+ */
11
+ export declare const birthday: <T extends monTypeInt>(year: number, mon: T, day: dayTypeInt<T>, timeDifference?: hoursTypeInt) => number;
@@ -0,0 +1,21 @@
1
+ import { newDateInt } from "../Date";
2
+ import { now } from "../Date/now";
3
+ /**
4
+ * @param {number} year
5
+ * @param {number} mon
6
+ * @param {number} day
7
+ * @param {number} [timeDifference=9] 時差
8
+ * @returns number 年齢
9
+ * @example birthday(2000, 1, 1); // 21
10
+ */
11
+ export const birthday = (year, mon, day, timeDifference = 9) => {
12
+ const birthdayDate = new Date(newDateInt(year, mon, day));
13
+ const nowTime = now(timeDifference);
14
+ const y = nowTime.getFullYear() - birthdayDate.getFullYear();
15
+ const r = nowTime <
16
+ newDateInt(nowTime.getFullYear(), (birthdayDate.getMonth() - 1), birthdayDate.getDay())
17
+ ? y - 1
18
+ : y;
19
+ return year < 100 ? 1900 + y : r;
20
+ };
21
+ //# sourceMappingURL=birthday.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"birthday.js","sourceRoot":"","sources":["../../src/Date/birthday.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAY,EACZ,GAAM,EACN,GAAkB,EAClB,iBAA+B,CAAC,EAChC,EAAE;IACF,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,CAAC,GACL,OAAO;QACP,UAAU,CACR,OAAO,CAAC,WAAW,EAAE,EACrB,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAe,EAC3C,YAAY,CAAC,MAAM,EAAmB,CACvC;QACC,CAAC,CAAC,CAAC,GAAG,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACR,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dateRange.js","sourceRoot":"","sources":["../../src/Date/dateRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAe,EAAE,OAAa,EAAU,EAAE;IAClE,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,OAAO,WAAW,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"dateRange.js","sourceRoot":"","sources":["../../src/Date/dateRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAe,EAAE,OAAa,EAAU,EAAE;IAClE,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,OAAO,WAAW,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}