umt 1.4.1 → 1.5.0

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 (105) hide show
  1. package/module/Advance/rangeAdvance.js +1 -1
  2. package/module/Advance/rangeAdvance.js.map +1 -1
  3. package/module/Array/chunk.d.ts +2 -1
  4. package/module/Array/chunk.js +7 -0
  5. package/module/Array/chunk.js.map +1 -1
  6. package/module/Array/getArraysCommon.d.ts +1 -1
  7. package/module/Array/getArraysCommon.js +1 -5
  8. package/module/Array/getArraysCommon.js.map +1 -1
  9. package/module/Array/getArraysDiff.d.ts +1 -1
  10. package/module/Array/getArraysDiff.js.map +1 -1
  11. package/module/Array/groupBy.d.ts +7 -0
  12. package/module/Array/groupBy.js +17 -0
  13. package/module/Array/groupBy.js.map +1 -0
  14. package/module/Array/index.d.ts +5 -0
  15. package/module/Array/index.js +5 -0
  16. package/module/Array/index.js.map +1 -1
  17. package/module/Array/insertionSort.d.ts +22 -0
  18. package/module/Array/insertionSort.js +35 -0
  19. package/module/Array/insertionSort.js.map +1 -0
  20. package/module/Array/mergeSort.d.ts +8 -1
  21. package/module/Array/mergeSort.js +30 -19
  22. package/module/Array/mergeSort.js.map +1 -1
  23. package/module/Array/timSort.d.ts +13 -0
  24. package/module/Array/timSort.js +79 -0
  25. package/module/Array/timSort.js.map +1 -0
  26. package/module/Array/zip.d.ts +7 -0
  27. package/module/Array/zip.js +15 -0
  28. package/module/Array/zip.js.map +1 -0
  29. package/module/Array/zipLongest.d.ts +10 -0
  30. package/module/Array/zipLongest.js +15 -0
  31. package/module/Array/zipLongest.js.map +1 -0
  32. package/module/Date/getDay.d.ts +1 -1
  33. package/module/Date/index.d.ts +1 -0
  34. package/module/Date/index.js +1 -0
  35. package/module/Date/index.js.map +1 -1
  36. package/module/Date/isLeapYear.d.ts +6 -0
  37. package/module/Date/isLeapYear.js +9 -0
  38. package/module/Date/isLeapYear.js.map +1 -0
  39. package/module/Date/new.d.ts +2 -2
  40. package/module/Date/now.d.ts +1 -1
  41. package/module/Date/now.js +1 -1
  42. package/module/Date/now.js.map +1 -1
  43. package/module/IP/isPrivateIp.d.ts +6 -0
  44. package/module/IP/isPrivateIp.js +17 -0
  45. package/module/IP/isPrivateIp.js.map +1 -0
  46. package/module/IP/subnetMaskToCidr.js +2 -2
  47. package/module/IP/subnetMaskToCidr.js.map +1 -1
  48. package/module/Simple/Array/index.d.ts +1 -0
  49. package/module/Simple/Array/index.js +2 -0
  50. package/module/Simple/Array/index.js.map +1 -0
  51. package/module/Simple/Date/nowSimple.d.ts +1 -1
  52. package/module/Simple/Date/nowSimple.js.map +1 -1
  53. package/module/Simple/Tool/birthdaySimple.d.ts +2 -2
  54. package/module/Simple/Tool/birthdaySimple.js.map +1 -1
  55. package/module/Simple/Tool/dayOfWeekSimple.d.ts +2 -2
  56. package/module/Simple/Tool/dayOfWeekSimple.js.map +1 -1
  57. package/module/Simple/index.d.ts +1 -0
  58. package/module/Simple/index.js +1 -0
  59. package/module/Simple/index.js.map +1 -1
  60. package/module/String/fromBase64.d.ts +1 -0
  61. package/module/String/fromBase64.js +4 -0
  62. package/module/String/fromBase64.js.map +1 -0
  63. package/module/String/index.d.ts +1 -0
  64. package/module/String/index.js +1 -0
  65. package/module/String/index.js.map +1 -1
  66. package/module/Tool/birthday.d.ts +2 -2
  67. package/module/Tool/birthday.js.map +1 -1
  68. package/module/Tool/dayOfWeek.d.ts +2 -2
  69. package/module/Tool/dayOfWeek.js.map +1 -1
  70. package/module/Validate/array/core.d.ts +1 -1
  71. package/module/Validate/array/core.js.map +1 -1
  72. package/module/Validate/boolean/core.d.ts +1 -1
  73. package/module/Validate/core/index.d.ts +1 -1
  74. package/module/Validate/index.d.ts +1 -0
  75. package/module/Validate/index.js +1 -0
  76. package/module/Validate/index.js.map +1 -1
  77. package/module/Validate/isPerfectSquare.d.ts +6 -0
  78. package/module/Validate/isPerfectSquare.js +13 -0
  79. package/module/Validate/isPerfectSquare.js.map +1 -0
  80. package/module/Validate/number/core.d.ts +1 -1
  81. package/module/Validate/number/double.d.ts +1 -1
  82. package/module/Validate/number/even.d.ts +1 -1
  83. package/module/Validate/number/maxValue.d.ts +1 -1
  84. package/module/Validate/number/minValue.d.ts +1 -1
  85. package/module/Validate/number/odd.d.ts +1 -1
  86. package/module/Validate/number/prime.d.ts +1 -1
  87. package/module/Validate/number/prime.js +1 -1
  88. package/module/Validate/number/prime.js.map +1 -1
  89. package/module/Validate/object/core.d.ts +1 -1
  90. package/module/Validate/string/core.d.ts +1 -1
  91. package/module/Validate/string/email.d.ts +1 -1
  92. package/module/Validate/string/length.d.ts +1 -1
  93. package/module/Validate/string/maxLength.d.ts +1 -1
  94. package/module/Validate/string/minLength.d.ts +1 -1
  95. package/module/Validate/string/numberString.d.ts +1 -1
  96. package/module/Validate/string/numberString.js +1 -1
  97. package/module/Validate/string/numberString.js.map +1 -1
  98. package/module/Validate/string/regexMatch.d.ts +1 -1
  99. package/module/Validate/string/uuid.d.ts +1 -1
  100. package/module/types/arrayType.d.ts +3 -1
  101. package/module/types/clockType.d.ts +1 -1
  102. package/module/types/jokeType.d.ts +1 -1
  103. package/module/types/logicType.d.ts +1 -1
  104. package/module/types/mathType.d.ts +1 -1
  105. package/package.json +20 -19
@@ -1,4 +1,4 @@
1
- import { range } from "..";
1
+ import { range } from "../Array/range";
2
2
  /**
3
3
  * 条件式を満たす数値の配列を返す
4
4
  * @param start 開始数値
@@ -1 +1 @@
1
- {"version":3,"file":"rangeAdvance.js","sourceRoot":"","sources":["../../src/Advance/rangeAdvance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B;;;;;;;GAOG;AACH,SAAS,YAAY,CACnB,KAAa,EACb,GAAY,EACZ,qBAAoD;IAEpD,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;AACD,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,SAAS,YAAY,CACnB,KAAa,EACb,GAAY,EACZ,qBAAoD;IAEpD,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;AACD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- import { ChunkArrayType } from "../types/arrayType"; /**
1
+ import type { ChunkArrayType } from "../types/arrayType";
2
+ /**
2
3
  * 配列を指定した数で分割する
3
4
  * @param arr 配列
4
5
  * @param n 分割数
@@ -1,3 +1,10 @@
1
+ /**
2
+ * 配列を指定した数で分割する
3
+ * @param arr 配列
4
+ * @param n 分割数
5
+ * @returns 分割された配列
6
+ * @example chunk([1, 2, 3, 4, 5, 6, 7, 8, 9], 3); // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
7
+ */
1
8
  export const chunk = (array, n) => {
2
9
  const result = [];
3
10
  for (let index = 0; index < array.length; index += n) {
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/Array/chunk.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAAQ,EACR,CAAI,EACkB,EAAE;IACxB,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAmB,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,MAA8B,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/Array/chunk.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAAQ,EACR,CAAI,EACkB,EAAE;IACxB,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAmB,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,MAA8B,CAAC;AACxC,CAAC,CAAC"}
@@ -5,4 +5,4 @@
5
5
  * @returns unknown[]
6
6
  * @example getArraysCommon([1, 2, 3], [2, 3, 4]); // [2, 3]
7
7
  */
8
- export declare const getArraysCommon: <A extends unknown[]>(array: any[], ...arrays: any[]) => A;
8
+ export declare const getArraysCommon: <O, T extends unknown[] = unknown[]>(array: T, ...arrays: T[]) => O;
@@ -5,11 +5,7 @@
5
5
  * @returns unknown[]
6
6
  * @example getArraysCommon([1, 2, 3], [2, 3, 4]); // [2, 3]
7
7
  */
8
- export const getArraysCommon = (
9
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
10
- array,
11
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
12
- ...arrays) => {
8
+ export const getArraysCommon = (array, ...arrays) => {
13
9
  const result = [array, ...arrays].reduce((previous, current) => {
14
10
  return previous.filter((item) => current.includes(item));
15
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getArraysCommon.js","sourceRoot":"","sources":["../../src/Array/getArraysCommon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;AAC7B,4DAA4D;AAC5D,KAAY;AACZ,4DAA4D;AAC5D,GAAG,MAAa,EAChB,EAAE;IACF,MAAM,MAAM,GAAc,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACxE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,OAAO,MAAW,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"getArraysCommon.js","sourceRoot":"","sources":["../../src/Array/getArraysCommon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAQ,EACR,GAAG,MAAW,EACd,EAAE;IACF,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAM,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,OAAO,MAAsB,CAAC;AAChC,CAAC,CAAC"}
@@ -5,4 +5,4 @@
5
5
  * @returns unknown[]
6
6
  * @example getArraysDiff([1, 2, 3], [2, 3, 4]); // [1, 4]
7
7
  */
8
- export declare const getArraysDiff: <T>(array: T[], ...arrays: T[][]) => T[];
8
+ export declare const getArraysDiff: <O, T extends unknown[] = unknown[]>(array: T, ...arrays: T[]) => O;
@@ -1 +1 @@
1
- {"version":3,"file":"getArraysDiff.js","sourceRoot":"","sources":["../../src/Array/getArraysDiff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,KAAU,EAAE,GAAG,MAAa,EAAO,EAAE;IACpE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAC;IAEhC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC"}
1
+ {"version":3,"file":"getArraysDiff.js","sourceRoot":"","sources":["../../src/Array/getArraysDiff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAQ,EACR,GAAG,MAAW,EACX,EAAE;IACL,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAC;IAEhC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,KAAU,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAU,CAAC,CACvB,CAAC;AACpB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 配列の要素をグループ化する
3
+ * @param array グループ化する配列
4
+ * @param iteratee 各要素に適用するグループ化関数
5
+ * @returns グループ化されたオブジェクト
6
+ */
7
+ export declare const groupBy: <T, K extends string | number>(array: T[], iteratee: (value: T, index: number, array: T[]) => K) => Record<K, T[]>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 配列の要素をグループ化する
3
+ * @param array グループ化する配列
4
+ * @param iteratee 各要素に適用するグループ化関数
5
+ * @returns グループ化されたオブジェクト
6
+ */
7
+ export const groupBy = (array, iteratee) => {
8
+ return array.reduce((accumulator, value, index, array) => {
9
+ const key = iteratee(value, index, array);
10
+ if (!accumulator[key]) {
11
+ accumulator[key] = [];
12
+ }
13
+ accumulator[key].push(value);
14
+ return accumulator;
15
+ }, {});
16
+ };
17
+ //# sourceMappingURL=groupBy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../src/Array/groupBy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,KAAU,EACV,QAAoD,EACpC,EAAE;IAClB,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC;IACrB,CAAC,EACD,EAAoB,CACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -3,9 +3,14 @@ export * from "./checkFlagAlignment";
3
3
  export * from "./chunk";
4
4
  export * from "./getArraysCommon";
5
5
  export * from "./getArraysDiff";
6
+ export * from "./groupBy";
7
+ export * from "./insertionSort";
6
8
  export * from "./mergeSort";
7
9
  export * from "./quickSort";
8
10
  export * from "./range";
9
11
  export * from "./shuffle";
10
12
  export * from "./shuffle2DArray";
11
13
  export * from "./sum";
14
+ export * from "./timSort";
15
+ export * from "./zip";
16
+ export * from "./zipLongest";
@@ -3,10 +3,15 @@ export * from "./checkFlagAlignment";
3
3
  export * from "./chunk";
4
4
  export * from "./getArraysCommon";
5
5
  export * from "./getArraysDiff";
6
+ export * from "./groupBy";
7
+ export * from "./insertionSort";
6
8
  export * from "./mergeSort";
7
9
  export * from "./quickSort";
8
10
  export * from "./range";
9
11
  export * from "./shuffle";
10
12
  export * from "./shuffle2DArray";
11
13
  export * from "./sum";
14
+ export * from "./timSort";
15
+ export * from "./zip";
16
+ export * from "./zipLongest";
12
17
  //# sourceMappingURL=index.js.map
@@ -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,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,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,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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 挿入ソートを使用して配列をソート
3
+ *
4
+ * @param array ソートする配列
5
+ * @param compareFunction 比較関数
6
+ * @param start ソートを開始する配列のインデックス
7
+ * @param end ソートを終了する配列のインデックス
8
+ * @returns ソートされた配列
9
+ *
10
+ * @example
11
+ * const numbers = [4, 2, 7, 1, 3];
12
+ * insertionSort(numbers); // [1, 2, 3, 4, 7]
13
+ *
14
+ * @example
15
+ * const numbers = [4, 2, 7, 1, 3];
16
+ * insertionSort(numbers, (a, b) => a - b); // [1, 2, 3, 4, 7]
17
+ *
18
+ * @example
19
+ * const numbers = [4, 2, 7, 1, 3];
20
+ * insertionSort(numbers, undefined, 1, 3); // [4, 1, 2, 7, 3]
21
+ */
22
+ export declare const insertionSort: <T>(array: T[], compareFunction?: (a: T, b: T) => number, start?: number, end?: number) => T[];
@@ -0,0 +1,35 @@
1
+ import { compareFunctionDefault } from "./compareFunctionDefault";
2
+ /**
3
+ * 挿入ソートを使用して配列をソート
4
+ *
5
+ * @param array ソートする配列
6
+ * @param compareFunction 比較関数
7
+ * @param start ソートを開始する配列のインデックス
8
+ * @param end ソートを終了する配列のインデックス
9
+ * @returns ソートされた配列
10
+ *
11
+ * @example
12
+ * const numbers = [4, 2, 7, 1, 3];
13
+ * insertionSort(numbers); // [1, 2, 3, 4, 7]
14
+ *
15
+ * @example
16
+ * const numbers = [4, 2, 7, 1, 3];
17
+ * insertionSort(numbers, (a, b) => a - b); // [1, 2, 3, 4, 7]
18
+ *
19
+ * @example
20
+ * const numbers = [4, 2, 7, 1, 3];
21
+ * insertionSort(numbers, undefined, 1, 3); // [4, 1, 2, 7, 3]
22
+ */
23
+ export const insertionSort = (array, compareFunction = (compareFunctionDefault), start = 0, end = array.length - 1) => {
24
+ for (let index = start + 1; index <= end; index++) {
25
+ let index_ = index;
26
+ const target = array[index];
27
+ while (index_ > start && compareFunction(array[index_ - 1], target) > 0) {
28
+ array[index_] = array[index_ - 1];
29
+ index_--;
30
+ }
31
+ array[index_] = target;
32
+ }
33
+ return array;
34
+ };
35
+ //# sourceMappingURL=insertionSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertionSort.js","sourceRoot":"","sources":["../../src/Array/insertionSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAU,EACV,kBAA0C,CAAA,sBAAyB,CAAA,EACnE,KAAK,GAAG,CAAC,EACT,MAAc,KAAK,CAAC,MAAM,GAAG,CAAC,EACzB,EAAE;IACP,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,MAAM,GAAG,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC;QACX,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -1 +1,8 @@
1
- export declare const mergeSort: <T>(array: T[], compareFunction?: (a: T, b: T) => number, start?: number, end?: number) => T[];
1
+ /**
2
+ * マージソート
3
+ * @param {T[]} array 配列
4
+ * @param {(a: T, b: T) => number} compareFunction 比較関数
5
+ * @returns T[]
6
+ * @example mergeSort([1, 3, 2, 4, 5], (a, b) => a - b); // [1, 2, 3, 4, 5]
7
+ */
8
+ export declare function mergeSort<T>(array: T[], compareFunction?: (a: T, b: T) => number): T[];
@@ -1,28 +1,39 @@
1
1
  import { compareFunctionDefault } from "./compareFunctionDefault";
2
- export const mergeSort = (array, compareFunction = (compareFunctionDefault), start = 0, end = array.length) => {
3
- const length = end - start;
4
- if (length <= 1) {
5
- return array.slice(start, end);
2
+ /**
3
+ * マージソート
4
+ * @param {T[]} array 配列
5
+ * @param {(a: T, b: T) => number} compareFunction 比較関数
6
+ * @returns T[]
7
+ * @example mergeSort([1, 3, 2, 4, 5], (a, b) => a - b); // [1, 2, 3, 4, 5]
8
+ */
9
+ export function mergeSort(array, compareFunction = compareFunctionDefault) {
10
+ if (array.length <= 1) {
11
+ return array;
6
12
  }
7
- const middle = start + Math.floor(length / 2);
8
- const left = mergeSort(array, compareFunction, start, middle);
9
- const right = mergeSort(array, compareFunction, middle, end);
10
- return merge(left, right, compareFunction);
11
- };
13
+ const middle = Math.floor(array.length / 2);
14
+ const left = array.slice(0, middle);
15
+ const right = array.slice(middle);
16
+ return merge(mergeSort(left, compareFunction), mergeSort(right, compareFunction), compareFunction);
17
+ }
18
+ /**
19
+ * 2つの配列をマージする関数
20
+ * @param left - マージする左の配列
21
+ * @param right - マージする右の配列
22
+ * @param compareFunction - 比較関数
23
+ * @returns マージされた新しい配列
24
+ */
12
25
  function merge(left, right, compareFunction) {
13
- const result = [];
14
- let leftIndex = 0;
15
- let rightIndex = 0;
16
- while (leftIndex < left.length && rightIndex < right.length) {
17
- if (compareFunction(left[leftIndex], right[rightIndex]) <= 0) {
18
- result.push(left[leftIndex]);
19
- leftIndex++;
26
+ const array = [];
27
+ let lIndex = 0;
28
+ let rIndex = 0;
29
+ while (lIndex < left.length && rIndex < right.length) {
30
+ if (compareFunction(left[lIndex], right[rIndex]) <= 0) {
31
+ array.push(left[lIndex++]);
20
32
  }
21
33
  else {
22
- result.push(right[rightIndex]);
23
- rightIndex++;
34
+ array.push(right[rIndex++]);
24
35
  }
25
36
  }
26
- return result.concat(left.slice(leftIndex)).concat(right.slice(rightIndex));
37
+ return array.concat(left.slice(lIndex)).concat(right.slice(rIndex));
27
38
  }
28
39
  //# sourceMappingURL=mergeSort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeSort.js","sourceRoot":"","sources":["../../src/Array/mergeSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAU,EACV,kBAA0C,CAAA,sBAAyB,CAAA,EACnE,KAAK,GAAG,CAAC,EACT,MAAc,KAAK,CAAC,MAAM,EACrB,EAAE;IACP,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;IAC3B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7D,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,SAAS,KAAK,CACZ,IAAS,EACT,KAAU,EACV,eAAuC;IAEvC,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,SAAS,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/B,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"mergeSort.js","sourceRoot":"","sources":["../../src/Array/mergeSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,KAAU,EACV,kBAA0C,sBAAsB;IAEhE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,KAAK,CACV,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,EAChC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,EACjC,eAAe,CAChB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,KAAK,CACZ,IAAS,EACT,KAAU,EACV,eAAuC;IAEvC,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * TimSortアルゴリズムを実装した関数です。
3
+ * 挿入ソートとマージソートの良い特性を組み合わせたソートアルゴリズムで、
4
+ * 安定なソートを提供し、最悪のケースでもO(n log n)の時間複雑度を持ちます。
5
+ *
6
+ * @param {T[]} array - ソートする配列
7
+ * @param {(a: T, b: T) => number} [compareFunction=compareFunctionDefault<T>] -
8
+ * 要素比較のための関数
9
+ * @param {number} [start=0] - ソートを開始する配列のインデックス
10
+ * @param {number} [end=array.length - 1] - ソートを終了する配列のインデックス
11
+ * @returns {T[]} - ソートされた配列
12
+ */
13
+ export declare const timSort: <T>(array: T[], compareFunction?: (a: T, b: T) => number, start?: number, end?: number) => T[];
@@ -0,0 +1,79 @@
1
+ import { compareFunctionDefault } from "./compareFunctionDefault";
2
+ /**
3
+ * TimSortアルゴリズムを実装した関数です。
4
+ * 挿入ソートとマージソートの良い特性を組み合わせたソートアルゴリズムで、
5
+ * 安定なソートを提供し、最悪のケースでもO(n log n)の時間複雑度を持ちます。
6
+ *
7
+ * @param {T[]} array - ソートする配列
8
+ * @param {(a: T, b: T) => number} [compareFunction=compareFunctionDefault<T>] -
9
+ * 要素比較のための関数
10
+ * @param {number} [start=0] - ソートを開始する配列のインデックス
11
+ * @param {number} [end=array.length - 1] - ソートを終了する配列のインデックス
12
+ * @returns {T[]} - ソートされた配列
13
+ */
14
+ export const timSort = (array, compareFunction = (compareFunctionDefault), start = 0, end = array.length - 1) => {
15
+ const MIN_RUN = 32;
16
+ const insertionSort = (start, end) => {
17
+ for (let index = start; index <= end; index++) {
18
+ const temporary = array[index];
19
+ let index_ = index - 1;
20
+ while (index_ >= start && compareFunction(array[index_], temporary) > 0) {
21
+ array[index_ + 1] = array[index_];
22
+ index_--;
23
+ }
24
+ array[index_ + 1] = temporary;
25
+ }
26
+ };
27
+ const merge = (start, mid, end) => {
28
+ const left = array.slice(start, mid + 1);
29
+ const right = array.slice(mid + 1, end + 1);
30
+ let index = 0;
31
+ let index_ = 0;
32
+ let k = start;
33
+ while (index < left.length && index_ < right.length) {
34
+ if (compareFunction(left[index], right[index_]) <= 0) {
35
+ array[k] = left[index];
36
+ index++;
37
+ }
38
+ else {
39
+ array[k] = right[index_];
40
+ index_++;
41
+ }
42
+ k++;
43
+ }
44
+ while (index < left.length) {
45
+ array[k] = left[index];
46
+ index++;
47
+ k++;
48
+ }
49
+ while (index_ < right.length) {
50
+ array[k] = right[index_];
51
+ index_++;
52
+ k++;
53
+ }
54
+ };
55
+ const getMinRunLength = (n) => {
56
+ let r = 0;
57
+ while (n >= MIN_RUN) {
58
+ r |= n & 1;
59
+ n >>= 1;
60
+ }
61
+ return n + r;
62
+ };
63
+ const n = end - start + 1;
64
+ const minRun = getMinRunLength(n);
65
+ for (let index = start; index <= end; index += minRun) {
66
+ insertionSort(index, Math.min(index + MIN_RUN - 1, end));
67
+ }
68
+ for (let size = minRun; size < n; size *= 2) {
69
+ for (let left = start; left <= end; left += 2 * size) {
70
+ const mid = left + size - 1;
71
+ const right = Math.min(left + 2 * size - 1, end);
72
+ if (mid < right) {
73
+ merge(left, mid, right);
74
+ }
75
+ }
76
+ }
77
+ return array;
78
+ };
79
+ //# sourceMappingURL=timSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timSort.js","sourceRoot":"","sources":["../../src/Array/timSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,KAAU,EACV,kBAA0C,CAAA,sBAAyB,CAAA,EACnE,KAAK,GAAG,CAAC,EACT,MAAc,KAAK,CAAC,MAAM,GAAG,CAAC,EACzB,EAAE;IACP,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;QACnD,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YACvB,OAAO,MAAM,IAAI,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,EAAE,CAAC;YACX,CAAC;YACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzB,MAAM,EAAE,CAAC;YACX,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,EAAE,CAAC;YACT,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE;QACpC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;YACpB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACX,CAAC,KAAK,CAAC,CAAC;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC;QACtD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,IAAI,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAC5C,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAEjD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ZipArrayType } from "../types/arrayType";
2
+ /**
3
+ * 複数の配列を受け取り、それらの配列の要素を組み合わせて新しい配列を作成します。
4
+ * @param {T} arrays - 組み合わせる配列のリスト
5
+ * @returns {ZipArrayType<T>} - 各配列の要素が組み合わされた新しい配列
6
+ */
7
+ export declare function zip<T extends unknown[][]>(...arrays: T): ZipArrayType<T>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 複数の配列を受け取り、それらの配列の要素を組み合わせて新しい配列を作成します。
3
+ * @param {T} arrays - 組み合わせる配列のリスト
4
+ * @returns {ZipArrayType<T>} - 各配列の要素が組み合わされた新しい配列
5
+ */
6
+ export function zip(...arrays) {
7
+ if (arrays.length === 0) {
8
+ return [];
9
+ }
10
+ const length = Math.min(...arrays.map((array) => array.length));
11
+ return Array.from({ length }, (_, index) => {
12
+ return arrays.map((array) => array[index]);
13
+ });
14
+ }
15
+ //# sourceMappingURL=zip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/Array/zip.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAwB,GAAG,MAAS;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAgC,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,CAA+B,CAAC;AACnC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ZipArrayType } from "../types/arrayType";
2
+ /**
3
+ * 異なる長さの配列を組み合わせて、最も長い配列の長さに合わせた配列を生成します。
4
+ * 短い配列の不足分は`undefined`で埋められます。
5
+ *
6
+ * @param {T} arrays - 組み合わせる配列のリスト。
7
+ * @returns {ZipArrayType<T>} - 各配列の要素が組み合わされた新しい配列。
8
+ * 最も長い配列の長さに合わせて、短い配列の不足分は`undefined`で埋められます。
9
+ */
10
+ export declare function zipLongest<T extends unknown[][]>(...arrays: T): ZipArrayType<T>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 異なる長さの配列を組み合わせて、最も長い配列の長さに合わせた配列を生成します。
3
+ * 短い配列の不足分は`undefined`で埋められます。
4
+ *
5
+ * @param {T} arrays - 組み合わせる配列のリスト。
6
+ * @returns {ZipArrayType<T>} - 各配列の要素が組み合わされた新しい配列。
7
+ * 最も長い配列の長さに合わせて、短い配列の不足分は`undefined`で埋められます。
8
+ */
9
+ export function zipLongest(...arrays) {
10
+ const maxLength = Math.max(...arrays.map((array) => array.length));
11
+ return Array.from({ length: maxLength }, (_, index) => {
12
+ return arrays.map((array) => array[index]);
13
+ });
14
+ }
15
+ //# sourceMappingURL=zipLongest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zipLongest.js","sourceRoot":"","sources":["../../src/Array/zipLongest.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,GAAG,MAAS;IAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,CAA+B,CAAC;AACnC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ArrayToUnion } from "../types/logicType";
1
+ import type { ArrayToUnion } from "../types/logicType";
2
2
  interface DayList {
3
3
  de: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
4
4
  ko: ["일", "월", "화", "수", "목", "금", "토"];
@@ -1,4 +1,5 @@
1
1
  export * from "./dateRange";
2
2
  export * from "./getDay";
3
+ export * from "./isLeapYear";
3
4
  export * from "./new";
4
5
  export * from "./now";
@@ -1,5 +1,6 @@
1
1
  export * from "./dateRange";
2
2
  export * from "./getDay";
3
+ export * from "./isLeapYear";
3
4
  export * from "./new";
4
5
  export * from "./now";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Date/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Date/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 与えられた年が閏年かどうかを判定する
3
+ * @param {number} year - 判定する年
4
+ * @returns {boolean} 閏年であればtrue、そうでなければfalse
5
+ */
6
+ export declare const isLeapYear: (year: number) => boolean;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 与えられた年が閏年かどうかを判定する
3
+ * @param {number} year - 判定する年
4
+ * @returns {boolean} 閏年であればtrue、そうでなければfalse
5
+ */
6
+ export const isLeapYear = (year) => {
7
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
8
+ };
9
+ //# sourceMappingURL=isLeapYear.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLeapYear.js","sourceRoot":"","sources":["../../src/Date/isLeapYear.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE;IAClD,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { hoursType, hoursTypeInt, millisecondsType, millisecondsTypeInt, minutesType, minutesTypeInt, secondsType, secondsTypeInt } from "../types/clockType";
2
- import { dayType, dayTypeInt, monTypeInt, monTypeZero } from "../types/dateType";
1
+ import type { hoursType, hoursTypeInt, millisecondsType, millisecondsTypeInt, minutesType, minutesTypeInt, secondsType, secondsTypeInt } from "../types/clockType";
2
+ import type { dayType, dayTypeInt, monTypeInt, monTypeZero } from "../types/dateType";
3
3
  /**
4
4
  * 日付を生成する
5
5
  * @param year
@@ -1,4 +1,4 @@
1
- import { hoursTypeInt } from "../types/clockType";
1
+ import type { hoursTypeInt } from "../types/clockType";
2
2
  /**
3
3
  * タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
4
4
  * @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
@@ -1,4 +1,4 @@
1
- import { OneHourMs } from "..";
1
+ import { OneHourMs } from "../Consts/clock";
2
2
  /**
3
3
  * タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
4
4
  * @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
@@ -1 +1 @@
1
- {"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/Date/now.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,iBAA+B,CAAC,EAAQ,EAAE;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/Date/now.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,iBAA+B,CAAC,EAAQ,EAAE;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * IPアドレスがプライベート範囲にあるかどうかを判定します
3
+ * @param {string} ip - 判定するIPアドレス
4
+ * @returns {boolean} プライベート範囲にあればtrue
5
+ */
6
+ export declare const isPrivateIp: (ip: string) => boolean;
@@ -0,0 +1,17 @@
1
+ import { ipToLong } from "./ipToLong";
2
+ import { isInRange } from "./isInRange";
3
+ /**
4
+ * IPアドレスがプライベート範囲にあるかどうかを判定します
5
+ * @param {string} ip - 判定するIPアドレス
6
+ * @returns {boolean} プライベート範囲にあればtrue
7
+ */
8
+ export const isPrivateIp = (ip) => {
9
+ // プライベートIP範囲の定義
10
+ const privateRanges = [
11
+ { start: "10.0.0.0", end: "10.255.255.255" },
12
+ { start: "172.16.0.0", end: "172.31.255.255" },
13
+ { start: "192.168.0.0", end: "192.168.255.255" },
14
+ ];
15
+ return privateRanges.some((range) => isInRange(ip, range.start, ipToLong(range.end)));
16
+ };
17
+ //# sourceMappingURL=isPrivateIp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPrivateIp.js","sourceRoot":"","sources":["../../src/IP/isPrivateIp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAU,EAAW,EAAE;IACjD,gBAAgB;IAChB,MAAM,aAAa,GAAG;QACpB,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE;QAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE;QAC9C,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE;KACjD,CAAC;IAEF,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC"}
@@ -6,13 +6,13 @@ import { ipToBinaryString } from "./ipToBinaryString";
6
6
  * @returns {number} CIDR
7
7
  */
8
8
  export const subnetMaskToCidr = (subnetMask) => {
9
- var _a;
10
9
  // サブネットマスクが有効なIPアドレス形式かどうかをチェック
11
10
  const octets = subnetMask.split(".").map(Number);
12
11
  if (octets.length !== 4 ||
13
12
  octets.some((octet) => isValueNaN(octet, true) || octet < 0 || octet > 255)) {
14
13
  return 0;
15
14
  }
16
- return (_a = ipToBinaryString(subnetMask).match(/1/g)) === null || _a === void 0 ? void 0 : _a.length;
15
+ return ipToBinaryString(subnetMask).match(/1/g)
16
+ .length;
17
17
  };
18
18
  //# sourceMappingURL=subnetMaskToCidr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subnetMaskToCidr.js","sourceRoot":"","sources":["../../src/IP/subnetMaskToCidr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;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,OAAO,MAAA,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,MAAgB,CAAC;AACpE,CAAC,CAAC"}
1
+ {"version":3,"file":"subnetMaskToCidr.js","sourceRoot":"","sources":["../../src/IP/subnetMaskToCidr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;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 @@
1
+ export * from "./quickSortSimple";
@@ -0,0 +1,2 @@
1
+ export * from "./quickSortSimple";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Simple/Array/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { hoursType, hoursTypeInt } from "../../types/clockType";
1
+ import type { hoursType, hoursTypeInt } from "../../types/clockType";
2
2
  /**
3
3
  * 現在時刻を取得する
4
4
  * @param timeDifference - 時差 (default: 9)
@@ -1 +1 @@
1
- {"version":3,"file":"nowSimple.js","sourceRoot":"","sources":["../../../src/Simple/Date/nowSimple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,iBAA2C,CAAC,EAAE,EAAE;IACxE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,cAAc,CAAiB,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"nowSimple.js","sourceRoot":"","sources":["../../../src/Simple/Date/nowSimple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,iBAA2C,CAAC,EAAE,EAAE;IACxE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,cAAc,CAAiB,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC;AACf,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { dayType, monType } from "../../types/dateType";
2
- import { hoursTypeInt } from "../../types/clockType";
1
+ import type { hoursTypeInt } from "../../types/clockType";
2
+ import type { dayType, monType } from "../../types/dateType";
3
3
  export interface BIRTHDAYSIMPLE {
4
4
  <T extends monType>(birthdays: Date | `${number}-${T}-${dayType<T>}` | `${number}:${T}:${dayType<T>}` | `${number}/${T}/${dayType<T>}` | {
5
5
  year: number;
@@ -1 +1 @@
1
- {"version":3,"file":"birthdaySimple.js","sourceRoot":"","sources":["../../../src/Simple/Tool/birthdaySimple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAa3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAC7B,SAK8C,EAC9C,iBAA+B,CAAC,EAChC,EAAE;IACF,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAIvD,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAIvD,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAIvD,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,SAAS,YAAY,IAAI,EAAE,CAAC;QAC9B,OAAO,QAAQ,CACb,SAAS,CAAC,WAAW,EAAE,EACvB,SAAS,CAAC,QAAQ,EAAgB,EAClC,SAAS,CAAC,OAAO,EAA4B,EAC7C,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CACb,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,GAAiB,EAC3B,SAAS,CAAC,GAA6B,EACvC,cAAc,CACf,CAAC;AACJ,CAAC,CAAmB,CAAC"}
1
+ {"version":3,"file":"birthdaySimple.js","sourceRoot":"","sources":["../../../src/Simple/Tool/birthdaySimple.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAY3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAC7B,SAK8C,EAC9C,iBAA+B,CAAC,EAChC,EAAE;IACF,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAIvD,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAIvD,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAIvD,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,SAAS,YAAY,IAAI,EAAE,CAAC;QAC9B,OAAO,QAAQ,CACb,SAAS,CAAC,WAAW,EAAE,EACvB,SAAS,CAAC,QAAQ,EAAgB,EAClC,SAAS,CAAC,OAAO,EAA4B,EAC7C,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CACb,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,GAAiB,EAC3B,SAAS,CAAC,GAA6B,EACvC,cAAc,CACf,CAAC;AACJ,CAAC,CAAmB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { hoursTypeInt } from "../../types/clockType";
2
- import { MonthsWith31Days, MonthsWith31DaysInt, MonthsWithout31Days, MonthsWithout31DaysInt, convertMonTypeZero, dayType, dayTypeInt } from "../../types/dateType";
1
+ import type { hoursTypeInt } from "../../types/clockType";
2
+ import type { MonthsWith31Days, MonthsWith31DaysInt, MonthsWithout31Days, MonthsWithout31DaysInt, convertMonTypeZero, dayType, dayTypeInt } from "../../types/dateType";
3
3
  /**
4
4
  * 曜日を取得する
5
5
  * @param properties - 年月日
@@ -1 +1 @@
1
- {"version":3,"file":"dayOfWeekSimple.js","sourceRoot":"","sources":["../../../src/Simple/Tool/dayOfWeekSimple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAwC7C,SAAS,eAAe,CAOtB,UAyBQ,EACR,iBAA+B,CAAC;IAEhC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;iBAChC,KAAK,CAAC,GAAG,CAAC;gBACX,4DAA4D;iBAC3D,GAAG,CAAC,MAAM,CAAQ,CAAC;YACtB,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;iBAChC,KAAK,CAAC,GAAG,CAAC;gBACX,4DAA4D;iBAC3D,GAAG,CAAC,MAAM,CAAQ,CAAC;YACtB,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;aAChC,KAAK,CAAC,GAAG,CAAC;YACX,4DAA4D;aAC3D,GAAG,CAAC,MAAM,CAAQ,CAAC;QACtB,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,UAAU,YAAY,IAAI,EAAE,CAAC;QAC/B,OAAO,SAAS,CACd;YACE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE;YAC9B,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAER;YACvB,GAAG,EAAE,UAAU,CAAC,OAAO,EAEtB;SACF,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CACd,UAIC,EACD,cAAc,CACf,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"dayOfWeekSimple.js","sourceRoot":"","sources":["../../../src/Simple/Tool/dayOfWeekSimple.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA8B7C,SAAS,eAAe,CAOtB,UAyBQ,EACR,iBAA+B,CAAC;IAEhC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;iBAChC,KAAK,CAAC,GAAG,CAAC;gBACX,4DAA4D;iBAC3D,GAAG,CAAC,MAAM,CAAQ,CAAC;YACtB,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;iBAChC,KAAK,CAAC,GAAG,CAAC;gBACX,4DAA4D;iBAC3D,GAAG,CAAC,MAAM,CAAQ,CAAC;YACtB,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;aAChC,KAAK,CAAC,GAAG,CAAC;YACX,4DAA4D;aAC3D,GAAG,CAAC,MAAM,CAAQ,CAAC;QACtB,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,UAAU,YAAY,IAAI,EAAE,CAAC;QAC/B,OAAO,SAAS,CACd;YACE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE;YAC9B,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAER;YACvB,GAAG,EAAE,UAAU,CAAC,OAAO,EAEtB;SACF,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CACd,UAIC,EACD,cAAc,CACf,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,2 +1,3 @@
1
+ export * from "./Array";
1
2
  export * from "./Date";
2
3
  export * from "./Tool";
@@ -1,3 +1,4 @@
1
+ export * from "./Array";
1
2
  export * from "./Date";
2
3
  export * from "./Tool";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Simple/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Simple/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const fromBase64: (string_: string) => string;
@@ -0,0 +1,4 @@
1
+ export const fromBase64 = (string_) => {
2
+ return Buffer.from(string_, "base64").toString("utf8");
3
+ };
4
+ //# sourceMappingURL=fromBase64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromBase64.js","sourceRoot":"","sources":["../../src/String/fromBase64.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./formatString";
2
+ export * from "./fromBase64";
2
3
  export * from "./padEnd";
3
4
  export * from "./padStart";
4
5
  export * from "./randomString";
@@ -1,4 +1,5 @@
1
1
  export * from "./formatString";
2
+ export * from "./fromBase64";
2
3
  export * from "./padEnd";
3
4
  export * from "./padStart";
4
5
  export * from "./randomString";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/String/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/String/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { hoursTypeInt } from "../types/clockType";
2
- import { dayTypeInt, monTypeInt } from "../types/dateType";
1
+ import type { hoursTypeInt } from "../types/clockType";
2
+ import type { dayTypeInt, monTypeInt } from "../types/dateType";
3
3
  /**
4
4
  * @param {number} year
5
5
  * @param {number} mon
@@ -1 +1 @@
1
- {"version":3,"file":"birthday.js","sourceRoot":"","sources":["../../src/Tool/birthday.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAY,EACZ,GAAM,EACN,GAAkB,EAClB,iBAA+B,CAAC,EAChC,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,CAAC,GACL,OAAO;QACP,UAAU,CACR,OAAO,CAAC,WAAW,EAAE,EACrB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAe,EACnC,IAAI,CAAC,MAAM,EAAmB,CAC/B;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
+ {"version":3,"file":"birthday.js","sourceRoot":"","sources":["../../src/Tool/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,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,CAAC,GACL,OAAO;QACP,UAAU,CACR,OAAO,CAAC,WAAW,EAAE,EACrB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAe,EACnC,IAAI,CAAC,MAAM,EAAmB,CAC/B;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,5 +1,5 @@
1
- import { hoursTypeInt } from "../types/clockType";
2
- import { dayTypeInt, monTypeInt } from "../types/dateType";
1
+ import type { hoursTypeInt } from "../types/clockType";
2
+ import type { dayTypeInt, monTypeInt } from "../types/dateType";
3
3
  /**
4
4
  * 曜日を取得する
5
5
  * @param properties
@@ -1 +1 @@
1
- {"version":3,"file":"dayOfWeek.js","sourceRoot":"","sources":["../../src/Tool/dayOfWeek.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,UAIC,EACD,iBAA+B,CAAC,EAChC,EAAE;IACF,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CACf,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EACxC,UAAU,CAAC,GAAG,IAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAgB,EAC1D,UAAU,CAAC,GAAG,IAAK,OAAO,CAAC,OAAO,EAAoB,CACvD,CAAC,MAAM,EAAE,CAAC;IACb,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"dayOfWeek.js","sourceRoot":"","sources":["../../src/Tool/dayOfWeek.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,UAIC,EACD,iBAA+B,CAAC,EAChC,EAAE;IACF,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CACf,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EACxC,UAAU,CAAC,GAAG,IAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAgB,EAC1D,UAAU,CAAC,GAAG,IAAK,OAAO,CAAC,OAAO,EAAoB,CACvD,CAAC,MAAM,EAAE,CAAC;IACb,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC1B,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { Types, ValidateCoreReturnType, ValidateType } from "../../Validate/type";
1
+ import type { Types, ValidateCoreReturnType, ValidateType } from "../../Validate/type";
2
2
  export declare const array: <A extends string | number | boolean, O extends { [P in Types<A>]: (value: ValidateType<P>) => ValidateCoreReturnType<ValidateType<P>>; } = { [P_1 in Types<A>]: (value: ValidateType<P_1>) => ValidateCoreReturnType<ValidateType<P_1>>; }>(option?: O, message?: string) => (values: A[]) => ValidateCoreReturnType<A[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/Validate/array/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,MAAM,CAAC,MAAM,KAAK,GAAG,CAYnB,SAAY,EAAO,EACnB,OAAgB,EAChB,EAAE;IACF,OAAO,CAAC,MAAW,EAA+B,EAAE;QAClD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,KAAiB,CAAC,CAAC;gBACnD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAc,EAAE,QAAQ,CAAA,EAAE,CAAC;oBAC1C,OAAO;wBACL,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAc,EAAE,OAAO,KAAI,EAAE;wBAClD,IAAI,EAAE,MAAM;qBACb,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/Validate/array/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOnD,MAAM,CAAC,MAAM,KAAK,GAAG,CAYnB,SAAY,EAAO,EACnB,OAAgB,EAChB,EAAE;IACF,OAAO,CAAC,MAAW,EAA+B,EAAE;QAClD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,KAAiB,CAAC,CAAC;gBACnD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAc,EAAE,QAAQ,CAAA,EAAE,CAAC;oBAC1C,OAAO;wBACL,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAc,EAAE,OAAO,KAAI,EAAE;wBAClD,IAAI,EAAE,MAAM;qBACb,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { ValidateCoreReturnType } from "../../Validate/type";
1
+ import type { ValidateCoreReturnType } from "../../Validate/type";
2
2
  export declare const boolean: (message?: string) => (value: boolean) => ValidateCoreReturnType<boolean>;
@@ -1,2 +1,2 @@
1
- import { Types, ValidateCoreReturnType, ValidateReturnType } from "../../Validate/type";
1
+ import type { Types, ValidateCoreReturnType, ValidateReturnType } from "../../Validate/type";
2
2
  export declare const core: <T>(type: Types<T>) => <O extends ValidateReturnType<T>[]>(value: T, option?: O, message?: string) => ValidateCoreReturnType<T>;
@@ -11,4 +11,5 @@ export * from "./isNodeWebkit";
11
11
  export * from "./isNotEmpty";
12
12
  export * from "./isNumber";
13
13
  export * from "./isObject";
14
+ export * from "./isPerfectSquare";
14
15
  export * from "./isPrimeNumber";
@@ -13,5 +13,6 @@ export * from "./isNodeWebkit";
13
13
  export * from "./isNotEmpty";
14
14
  export * from "./isNumber";
15
15
  export * from "./isObject";
16
+ export * from "./isPerfectSquare";
16
17
  export * from "./isPrimeNumber";
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Validate/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,iBAAiB;AACjB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Validate/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,iBAAiB;AACjB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 与えられた数値が完全平方数かどうかを判定する
3
+ * @param {number} number_ - 判定する数値
4
+ * @returns {boolean} 完全平方数であればtrue、そうでなければfalse
5
+ */
6
+ export declare const isPerfectSquare: (number_: number) => boolean;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 与えられた数値が完全平方数かどうかを判定する
3
+ * @param {number} number_ - 判定する数値
4
+ * @returns {boolean} 完全平方数であればtrue、そうでなければfalse
5
+ */
6
+ export const isPerfectSquare = (number_) => {
7
+ if (number_ < 0) {
8
+ return false;
9
+ }
10
+ const sqrt = Math.sqrt(number_);
11
+ return sqrt === Math.floor(sqrt);
12
+ };
13
+ //# sourceMappingURL=isPerfectSquare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPerfectSquare.js","sourceRoot":"","sources":["../../src/Validate/isPerfectSquare.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAW,EAAE;IAC1D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const number: <T extends ValidateReturnType<number>[]>(option?: T | undefined, message?: string) => (value: number) => import("../../Validate/type").ValidateCoreReturnType<number>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const double: (message?: string) => ValidateReturnType<number>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const even: (message?: string) => ValidateReturnType<number>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const maxValue: (maxValue: number, message?: string) => ValidateReturnType<number>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const minValue: (minValue: number, message?: string) => ValidateReturnType<number>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const odd: (message?: string) => ValidateReturnType<number>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const prime: (message?: string) => ValidateReturnType<number>;
@@ -1,4 +1,4 @@
1
- import { isPrimeNumber } from "../isPrimeNumber";
1
+ import { isPrimeNumber } from "../../Validate/isPrimeNumber";
2
2
  export const prime = (message) => {
3
3
  return {
4
4
  type: "number",
@@ -1 +1 @@
1
- {"version":3,"file":"prime.js","sourceRoot":"","sources":["../../../src/Validate/number/prime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAA8B,EAAE;IACpE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"prime.js","sourceRoot":"","sources":["../../../src/Validate/number/prime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAA8B,EAAE;IACpE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ValidateCoreReturnType, ValidateType } from "../../Validate/type";
1
+ import type { ValidateCoreReturnType, ValidateType } from "../../Validate/type";
2
2
  export declare const object: <T extends {
3
3
  [key: string]: (value: any) => ValidateCoreReturnType<any>;
4
4
  }>(option?: T, message?: string) => (value: { [key in keyof T]: ValidateType<ReturnType<T[key]>["type"]>; }) => {
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const string: <T extends ValidateReturnType<string>[]>(option?: T | undefined, message?: string) => (value: string) => import("../../Validate/type").ValidateCoreReturnType<string>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const email: (message?: string) => ValidateReturnType<string>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const length_: (length: number, message?: string) => ValidateReturnType<string>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const maxLength: (maxLength: number, message?: string) => ValidateReturnType<string>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const minLength: (minLength: number, message?: string) => ValidateReturnType<string>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const numberString: (message?: string) => ValidateReturnType<string>;
@@ -1,4 +1,4 @@
1
- import { isNumber } from "../isNumber";
1
+ import { isNumber } from "../../Validate/isNumber";
2
2
  export const numberString = (message) => {
3
3
  return {
4
4
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"numberString.js","sourceRoot":"","sources":["../../../src/Validate/string/numberString.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAA8B,EAAE;IAC3E,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"numberString.js","sourceRoot":"","sources":["../../../src/Validate/string/numberString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAA8B,EAAE;IAC3E,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const regexMatch: (pattern: RegExp, message?: string) => ValidateReturnType<string>;
@@ -1,2 +1,2 @@
1
- import { ValidateReturnType } from "../../Validate/type";
1
+ import type { ValidateReturnType } from "../../Validate/type";
2
2
  export declare const uuid: (versions?: (1 | 2 | 3 | 4 | 5)[], message?: string) => ValidateReturnType<string>;
@@ -1,4 +1,6 @@
1
- import { Length } from "./logicType";
1
+ import type { Length } from "./logicType";
2
2
  type Chunk<T, N extends number, C extends unknown[] = [], R extends unknown[] = []> = T extends [infer F, ...infer L] ? Length<C> extends N ? Chunk<L, N, [F], [...R, C]> : Chunk<L, N, [...C, F], R> : Length<C> extends 0 ? Length<R> extends 0 ? T[] : R : [...R, C];
3
3
  export type ChunkArrayType<T, N extends number> = Chunk<T, N>;
4
+ type ZIP<T, O extends unknown[] = []> = T extends [infer Head, ...infer Tail] ? Head extends unknown[] ? ZIP<Tail, [...O, Head[number]]> : never : T extends [] ? O[] : T;
5
+ export type ZipArrayType<T extends unknown[][]> = ZIP<T>;
4
6
  export {};
@@ -1,4 +1,4 @@
1
- import { doubleDigitInt, int, tripleDigitInt, upToFifty, upToForty, upToSixty, upToThirty, upToTwenty } from "./int";
1
+ import type { doubleDigitInt, int, tripleDigitInt, upToFifty, upToForty, upToSixty, upToThirty, upToTwenty } from "./int";
2
2
  export type hoursAmInt = int | 10 | 11 | 12;
3
3
  export type hoursAm = `0${int}` | `${10 | 11 | 12}`;
4
4
  export type hoursPmInt = 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23;
@@ -1,2 +1,2 @@
1
- import { Add, Multiply, Subtract } from "./mathType";
1
+ import type { Add, Multiply, Subtract } from "./mathType";
2
2
  export type ThreeStepsForwardTwoStepsBack<T extends number> = T extends 1 ? 1 : T extends 2 ? 2 : T extends 3 ? 3 : Add<3, Multiply<3, Subtract<T, 3>>>;
@@ -1,4 +1,4 @@
1
- import { Subtract } from "./mathType";
1
+ import type { Subtract } from "./mathType";
2
2
  export type isBoolean<X> = X extends number ? X extends 0 ? false : true : X extends string ? X extends "" ? false : true : X extends boolean ? X : X extends undefined ? false : X extends null ? false : X extends object ? X extends unknown[] ? X extends [] ? false : true : true : X extends (...arguments_: unknown[]) => unknown ? false : true;
3
3
  export type AND<X, Y> = isBoolean<X> extends true ? isBoolean<Y> extends true ? true : false : false;
4
4
  export type OR<X, Y> = isBoolean<X> extends true ? true : isBoolean<Y> extends true ? true : false;
@@ -1,4 +1,4 @@
1
- import { BGreaterThanA, Length } from "./logicType";
1
+ import type { BGreaterThanA, Length } from "./logicType";
2
2
  export type NumberToArray<T extends number, U extends number[] = []> = U["length"] extends T ? U : NumberToArray<T, [...U, U["length"]]>;
3
3
  export type Add<X extends number, Y extends number> = `${X}` extends `-${infer N extends number}` ? `${Y}` extends `-${infer M extends number}` ? `-${Add<N, M>}` extends `${infer R extends number}` ? R : never : Subtract<Y, N> : `${Y}` extends `-${infer M extends number}` ? Subtract<X, M> : Length<[...NumberToArray<X>, ...NumberToArray<Y>]>;
4
4
  export type Subtract<A extends number, B extends number> = `${A}` extends `-${infer N extends number}` ? `${B}` extends `-${infer M extends number}` ? Subtract<M, N> : `-${Add<N, B>}` extends `${infer R extends number}` ? R : never : `${B}` extends `-${infer M extends number}` ? Length<[...NumberToArray<A>, ...NumberToArray<M>]> : NumberToArray<A> extends [...NumberToArray<B>, ...infer R] ? Length<R> : NumberToArray<B> extends [...NumberToArray<A>, ...infer R] ? `-${Length<R>}` extends `${infer M extends number}` ? M : never : never;
package/package.json CHANGED
@@ -5,24 +5,25 @@
5
5
  },
6
6
  "description": "個人的に作った便利関数集 個人用途なので破壊的変更がある可能性があります。 Main Packageに依存関係はありません。 JavaScriptからの呼び出しに対応しています。",
7
7
  "devDependencies": {
8
- "@biomejs/biome": "1.4.1",
9
- "@swc/core": "^1.3.100",
10
- "@swc/jest": "^0.2.29",
11
- "@types/jest": "^29.5.10",
12
- "@types/node": "^20.10.2",
13
- "@typescript-eslint/eslint-plugin": "^6.13.1",
14
- "@typescript-eslint/parser": "^6.13.1",
15
- "bun-types": "^1.0.15",
16
- "eslint": "^8.55.0",
17
- "eslint-plugin-unicorn": "^49.0.0",
18
- "gh-pages": "^6.1.0",
8
+ "@biomejs/biome": "1.5.3",
9
+ "@swc/core": "^1.4.0",
10
+ "@swc/jest": "^0.2.36",
11
+ "@types/jest": "^29.5.12",
12
+ "@types/node": "^20.11.17",
13
+ "@typescript-eslint/eslint-plugin": "^7.0.1",
14
+ "@typescript-eslint/parser": "^7.0.1",
15
+ "bun-types": "^1.0.26",
16
+ "dependency-cruiser": "^16.2.0",
17
+ "eslint": "^8.56.0",
18
+ "eslint-plugin-unicorn": "^51.0.1",
19
+ "gh-pages": "^6.1.1",
19
20
  "jest": "^29.7.0",
20
- "ts-jest": "^29.1.1",
21
- "ts-node": "^10.9.1",
21
+ "ts-jest": "^29.1.2",
22
+ "ts-node": "^10.9.2",
22
23
  "tsc-alias": "^1.8.8",
23
- "typedoc": "^0.25.4",
24
- "typescript": "^5.3.2",
25
- "umt": "^1.3.6"
24
+ "typedoc": "^0.25.8",
25
+ "typescript": "^5.3.3",
26
+ "umt": "^1.4.2"
26
27
  },
27
28
  "directories": {
28
29
  "doc": "doc",
@@ -51,9 +52,9 @@
51
52
  "test": "jest",
52
53
  "test-debug": "cd test && tsc",
53
54
  "ts-node": "yarn build && ts-node --project tmp/tsconfig.json tmp/src/index.ts",
54
- "lint": "yarn eslint --fix && biome check . && tsc",
55
+ "lint": "yarn eslint --fix && biome ci . && tsc",
55
56
  "format": "biome format . --write",
56
57
  "eslint": "eslint src"
57
58
  },
58
- "version": "1.4.1"
59
- }
59
+ "version": "1.5.0"
60
+ }