@mathrunet/masamune 3.2.6 → 3.3.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # [3.3.0](https://github.com/mathrunet/node_masamune/compare/v3.2.6...v3.3.0) (2025-09-11)
2
+
3
+
4
+ ### feat
5
+
6
+ * Added v7 support for Uuid. ([fa12b77](https://github.com/mathrunet/node_masamune/commit/fa12b7766d879d14f1d021ecfa1d6b17012df5f7))
7
+
8
+
9
+
1
10
  ## [3.2.6](https://github.com/mathrunet/node_masamune/compare/v3.2.5...v3.2.6) (2025-09-08)
2
11
 
3
12
 
@@ -32,14 +32,33 @@ export declare function isDynamicMap(value: any): value is {
32
32
  */
33
33
  export declare function parse(value: string | number): string | number | boolean;
34
34
  /**
35
- * Generates a UUIDv4.
35
+ * Generate and retrieve the UUID for Version 7.
36
36
  *
37
- * UUIDv4を生成します。
37
+ * The strings can be sorted in chronological order of generation.
38
38
  *
39
- * @return {string}
40
- * UUIDv4.
39
+ * Returned as a string with 32 hyphenated characters removed.
40
+ *
41
+ * If [baseTime] is specified, the date and time to be generated can be adjusted.
42
+ * If [reverse] is specified, the elapsed time from [baseTime] is reversed.
43
+ *
44
+ * Version7のUUIDを生成し取得します。
45
+ *
46
+ * 文字列を生成した時系列順にソート可能です。
47
+ *
48
+ * 32文字のハイフンが取り除かれた文字列として返されます。
49
+ *
50
+ * [baseTime]を指定した場合、生成する日時を調節できます。
51
+ * [reverse]を指定した場合は、[baseTime]からの経過時間を反転させた値を使用します。
52
+ *
53
+ * @param {Object} options - Options for UUID generation
54
+ * @param {Date} [options.baseTime] - Base time for UUID generation (defaults to current time)
55
+ * @param {boolean} [options.reverse=false] - Whether to reverse the timestamp
56
+ * @return {string} UUID v7 without hyphens
41
57
  */
42
- export declare function uuid(): string;
58
+ export declare function uuid(options?: {
59
+ baseTime?: Date;
60
+ reverse?: boolean;
61
+ }): string;
43
62
  /**
44
63
  * Divides an array into pieces of the specified size.
45
64
  *
package/dist/lib/utils.js CHANGED
@@ -4,7 +4,9 @@ exports.isDynamicMap = isDynamicMap;
4
4
  exports.parse = parse;
5
5
  exports.uuid = uuid;
6
6
  exports.splitArray = splitArray;
7
- const crypto_1 = require("crypto");
7
+ const uuid_1 = require("uuid");
8
+ // Same value as Dart's _kIntMaxValue for consistency
9
+ const INT_MAX_VALUE = 9007199254740991;
8
10
  /**
9
11
  * Checks if [value] is {[key: string]: any}.
10
12
  *
@@ -63,15 +65,42 @@ function parse(value) {
63
65
  }
64
66
  }
65
67
  /**
66
- * Generates a UUIDv4.
68
+ * Generate and retrieve the UUID for Version 7.
67
69
  *
68
- * UUIDv4を生成します。
70
+ * The strings can be sorted in chronological order of generation.
69
71
  *
70
- * @return {string}
71
- * UUIDv4.
72
+ * Returned as a string with 32 hyphenated characters removed.
73
+ *
74
+ * If [baseTime] is specified, the date and time to be generated can be adjusted.
75
+ * If [reverse] is specified, the elapsed time from [baseTime] is reversed.
76
+ *
77
+ * Version7のUUIDを生成し取得します。
78
+ *
79
+ * 文字列を生成した時系列順にソート可能です。
80
+ *
81
+ * 32文字のハイフンが取り除かれた文字列として返されます。
82
+ *
83
+ * [baseTime]を指定した場合、生成する日時を調節できます。
84
+ * [reverse]を指定した場合は、[baseTime]からの経過時間を反転させた値を使用します。
85
+ *
86
+ * @param {Object} options - Options for UUID generation
87
+ * @param {Date} [options.baseTime] - Base time for UUID generation (defaults to current time)
88
+ * @param {boolean} [options.reverse=false] - Whether to reverse the timestamp
89
+ * @return {string} UUID v7 without hyphens
72
90
  */
73
- function uuid() {
74
- return (0, crypto_1.randomUUID)().replace(/-/g, "");
91
+ function uuid(options) {
92
+ var _a, _b;
93
+ const baseTime = (_a = options === null || options === void 0 ? void 0 : options.baseTime) !== null && _a !== void 0 ? _a : new Date();
94
+ const reverse = (_b = options === null || options === void 0 ? void 0 : options.reverse) !== null && _b !== void 0 ? _b : false;
95
+ if (reverse) {
96
+ // Create a reversed timestamp for reverse sorting
97
+ // Same logic as Dart version: INT_MAX_VALUE - timestamp
98
+ const reversedTime = INT_MAX_VALUE - baseTime.getTime();
99
+ return (0, uuid_1.v7)({ msecs: reversedTime }).replace(/-/g, "");
100
+ }
101
+ else {
102
+ return (0, uuid_1.v7)({ msecs: baseTime.getTime() }).replace(/-/g, "");
103
+ }
75
104
  }
76
105
  /**
77
106
  * Divides an array into pieces of the specified size.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;AAiBA,oCAEC;AAgBD,sBAmBC;AAUD,oBAEC;AAsBD,gCAWC;AAnGD,mCAAkC;AAElC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,YAAY,CAAC,KAAU;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,KAAK,CAAC,KAAsB;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI;IAClB,OAAO,IAAA,mBAAU,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAI,KAAU,EAAE,SAAiB;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAC,SAAS,CAAC,CAAC;QAChD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;AAqBA,oCAEC;AAgBD,sBAmBC;AA0BD,oBAYC;AAsBD,gCAWC;AAhID,+BAAoC;AAEpC,qDAAqD;AACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,YAAY,CAAC,KAAU;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,KAAK,CAAC,KAAsB;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,IAAI,CAAC,OAAgD;;IACnE,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,KAAK,CAAC;IAE1C,IAAI,OAAO,EAAE,CAAC;QACZ,kDAAkD;QAClD,wDAAwD;QACxD,MAAM,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxD,OAAO,IAAA,SAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,SAAM,EAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAI,KAAU,EAAE,SAAiB;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAC,SAAS,CAAC,CAAC;QAChD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mathrunet/masamune",
3
- "version": "3.2.6",
3
+ "version": "3.3.0",
4
4
  "description": "Manages packages for the server portion (NodeJS) of the Masamune framework.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -49,7 +49,8 @@
49
49
  "node-fetch": "^2.6.9",
50
50
  "nodemailer": "^6.9.12",
51
51
  "stripe": "^17.6.0",
52
- "typescript": "^5.7.3"
52
+ "typescript": "^5.7.3",
53
+ "uuid": "^10.0.0"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@types/fluent-ffmpeg": "^2.1.27",