umt 1.7.2 → 1.8.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 (112) hide show
  1. package/module/Array/first.d.ts +7 -0
  2. package/module/Array/first.js +10 -0
  3. package/module/Array/first.js.map +1 -0
  4. package/module/Array/generateNumberArray.d.ts +11 -0
  5. package/module/Array/generateNumberArray.js +27 -0
  6. package/module/Array/generateNumberArray.js.map +1 -0
  7. package/module/Array/index.d.ts +3 -0
  8. package/module/Array/index.js +3 -0
  9. package/module/Array/index.js.map +1 -1
  10. package/module/Array/randomSelect.d.ts +9 -0
  11. package/module/Array/randomSelect.js +22 -0
  12. package/module/Array/randomSelect.js.map +1 -0
  13. package/module/Date/format.d.ts +7 -0
  14. package/module/Date/format.js +48 -0
  15. package/module/Date/format.js.map +1 -0
  16. package/module/Date/getTimezoneOffsetString.d.ts +6 -0
  17. package/module/Date/getTimezoneOffsetString.js +14 -0
  18. package/module/Date/getTimezoneOffsetString.js.map +1 -0
  19. package/module/Date/index.d.ts +2 -0
  20. package/module/Date/index.js +2 -0
  21. package/module/Date/index.js.map +1 -1
  22. package/module/Error/index.d.ts +1 -1
  23. package/module/Error/index.js +1 -1
  24. package/module/Error/index.js.map +1 -1
  25. package/module/Error/safeExecute.d.ts +11 -0
  26. package/module/Error/safeExecute.js +14 -0
  27. package/module/Error/safeExecute.js.map +1 -0
  28. package/module/IP/subnetMaskToCidr.js +1 -1
  29. package/module/IP/subnetMaskToCidr.js.map +1 -1
  30. package/module/Math/bitwise.d.ts +13 -0
  31. package/module/Math/bitwise.js +27 -0
  32. package/module/Math/bitwise.js.map +1 -0
  33. package/module/Math/calculator/convertCurrency.d.ts +1 -1
  34. package/module/Math/index.d.ts +3 -1
  35. package/module/Math/index.js +3 -1
  36. package/module/Math/index.js.map +1 -1
  37. package/module/Math/linearCongruentialGenerator.d.ts +11 -0
  38. package/module/Math/linearCongruentialGenerator.js +16 -0
  39. package/module/Math/linearCongruentialGenerator.js.map +1 -0
  40. package/module/Math/uuidv7.d.ts +6 -0
  41. package/module/Math/uuidv7.js +36 -0
  42. package/module/Math/uuidv7.js.map +1 -0
  43. package/module/Math/xoshiro256.d.ts +8 -0
  44. package/module/Math/xoshiro256.js +21 -0
  45. package/module/Math/xoshiro256.js.map +1 -0
  46. package/module/Tool/sudoku.d.ts +103 -0
  47. package/module/Tool/sudoku.js +48 -0
  48. package/module/Tool/sudoku.js.map +1 -0
  49. package/module/Validate/array/core.d.ts +1 -1
  50. package/module/Validate/index.d.ts +1 -0
  51. package/module/Validate/index.js +1 -0
  52. package/module/Validate/index.js.map +1 -1
  53. package/module/Validate/isDouble.d.ts +1 -1
  54. package/module/Validate/isNumber.d.ts +1 -1
  55. package/module/Validate/isValueNaN.d.ts +10 -0
  56. package/module/Validate/isValueNaN.js +14 -0
  57. package/module/Validate/isValueNaN.js.map +1 -0
  58. package/module/Validate/object/core.d.ts +1 -1
  59. package/module/Validate/string/uuid.d.ts +6 -1
  60. package/module/Validate/string/uuid.js +5 -0
  61. package/module/Validate/string/uuid.js.map +1 -1
  62. package/module/types/int.d.ts +5 -2
  63. package/module/types/logicType.d.ts +1 -0
  64. package/package.json +16 -14
  65. package/module/Math/toBinary.d.ts +0 -8
  66. package/module/Math/toBinary.js +0 -11
  67. package/module/Math/toBinary.js.map +0 -1
  68. package/module/Simple/Tool/birthdaySimple.d.ts +0 -19
  69. package/module/Simple/Tool/birthdaySimple.js +0 -31
  70. package/module/Simple/Tool/birthdaySimple.js.map +0 -1
  71. package/module/Simple/Tool/dayOfWeekSimple.d.ts +0 -20
  72. package/module/Simple/Tool/dayOfWeekSimple.js +0 -34
  73. package/module/Simple/Tool/dayOfWeekSimple.js.map +0 -1
  74. package/module/Simple/Tool/deviationValueSimple.d.ts +0 -13
  75. package/module/Simple/Tool/deviationValueSimple.js +0 -19
  76. package/module/Simple/Tool/deviationValueSimple.js.map +0 -1
  77. package/module/Simple/Tool/index.d.ts +0 -3
  78. package/module/Simple/Tool/index.js +0 -4
  79. package/module/Simple/Tool/index.js.map +0 -1
  80. package/module/String/deleteSpace.d.ts +0 -7
  81. package/module/String/deleteSpace.js +0 -10
  82. package/module/String/deleteSpace.js.map +0 -1
  83. package/module/Tool/birthday.d.ts +0 -11
  84. package/module/Tool/birthday.js +0 -21
  85. package/module/Tool/birthday.js.map +0 -1
  86. package/module/Tool/cmykToRgba.d.ts +0 -12
  87. package/module/Tool/cmykToRgba.js +0 -41
  88. package/module/Tool/cmykToRgba.js.map +0 -1
  89. package/module/Tool/dayOfWeek.d.ts +0 -14
  90. package/module/Tool/dayOfWeek.js +0 -17
  91. package/module/Tool/dayOfWeek.js.map +0 -1
  92. package/module/Tool/deleteSpace.d.ts +0 -7
  93. package/module/Tool/deleteSpace.js +0 -10
  94. package/module/Tool/deleteSpace.js.map +0 -1
  95. package/module/Tool/hexToRgba.d.ts +0 -12
  96. package/module/Tool/hexToRgba.js +0 -20
  97. package/module/Tool/hexToRgba.js.map +0 -1
  98. package/module/Tool/hexaToRgba.d.ts +0 -12
  99. package/module/Tool/hexaToRgba.js +0 -20
  100. package/module/Tool/hexaToRgba.js.map +0 -1
  101. package/module/Tool/hslaToRgba.d.ts +0 -15
  102. package/module/Tool/hslaToRgba.js +0 -76
  103. package/module/Tool/hslaToRgba.js.map +0 -1
  104. package/module/Tool/rgbaToCmyk.d.ts +0 -18
  105. package/module/Tool/rgbaToCmyk.js +0 -26
  106. package/module/Tool/rgbaToCmyk.js.map +0 -1
  107. package/module/Tool/rgbaToHexA.d.ts +0 -12
  108. package/module/Tool/rgbaToHexA.js +0 -25
  109. package/module/Tool/rgbaToHexA.js.map +0 -1
  110. package/module/Tool/rgbaToHsla.d.ts +0 -17
  111. package/module/Tool/rgbaToHsla.js +0 -48
  112. package/module/Tool/rgbaToHsla.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 配列の先頭の要素を返す
3
+ * @param array 配列
4
+ * @returns 配列の先頭の要素
5
+ * @example first([1, 2, 3]); // 1
6
+ */
7
+ export declare const first: <T>(array: T[]) => T | undefined;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 配列の先頭の要素を返す
3
+ * @param array 配列
4
+ * @returns 配列の先頭の要素
5
+ * @example first([1, 2, 3]); // 1
6
+ */
7
+ export const first = (array) => {
8
+ return array.length > 0 ? array[0] : undefined;
9
+ };
10
+ //# sourceMappingURL=first.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first.js","sourceRoot":"","sources":["../../src/Array/first.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAI,KAAU,EAAiB,EAAE;IACpD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 指定された要素数まで数値型の配列を生成する
3
+ * @param length 配列の長さ
4
+ * @param min 最小値 (デフォルト: 0)
5
+ * @param max 最大値 (デフォルト: length - 1)
6
+ * @param random ランダムな値を生成するかどうか (デフォルト: false)
7
+ * @returns 数値型の配列
8
+ * @example generateNumberArray(5); // [0, 1, 2, 3, 4]
9
+ * @example generateNumberArray(5, 10, 14); // [10, 11, 12, 13, 14]
10
+ */
11
+ export declare const generateNumberArray: (length: number, min?: number, max?: number, random?: boolean) => number[];
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 指定された要素数まで数値型の配列を生成する
3
+ * @param length 配列の長さ
4
+ * @param min 最小値 (デフォルト: 0)
5
+ * @param max 最大値 (デフォルト: length - 1)
6
+ * @param random ランダムな値を生成するかどうか (デフォルト: false)
7
+ * @returns 数値型の配列
8
+ * @example generateNumberArray(5); // [0, 1, 2, 3, 4]
9
+ * @example generateNumberArray(5, 10, 14); // [10, 11, 12, 13, 14]
10
+ */
11
+ export const generateNumberArray = (length, min = 0, max = length - 1, random = false) => {
12
+ if (length <= 0) {
13
+ return [];
14
+ }
15
+ if (min > max) {
16
+ throw new Error("min should be less than or equal to max");
17
+ }
18
+ if (length === 1) {
19
+ return [min];
20
+ }
21
+ if (random) {
22
+ return Array.from({ length }, () => Math.floor(Math.random() * (max - min + 1)) + min);
23
+ }
24
+ const step = (max - min) / (length - 1);
25
+ return Array.from({ length }, (_, index) => min + index * step);
26
+ };
27
+ //# sourceMappingURL=generateNumberArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateNumberArray.js","sourceRoot":"","sources":["../../src/Array/generateNumberArray.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAc,EACd,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,MAAM,GAAG,CAAC,EAChB,MAAM,GAAG,KAAK,EACJ,EAAE;IACZ,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,IAAI,CACf,EAAE,MAAM,EAAE,EACV,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CACxD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC"}
@@ -2,12 +2,15 @@ export * from "./arraysJoin";
2
2
  export * from "./checkFlagAlignment";
3
3
  export * from "./chunk";
4
4
  export * from "./drop";
5
+ export * from "./first";
6
+ export * from "./generateNumberArray";
5
7
  export * from "./getArraysCommon";
6
8
  export * from "./getArraysDiff";
7
9
  export * from "./groupBy";
8
10
  export * from "./insertionSort";
9
11
  export * from "./mergeSort";
10
12
  export * from "./quickSort";
13
+ export * from "./randomSelect";
11
14
  export * from "./range";
12
15
  export * from "./shuffle";
13
16
  export * from "./shuffle2DArray";
@@ -2,12 +2,15 @@ export * from "./arraysJoin";
2
2
  export * from "./checkFlagAlignment";
3
3
  export * from "./chunk";
4
4
  export * from "./drop";
5
+ export * from "./first";
6
+ export * from "./generateNumberArray";
5
7
  export * from "./getArraysCommon";
6
8
  export * from "./getArraysDiff";
7
9
  export * from "./groupBy";
8
10
  export * from "./insertionSort";
9
11
  export * from "./mergeSort";
10
12
  export * from "./quickSort";
13
+ export * from "./randomSelect";
11
14
  export * from "./range";
12
15
  export * from "./shuffle";
13
16
  export * from "./shuffle2DArray";
@@ -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,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
+ {"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,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,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,gBAAgB,CAAC;AAC/B,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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 配列から指定された数の要素をランダムに選択する
3
+ * @param array 元の配列
4
+ * @param count 選択する要素の数
5
+ * @param allowDuplicates 重複を許すかどうか (デフォルトは false)
6
+ * @returns ランダムに選択された要素の配列
7
+ * @example randomSelect([1, 2, 3, 4, 5], 2); // [3, 1]
8
+ */
9
+ export declare const randomSelect: <T>(array: T[], count: number, allowDuplicates?: boolean) => T[];
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 配列から指定された数の要素をランダムに選択する
3
+ * @param array 元の配列
4
+ * @param count 選択する要素の数
5
+ * @param allowDuplicates 重複を許すかどうか (デフォルトは false)
6
+ * @returns ランダムに選択された要素の配列
7
+ * @example randomSelect([1, 2, 3, 4, 5], 2); // [3, 1]
8
+ */
9
+ export const randomSelect = (array, count, allowDuplicates = false) => {
10
+ const result = [];
11
+ const usedIndices = new Set();
12
+ while (result.length < count &&
13
+ (allowDuplicates || result.length < array.length)) {
14
+ const randomIndex = Math.floor(Math.random() * array.length);
15
+ if (allowDuplicates || !usedIndices.has(randomIndex)) {
16
+ usedIndices.add(randomIndex);
17
+ result.push(array[randomIndex]);
18
+ }
19
+ }
20
+ return result;
21
+ };
22
+ //# sourceMappingURL=randomSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomSelect.js","sourceRoot":"","sources":["../../src/Array/randomSelect.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAU,EACV,KAAa,EACb,eAAe,GAAG,KAAK,EAClB,EAAE;IACP,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,OACE,MAAM,CAAC,MAAM,GAAG,KAAK;QACrB,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EACjD,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,eAAe,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 日時を指定されたフォーマットに従って文字列に変換します。
3
+ * @param {Date} date - 対象の日時オブジェクト
4
+ * @param {string} formatString - フォーマット文字列
5
+ * @return {string} - フォーマットされた日時文字列
6
+ */
7
+ export declare const format: (date: Date, formatString?: string) => string;
@@ -0,0 +1,48 @@
1
+ import { getTimezoneOffsetString } from "../Date/getTimezoneOffsetString";
2
+ import { padStart } from "../String/padStart";
3
+ /**
4
+ * 日時を指定されたフォーマットに従って文字列に変換します。
5
+ * @param {Date} date - 対象の日時オブジェクト
6
+ * @param {string} formatString - フォーマット文字列
7
+ * @return {string} - フォーマットされた日時文字列
8
+ */
9
+ export const format = (date, formatString = "YYYY-MM-DDTHH:mm:ssZ") => {
10
+ if (!(date instanceof Date)) {
11
+ throw new TypeError("Invalid Date in format");
12
+ }
13
+ const hours = date.getHours();
14
+ const yearString = String(date.getFullYear());
15
+ const monthString = String(date.getMonth() + 1);
16
+ const dateString = String(date.getDate());
17
+ const hourString = String(hours);
18
+ const minuteString = String(date.getMinutes());
19
+ const secondString = String(date.getSeconds());
20
+ const millisecondString = String(date.getMilliseconds());
21
+ const dayString = String(date.getDay());
22
+ const ampm = hours < 12 ? "AM" : "PM";
23
+ const timezoneOffsetString = getTimezoneOffsetString(date);
24
+ const matches = {
25
+ YY: yearString.slice(-2),
26
+ YYYY: padStart(yearString, 4, "0"),
27
+ M: monthString,
28
+ MM: padStart(monthString, 2, "0"),
29
+ D: dateString,
30
+ DD: padStart(dateString, 2, "0"),
31
+ d: dayString,
32
+ H: hourString,
33
+ HH: padStart(hourString, 2, "0"),
34
+ h: String(hours % 12 || 12),
35
+ hh: padStart(String(hours % 12 || 12), 2, "0"),
36
+ a: ampm.toLowerCase(),
37
+ A: ampm,
38
+ m: minuteString,
39
+ mm: padStart(minuteString, 2, "0"),
40
+ s: secondString,
41
+ ss: padStart(secondString, 2, "0"),
42
+ SSS: padStart(millisecondString, 3, "0"),
43
+ Z: timezoneOffsetString,
44
+ ZZ: timezoneOffsetString.replace(":", ""),
45
+ };
46
+ return formatString.replaceAll(/\[([^\]]+)]|(Y{1,4}|M{1,2}|D{1,2}|d{1,2}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS)/g, (_match, $1, $2) => $1 || matches[$2]);
47
+ };
48
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/Date/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,IAAU,EACV,YAAY,GAAG,sBAAsB,EAC7B,EAAE;IACV,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,OAAO,GAA8B;QACzC,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC;QAClC,CAAC,EAAE,WAAW;QACd,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC;QACjC,CAAC,EAAE,UAAU;QACb,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC;QAChC,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,UAAU;QACb,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC;QAChC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3B,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;QAC9C,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE;QACrB,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,YAAY;QACf,EAAE,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC;QAClC,CAAC,EAAE,YAAY;QACf,EAAE,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC;QAClC,GAAG,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAC;QACxC,CAAC,EAAE,oBAAoB;QACvB,EAAE,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;KAC1C,CAAC;IAEF,OAAO,YAAY,CAAC,UAAU,CAC5B,uFAAuF,EACvF,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CACtC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * タイムゾーンのオフセット文字列を取得します。
3
+ * @param {Date} instance - 対象の日時オブジェクト
4
+ * @return {string} - タイムゾーンのオフセット文字列
5
+ */
6
+ export declare const getTimezoneOffsetString: (instance: Date) => string;
@@ -0,0 +1,14 @@
1
+ import { padStart } from "../String/padStart";
2
+ /**
3
+ * タイムゾーンのオフセット文字列を取得します。
4
+ * @param {Date} instance - 対象の日時オブジェクト
5
+ * @return {string} - タイムゾーンのオフセット文字列
6
+ */
7
+ export const getTimezoneOffsetString = (instance) => {
8
+ const negMinutes = -instance.getTimezoneOffset();
9
+ const minutes = Math.abs(negMinutes);
10
+ const hourOffset = Math.floor(minutes / 60);
11
+ const minuteOffset = minutes % 60;
12
+ return `${negMinutes >= 0 ? "+" : "-"}${padStart(String(hourOffset), 2, "0")}:${padStart(String(minuteOffset), 2, "0")}`;
13
+ };
14
+ //# sourceMappingURL=getTimezoneOffsetString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTimezoneOffsetString.js","sourceRoot":"","sources":["../../src/Date/getTimezoneOffsetString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAc,EAAU,EAAE;IAChE,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,OAAO,GAAG,EAAE,CAAC;IAClC,OAAO,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAC9C,MAAM,CAAC,UAAU,CAAC,EAClB,CAAC,EACD,GAAG,CACJ,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAChD,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  export * from "./birthday";
2
2
  export * from "./dateRange";
3
3
  export * from "./dayOfWeek";
4
+ export * from "./format";
4
5
  export * from "./getDay";
6
+ export * from "./getTimezoneOffsetString";
5
7
  export * from "./isLeapYear";
6
8
  export * from "./new";
7
9
  export * from "./now";
@@ -1,7 +1,9 @@
1
1
  export * from "./birthday";
2
2
  export * from "./dateRange";
3
3
  export * from "./dayOfWeek";
4
+ export * from "./format";
4
5
  export * from "./getDay";
6
+ export * from "./getTimezoneOffsetString";
5
7
  export * from "./isLeapYear";
6
8
  export * from "./new";
7
9
  export * from "./now";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Date/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Date/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
@@ -1 +1 @@
1
- export * from "./result";
1
+ export * from "./safeExecute";
@@ -1,2 +1,2 @@
1
- export * from "./result";
1
+ export * from "./safeExecute";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Error/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Error/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ interface SuccessType<V> {
2
+ type: "success";
3
+ value: V;
4
+ }
5
+ interface ErrorType<E> {
6
+ type: "error";
7
+ error: E;
8
+ }
9
+ export type Result<V, E> = SuccessType<V> | ErrorType<E>;
10
+ export declare const safeExecute: <V, E = Error>(callback: () => V) => Result<V, E>;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ const errorFunction = (error) => ({ type: "error", error });
2
+ const successFunction = (value) => ({
3
+ type: "success",
4
+ value,
5
+ });
6
+ export const safeExecute = (callback) => {
7
+ try {
8
+ return successFunction(callback());
9
+ }
10
+ catch (error) {
11
+ return errorFunction(error);
12
+ }
13
+ };
14
+ //# sourceMappingURL=safeExecute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeExecute.js","sourceRoot":"","sources":["../../src/Error/safeExecute.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAG,CAAI,KAAQ,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAChF,MAAM,eAAe,GAAG,CAAI,KAAQ,EAAkB,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,SAAS;IACf,KAAK;CACN,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAe,QAAiB,EAAgB,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO,eAAe,CAAI,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,aAAa,CAAI,KAAU,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ipToBinaryString } from "./ipToBinaryString";
2
- import { isValueNaN } from "../Math/isValueNaN";
2
+ import { isValueNaN } from "../Validate/isValueNaN";
3
3
  /**
4
4
  * サブネットマスクからCIDRを取得します
5
5
  * @param {string} subnetMask - サブネットマスク
@@ -1 +1 @@
1
- {"version":3,"file":"subnetMaskToCidr.js","sourceRoot":"","sources":["../../src/IP/subnetMaskToCidr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAU,EAAE;IAC7D,gCAAgC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IACE,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,EAC3E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAQ,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAsB;SAClE,MAAgB,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"subnetMaskToCidr.js","sourceRoot":"","sources":["../../src/IP/subnetMaskToCidr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAU,EAAE;IAC7D,gCAAgC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IACE,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,EAC3E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAQ,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAsB;SAClE,MAAgB,CAAC;AACtB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * ビット回転を行う関数
3
+ * @param x 回転させる32ビット整数
4
+ * @param k 回転するビット数
5
+ * @param direction 回転方向 ('left' または 'right')
6
+ * @returns 指定された方向にkビット回転された結果
7
+ * @example
8
+ * const resultLeft = bitwise(0x12345678, 8);
9
+ * console.log(resultLeft.toString(16)); // '34567812'
10
+ * const resultRight = bitwise(0x12345678, 8, 'right');
11
+ * console.log(resultRight.toString(16)); // '78123456'
12
+ */
13
+ export declare const bitwise: (x: number, k: number, direction?: "left" | "right") => number;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ビット回転を行う関数
3
+ * @param x 回転させる32ビット整数
4
+ * @param k 回転するビット数
5
+ * @param direction 回転方向 ('left' または 'right')
6
+ * @returns 指定された方向にkビット回転された結果
7
+ * @example
8
+ * const resultLeft = bitwise(0x12345678, 8);
9
+ * console.log(resultLeft.toString(16)); // '34567812'
10
+ * const resultRight = bitwise(0x12345678, 8, 'right');
11
+ * console.log(resultRight.toString(16)); // '78123456'
12
+ */
13
+ export const bitwise = (x, k, direction = "left") => {
14
+ k %= 32;
15
+ switch (direction) {
16
+ case "left": {
17
+ return (x << k) | (x >>> (32 - k));
18
+ }
19
+ case "right": {
20
+ return (x >>> k) | (x << (32 - k));
21
+ }
22
+ default: {
23
+ throw new Error(`Invalid direction ${direction}`);
24
+ }
25
+ }
26
+ };
27
+ //# sourceMappingURL=bitwise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitwise.js","sourceRoot":"","sources":["../../src/Math/bitwise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAAS,EACT,CAAS,EACT,YAA8B,MAAM,EAC5B,EAAE;IACV,CAAC,IAAI,EAAE,CAAC;IACR,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -7,5 +7,5 @@
7
7
  * @example convertCurrency("¥100", { "¥": 0.01 }); // "1"
8
8
  */
9
9
  export declare const convertCurrency: <T extends {
10
- [key: string]: string | number;
10
+ [key: string]: number | string;
11
11
  }>(inputString: string, conversionRates?: T) => string;
@@ -1,5 +1,6 @@
1
1
  export * from "./addition";
2
2
  export * from "./average";
3
+ export * from "./bitwise";
3
4
  export * from "./calculator";
4
5
  export * from "./degToRad";
5
6
  export * from "./deviationValue";
@@ -8,8 +9,8 @@ export * from "./factorial";
8
9
  export * from "./factorize";
9
10
  export * from "./gcd";
10
11
  export * from "./getDecimalLength";
11
- export * from "./isValueNaN";
12
12
  export * from "./lcm";
13
+ export * from "./linearCongruentialGenerator";
13
14
  export * from "./mathConverter";
14
15
  export * from "./mathSeparator";
15
16
  export * from "./max";
@@ -34,3 +35,4 @@ export * from "./toBaseN";
34
35
  export * from "./toCelsius";
35
36
  export * from "./toKelvin";
36
37
  export * from "./valueSwap";
38
+ export * from "./xoshiro256";
@@ -1,5 +1,6 @@
1
1
  export * from "./addition";
2
2
  export * from "./average";
3
+ export * from "./bitwise";
3
4
  export * from "./calculator";
4
5
  export * from "./degToRad";
5
6
  export * from "./deviationValue";
@@ -8,8 +9,8 @@ export * from "./factorial";
8
9
  export * from "./factorize";
9
10
  export * from "./gcd";
10
11
  export * from "./getDecimalLength";
11
- export * from "./isValueNaN";
12
12
  export * from "./lcm";
13
+ export * from "./linearCongruentialGenerator";
13
14
  export * from "./mathConverter";
14
15
  export * from "./mathSeparator";
15
16
  export * from "./max";
@@ -34,4 +35,5 @@ export * from "./toBaseN";
34
35
  export * from "./toCelsius";
35
36
  export * from "./toKelvin";
36
37
  export * from "./valueSwap";
38
+ export * from "./xoshiro256";
37
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Math/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Math/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 線形合同法による乱数生成器
3
+ * @param seed 初期シード値
4
+ * @param a 乗数 (デフォルト: 1664525)
5
+ * @param c 加算定数 (デフォルト: 1013904223)
6
+ * @param m モジュラス (デフォルト: 2^32)
7
+ * @returns 乱数生成器関数
8
+ * @example
9
+ * const lcg = linearCongruentialGenerator(12345);
10
+ */
11
+ export declare const linearCongruentialGenerator: (seed: number, a?: number, c?: number, m?: number) => number;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 線形合同法による乱数生成器
3
+ * @param seed 初期シード値
4
+ * @param a 乗数 (デフォルト: 1664525)
5
+ * @param c 加算定数 (デフォルト: 1013904223)
6
+ * @param m モジュラス (デフォルト: 2^32)
7
+ * @returns 乱数生成器関数
8
+ * @example
9
+ * const lcg = linearCongruentialGenerator(12345);
10
+ */
11
+ export const linearCongruentialGenerator = (seed, a = 1664525, c = 1013904223, m = 4294967296) => {
12
+ let current = seed;
13
+ current = (a * current + c) % m;
14
+ return current / m;
15
+ };
16
+ //# sourceMappingURL=linearCongruentialGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linearCongruentialGenerator.js","sourceRoot":"","sources":["../../src/Math/linearCongruentialGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,IAAY,EACZ,CAAC,GAAG,OAAS,EACb,CAAC,GAAG,UAAa,EACjB,CAAC,GAAG,UAAa,EACjB,EAAE;IACF,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,OAAO,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * UUID v7を生成する
3
+ * @example
4
+ * const result = uuidv7()
5
+ */
6
+ export declare const uuidv7: () => string;
@@ -0,0 +1,36 @@
1
+ import { random } from "./random";
2
+ /**
3
+ * UUID v7を生成する
4
+ * @example
5
+ * const result = uuidv7()
6
+ */
7
+ export const uuidv7 = () => {
8
+ const DIGITS = "0123456789abcdef";
9
+ const unixTsMs = Date.now();
10
+ const randA = random(4095);
11
+ const randBHi = random(1073741823);
12
+ const randBLo = random(4294967295);
13
+ const bytes = new Uint8Array(16);
14
+ for (let index = 0; index < 6; index++) {
15
+ bytes[index] = (unixTsMs >>> ((5 - index) * 8)) & 0xff;
16
+ }
17
+ bytes[6] = 0x70 | (randA >>> 8);
18
+ bytes[7] = randA & 0xff;
19
+ bytes[8] = 0x80 | (randBHi >>> 24);
20
+ bytes[9] = (randBHi >>> 16) & 0xff;
21
+ bytes[10] = (randBHi >>> 8) & 0xff;
22
+ bytes[11] = randBHi & 0xff;
23
+ bytes[12] = (randBLo >>> 24) & 0xff;
24
+ bytes[13] = (randBLo >>> 16) & 0xff;
25
+ bytes[14] = (randBLo >>> 8) & 0xff;
26
+ bytes[15] = randBLo & 0xff;
27
+ let uuid = "";
28
+ for (const [index, byte] of bytes.entries()) {
29
+ uuid += DIGITS[byte >>> 4] + DIGITS[byte & 0xf];
30
+ if (index === 3 || index === 5 || index === 7 || index === 9) {
31
+ uuid += "-";
32
+ }
33
+ }
34
+ return uuid;
35
+ };
36
+ //# sourceMappingURL=uuidv7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/Math/uuidv7.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE;IACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAM,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAa,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAa,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAE3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,GAAG,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Xoshiro256** 乱数生成器
3
+ * @param seed 初期シード値 (4つの32ビット整数の配列)
4
+ * @returns 乱数生成器関数
5
+ * @example
6
+ * const xoshiro = xoshiro256([1, 2, 3, 4]);
7
+ */
8
+ export declare const xoshiro256: (seed: [number, number, number, number]) => number;
@@ -0,0 +1,21 @@
1
+ import { bitwise } from "./bitwise";
2
+ /**
3
+ * Xoshiro256** 乱数生成器
4
+ * @param seed 初期シード値 (4つの32ビット整数の配列)
5
+ * @returns 乱数生成器関数
6
+ * @example
7
+ * const xoshiro = xoshiro256([1, 2, 3, 4]);
8
+ */
9
+ export const xoshiro256 = (seed) => {
10
+ let [s0, s1, s2, s3] = seed;
11
+ const result = bitwise(s1 * 5, 7) * 9;
12
+ const t = s1 << 9;
13
+ s2 ^= s0;
14
+ s3 ^= s1;
15
+ s1 ^= s2;
16
+ s0 ^= s3;
17
+ s2 ^= t;
18
+ s3 = bitwise(s3, 11);
19
+ return (result >>> 0) / 4294967296;
20
+ };
21
+ //# sourceMappingURL=xoshiro256.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xoshiro256.js","sourceRoot":"","sources":["../../src/Math/xoshiro256.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAsC,EAAE,EAAE;IACnE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAEtC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAElB,EAAE,IAAI,EAAE,CAAC;IACT,EAAE,IAAI,EAAE,CAAC;IACT,EAAE,IAAI,EAAE,CAAC;IACT,EAAE,IAAI,EAAE,CAAC;IAET,EAAE,IAAI,CAAC,CAAC;IAER,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAErB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,UAAa,CAAC;AACxC,CAAC,CAAC"}