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.
- package/module/Array/first.d.ts +7 -0
- package/module/Array/first.js +10 -0
- package/module/Array/first.js.map +1 -0
- package/module/Array/generateNumberArray.d.ts +11 -0
- package/module/Array/generateNumberArray.js +27 -0
- package/module/Array/generateNumberArray.js.map +1 -0
- package/module/Array/index.d.ts +3 -0
- package/module/Array/index.js +3 -0
- package/module/Array/index.js.map +1 -1
- package/module/Array/randomSelect.d.ts +9 -0
- package/module/Array/randomSelect.js +22 -0
- package/module/Array/randomSelect.js.map +1 -0
- package/module/Date/format.d.ts +7 -0
- package/module/Date/format.js +48 -0
- package/module/Date/format.js.map +1 -0
- package/module/Date/getTimezoneOffsetString.d.ts +6 -0
- package/module/Date/getTimezoneOffsetString.js +14 -0
- package/module/Date/getTimezoneOffsetString.js.map +1 -0
- package/module/Date/index.d.ts +2 -0
- package/module/Date/index.js +2 -0
- package/module/Date/index.js.map +1 -1
- package/module/Error/index.d.ts +1 -1
- package/module/Error/index.js +1 -1
- package/module/Error/index.js.map +1 -1
- package/module/Error/safeExecute.d.ts +11 -0
- package/module/Error/safeExecute.js +14 -0
- package/module/Error/safeExecute.js.map +1 -0
- package/module/IP/subnetMaskToCidr.js +1 -1
- package/module/IP/subnetMaskToCidr.js.map +1 -1
- package/module/Math/bitwise.d.ts +13 -0
- package/module/Math/bitwise.js +27 -0
- package/module/Math/bitwise.js.map +1 -0
- package/module/Math/calculator/convertCurrency.d.ts +1 -1
- package/module/Math/index.d.ts +3 -1
- package/module/Math/index.js +3 -1
- package/module/Math/index.js.map +1 -1
- package/module/Math/linearCongruentialGenerator.d.ts +11 -0
- package/module/Math/linearCongruentialGenerator.js +16 -0
- package/module/Math/linearCongruentialGenerator.js.map +1 -0
- package/module/Math/uuidv7.d.ts +6 -0
- package/module/Math/uuidv7.js +36 -0
- package/module/Math/uuidv7.js.map +1 -0
- package/module/Math/xoshiro256.d.ts +8 -0
- package/module/Math/xoshiro256.js +21 -0
- package/module/Math/xoshiro256.js.map +1 -0
- package/module/Tool/sudoku.d.ts +103 -0
- package/module/Tool/sudoku.js +48 -0
- package/module/Tool/sudoku.js.map +1 -0
- package/module/Validate/array/core.d.ts +1 -1
- package/module/Validate/index.d.ts +1 -0
- package/module/Validate/index.js +1 -0
- package/module/Validate/index.js.map +1 -1
- package/module/Validate/isDouble.d.ts +1 -1
- package/module/Validate/isNumber.d.ts +1 -1
- package/module/Validate/isValueNaN.d.ts +10 -0
- package/module/Validate/isValueNaN.js +14 -0
- package/module/Validate/isValueNaN.js.map +1 -0
- package/module/Validate/object/core.d.ts +1 -1
- package/module/Validate/string/uuid.d.ts +6 -1
- package/module/Validate/string/uuid.js +5 -0
- package/module/Validate/string/uuid.js.map +1 -1
- package/module/types/int.d.ts +5 -2
- package/module/types/logicType.d.ts +1 -0
- package/package.json +16 -14
- package/module/Math/toBinary.d.ts +0 -8
- package/module/Math/toBinary.js +0 -11
- package/module/Math/toBinary.js.map +0 -1
- package/module/Simple/Tool/birthdaySimple.d.ts +0 -19
- package/module/Simple/Tool/birthdaySimple.js +0 -31
- package/module/Simple/Tool/birthdaySimple.js.map +0 -1
- package/module/Simple/Tool/dayOfWeekSimple.d.ts +0 -20
- package/module/Simple/Tool/dayOfWeekSimple.js +0 -34
- package/module/Simple/Tool/dayOfWeekSimple.js.map +0 -1
- package/module/Simple/Tool/deviationValueSimple.d.ts +0 -13
- package/module/Simple/Tool/deviationValueSimple.js +0 -19
- package/module/Simple/Tool/deviationValueSimple.js.map +0 -1
- package/module/Simple/Tool/index.d.ts +0 -3
- package/module/Simple/Tool/index.js +0 -4
- package/module/Simple/Tool/index.js.map +0 -1
- package/module/String/deleteSpace.d.ts +0 -7
- package/module/String/deleteSpace.js +0 -10
- package/module/String/deleteSpace.js.map +0 -1
- package/module/Tool/birthday.d.ts +0 -11
- package/module/Tool/birthday.js +0 -21
- package/module/Tool/birthday.js.map +0 -1
- package/module/Tool/cmykToRgba.d.ts +0 -12
- package/module/Tool/cmykToRgba.js +0 -41
- package/module/Tool/cmykToRgba.js.map +0 -1
- package/module/Tool/dayOfWeek.d.ts +0 -14
- package/module/Tool/dayOfWeek.js +0 -17
- package/module/Tool/dayOfWeek.js.map +0 -1
- package/module/Tool/deleteSpace.d.ts +0 -7
- package/module/Tool/deleteSpace.js +0 -10
- package/module/Tool/deleteSpace.js.map +0 -1
- package/module/Tool/hexToRgba.d.ts +0 -12
- package/module/Tool/hexToRgba.js +0 -20
- package/module/Tool/hexToRgba.js.map +0 -1
- package/module/Tool/hexaToRgba.d.ts +0 -12
- package/module/Tool/hexaToRgba.js +0 -20
- package/module/Tool/hexaToRgba.js.map +0 -1
- package/module/Tool/hslaToRgba.d.ts +0 -15
- package/module/Tool/hslaToRgba.js +0 -76
- package/module/Tool/hslaToRgba.js.map +0 -1
- package/module/Tool/rgbaToCmyk.d.ts +0 -18
- package/module/Tool/rgbaToCmyk.js +0 -26
- package/module/Tool/rgbaToCmyk.js.map +0 -1
- package/module/Tool/rgbaToHexA.d.ts +0 -12
- package/module/Tool/rgbaToHexA.js +0 -25
- package/module/Tool/rgbaToHexA.js.map +0 -1
- package/module/Tool/rgbaToHsla.d.ts +0 -17
- package/module/Tool/rgbaToHsla.js +0 -48
- package/module/Tool/rgbaToHsla.js.map +0 -1
|
@@ -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"}
|
package/module/Array/index.d.ts
CHANGED
|
@@ -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";
|
package/module/Array/index.js
CHANGED
|
@@ -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,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,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"}
|
package/module/Date/index.d.ts
CHANGED
|
@@ -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";
|
package/module/Date/index.js
CHANGED
|
@@ -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";
|
package/module/Date/index.js.map
CHANGED
|
@@ -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"}
|
package/module/Error/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./
|
|
1
|
+
export * from "./safeExecute";
|
package/module/Error/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./
|
|
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,
|
|
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 +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,
|
|
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"}
|
package/module/Math/index.d.ts
CHANGED
|
@@ -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";
|
package/module/Math/index.js
CHANGED
|
@@ -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
|
package/module/Math/index.js.map
CHANGED
|
@@ -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,
|
|
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,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,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"}
|