@powfix/core-js 0.20.4 → 0.21.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 (217) hide show
  1. package/dist/browser/cjs/index.browser.js +3 -0
  2. package/dist/browser/cjs/shared/utils/UUID.js +9 -9
  3. package/dist/browser/cjs/shared/utils/index.js +1 -1
  4. package/dist/browser/esm/index.browser.mjs +1 -0
  5. package/dist/browser/esm/shared/utils/UUID.mjs +9 -9
  6. package/dist/browser/esm/shared/utils/index.mjs +1 -1
  7. package/dist/browser/types/index.browser.d.ts +1 -0
  8. package/dist/browser/types/shared/utils/UUID.d.ts +5 -5
  9. package/dist/browser/types/shared/utils/index.d.ts +1 -0
  10. package/dist/cjs/index.js +17 -0
  11. package/dist/cjs/shared/constants/COORDINATE.js +10 -0
  12. package/dist/cjs/shared/constants/CRUD.js +22 -0
  13. package/dist/cjs/shared/constants/DATE.js +26 -0
  14. package/dist/cjs/shared/constants/DISTANCE.js +18 -0
  15. package/dist/cjs/shared/constants/DURATION.js +21 -0
  16. package/dist/cjs/shared/constants/NOT_NULL.js +4 -0
  17. package/dist/cjs/shared/constants/index.js +22 -0
  18. package/dist/cjs/shared/index.js +23 -0
  19. package/dist/cjs/shared/interfaces/Coordinate.js +2 -0
  20. package/dist/cjs/shared/interfaces/Point2.js +2 -0
  21. package/dist/cjs/shared/interfaces/Point3.js +2 -0
  22. package/dist/cjs/shared/interfaces/StorageProvider.js +2 -0
  23. package/dist/cjs/shared/interfaces/index.js +20 -0
  24. package/dist/cjs/shared/managers/SessionManager.js +134 -0
  25. package/dist/cjs/shared/managers/SessionManager.type.js +2 -0
  26. package/dist/cjs/shared/managers/index.js +18 -0
  27. package/dist/cjs/shared/scripts/base64Polyfill.js +18 -0
  28. package/dist/cjs/shared/scripts/index.js +17 -0
  29. package/dist/cjs/shared/services/index.js +17 -0
  30. package/dist/cjs/shared/services/time/TimeService.js +180 -0
  31. package/dist/cjs/shared/services/time/TimeService.type.js +2 -0
  32. package/dist/cjs/shared/services/time/index.js +18 -0
  33. package/dist/cjs/shared/types/IntRage.js +2 -0
  34. package/dist/cjs/shared/types/PartialExcept.js +2 -0
  35. package/dist/cjs/shared/types/index.js +18 -0
  36. package/dist/cjs/shared/utils/ArrayUtils.js +30 -0
  37. package/dist/cjs/shared/utils/AxiosUtils.js +53 -0
  38. package/dist/cjs/shared/utils/BooleanUtils.js +8 -0
  39. package/dist/cjs/shared/utils/Calc.js +27 -0
  40. package/dist/cjs/shared/utils/CoordinateUtils.js +42 -0
  41. package/dist/cjs/shared/utils/DateUtils.js +310 -0
  42. package/dist/cjs/shared/utils/Enum.js +36 -0
  43. package/dist/cjs/shared/utils/Enum.types.js +2 -0
  44. package/dist/cjs/shared/utils/I18nUtils.js +13 -0
  45. package/dist/cjs/shared/utils/JuminNumberUtils.js +50 -0
  46. package/dist/cjs/shared/utils/NumberUtils.js +25 -0
  47. package/dist/cjs/shared/utils/ObjectIdUtils.js +30 -0
  48. package/dist/cjs/shared/utils/Point3Utils.js +12 -0
  49. package/dist/cjs/shared/utils/RandomUtils.js +64 -0
  50. package/dist/cjs/shared/utils/Sequencer.js +148 -0
  51. package/dist/cjs/shared/utils/StringUtils.js +37 -0
  52. package/dist/cjs/shared/utils/UUID.js +320 -0
  53. package/dist/cjs/shared/utils/UUID.types.js +2 -0
  54. package/dist/cjs/shared/utils/Uint8ArrayUtils.js +13 -0
  55. package/dist/cjs/shared/utils/UuidUtils.js +77 -0
  56. package/dist/cjs/shared/utils/Validator.js +118 -0
  57. package/dist/cjs/shared/utils/global/atob.js +9 -0
  58. package/dist/cjs/shared/utils/global/base64.js +25 -0
  59. package/dist/cjs/shared/utils/global/between.js +7 -0
  60. package/dist/cjs/shared/utils/global/btoa.js +9 -0
  61. package/dist/cjs/shared/utils/global/castArray.js +6 -0
  62. package/dist/cjs/shared/utils/global/circularDistance.js +14 -0
  63. package/dist/cjs/shared/utils/global/fallbackIfMatch.js +9 -0
  64. package/dist/cjs/shared/utils/global/fallbackIfNull.js +7 -0
  65. package/dist/cjs/shared/utils/global/fallbackIfNullish.js +9 -0
  66. package/dist/cjs/shared/utils/global/fallbackIfUndefined.js +7 -0
  67. package/dist/cjs/shared/utils/global/firstNonNullish.js +13 -0
  68. package/dist/cjs/shared/utils/global/flat.js +117 -0
  69. package/dist/cjs/shared/utils/global/index.js +31 -0
  70. package/dist/cjs/shared/utils/global/processFirstNonNullish.js +11 -0
  71. package/dist/cjs/shared/utils/global/pureEnum.js +23 -0
  72. package/dist/cjs/shared/utils/global/sleep.js +5 -0
  73. package/dist/cjs/shared/utils/index.js +39 -0
  74. package/dist/cjs/shared/utils/try-catch/TryCatch.js +78 -0
  75. package/dist/cjs/shared/utils/try-catch/index.js +17 -0
  76. package/dist/esm/index.mjs +1 -0
  77. package/dist/esm/shared/constants/COORDINATE.mjs +6 -0
  78. package/dist/esm/shared/constants/CRUD.mjs +19 -0
  79. package/dist/esm/shared/constants/DATE.mjs +22 -0
  80. package/dist/esm/shared/constants/DISTANCE.mjs +14 -0
  81. package/dist/esm/shared/constants/DURATION.mjs +17 -0
  82. package/dist/esm/shared/constants/NOT_NULL.mjs +1 -0
  83. package/dist/esm/shared/constants/index.mjs +6 -0
  84. package/dist/esm/shared/index.mjs +7 -0
  85. package/dist/esm/shared/interfaces/Coordinate.mjs +1 -0
  86. package/dist/esm/shared/interfaces/Point2.mjs +1 -0
  87. package/dist/esm/shared/interfaces/Point3.mjs +1 -0
  88. package/dist/esm/shared/interfaces/StorageProvider.mjs +1 -0
  89. package/dist/esm/shared/interfaces/index.mjs +4 -0
  90. package/dist/esm/shared/managers/SessionManager.mjs +127 -0
  91. package/dist/esm/shared/managers/SessionManager.type.mjs +1 -0
  92. package/dist/esm/shared/managers/index.mjs +2 -0
  93. package/dist/esm/shared/scripts/base64Polyfill.mjs +11 -0
  94. package/dist/esm/shared/scripts/index.mjs +1 -0
  95. package/dist/esm/shared/services/index.mjs +1 -0
  96. package/dist/esm/shared/services/time/TimeService.mjs +173 -0
  97. package/dist/esm/shared/services/time/TimeService.type.mjs +1 -0
  98. package/dist/esm/shared/services/time/index.mjs +2 -0
  99. package/dist/esm/shared/types/IntRage.mjs +1 -0
  100. package/dist/esm/shared/types/PartialExcept.mjs +1 -0
  101. package/dist/esm/shared/types/index.mjs +2 -0
  102. package/dist/esm/shared/utils/ArrayUtils.mjs +26 -0
  103. package/dist/esm/shared/utils/AxiosUtils.mjs +49 -0
  104. package/dist/esm/shared/utils/BooleanUtils.mjs +5 -0
  105. package/dist/esm/shared/utils/Calc.mjs +23 -0
  106. package/dist/esm/shared/utils/CoordinateUtils.mjs +38 -0
  107. package/dist/esm/shared/utils/DateUtils.mjs +303 -0
  108. package/dist/esm/shared/utils/Enum.mjs +32 -0
  109. package/dist/esm/shared/utils/Enum.types.mjs +1 -0
  110. package/dist/esm/shared/utils/I18nUtils.mjs +6 -0
  111. package/dist/esm/shared/utils/JuminNumberUtils.mjs +46 -0
  112. package/dist/esm/shared/utils/NumberUtils.mjs +21 -0
  113. package/dist/esm/shared/utils/ObjectIdUtils.mjs +26 -0
  114. package/dist/esm/shared/utils/Point3Utils.mjs +8 -0
  115. package/dist/esm/shared/utils/RandomUtils.mjs +60 -0
  116. package/dist/esm/shared/utils/Sequencer.mjs +141 -0
  117. package/dist/esm/shared/utils/StringUtils.mjs +33 -0
  118. package/dist/esm/shared/utils/UUID.mjs +316 -0
  119. package/dist/esm/shared/utils/UUID.types.mjs +1 -0
  120. package/dist/esm/shared/utils/Uint8ArrayUtils.mjs +9 -0
  121. package/dist/esm/shared/utils/UuidUtils.mjs +40 -0
  122. package/dist/esm/shared/utils/Validator.mjs +114 -0
  123. package/dist/esm/shared/utils/global/atob.mjs +3 -0
  124. package/dist/esm/shared/utils/global/base64.mjs +21 -0
  125. package/dist/esm/shared/utils/global/between.mjs +3 -0
  126. package/dist/esm/shared/utils/global/btoa.mjs +3 -0
  127. package/dist/esm/shared/utils/global/castArray.mjs +3 -0
  128. package/dist/esm/shared/utils/global/circularDistance.mjs +11 -0
  129. package/dist/esm/shared/utils/global/fallbackIfMatch.mjs +6 -0
  130. package/dist/esm/shared/utils/global/fallbackIfNull.mjs +4 -0
  131. package/dist/esm/shared/utils/global/fallbackIfNullish.mjs +6 -0
  132. package/dist/esm/shared/utils/global/fallbackIfUndefined.mjs +4 -0
  133. package/dist/esm/shared/utils/global/firstNonNullish.mjs +10 -0
  134. package/dist/esm/shared/utils/global/flat.mjs +113 -0
  135. package/dist/esm/shared/utils/global/index.mjs +15 -0
  136. package/dist/esm/shared/utils/global/processFirstNonNullish.mjs +8 -0
  137. package/dist/esm/shared/utils/global/pureEnum.mjs +18 -0
  138. package/dist/esm/shared/utils/global/sleep.mjs +1 -0
  139. package/dist/esm/shared/utils/index.mjs +23 -0
  140. package/dist/esm/shared/utils/try-catch/TryCatch.mjs +74 -0
  141. package/dist/esm/shared/utils/try-catch/index.mjs +1 -0
  142. package/dist/node/cjs/index.nodejs.js +3 -0
  143. package/dist/node/cjs/shared/utils/UUID.js +9 -9
  144. package/dist/node/cjs/shared/utils/index.js +1 -1
  145. package/dist/node/esm/index.nodejs.mjs +1 -0
  146. package/dist/node/esm/shared/utils/UUID.mjs +9 -9
  147. package/dist/node/esm/shared/utils/index.mjs +1 -1
  148. package/dist/node/types/index.nodejs.d.ts +1 -0
  149. package/dist/node/types/shared/utils/UUID.d.ts +5 -5
  150. package/dist/node/types/shared/utils/index.d.ts +1 -0
  151. package/dist/types/index.d.ts +1 -0
  152. package/dist/types/shared/constants/COORDINATE.d.ts +7 -0
  153. package/dist/types/shared/constants/CRUD.d.ts +9 -0
  154. package/dist/types/shared/constants/DATE.d.ts +13 -0
  155. package/dist/types/shared/constants/DISTANCE.d.ts +13 -0
  156. package/dist/types/shared/constants/DURATION.d.ts +16 -0
  157. package/dist/types/shared/constants/NOT_NULL.d.ts +1 -0
  158. package/dist/types/shared/constants/index.d.ts +6 -0
  159. package/dist/types/shared/index.d.ts +7 -0
  160. package/dist/types/shared/interfaces/Coordinate.d.ts +8 -0
  161. package/dist/types/shared/interfaces/Point2.d.ts +4 -0
  162. package/dist/types/shared/interfaces/Point3.d.ts +4 -0
  163. package/dist/types/shared/interfaces/StorageProvider.d.ts +7 -0
  164. package/dist/types/shared/interfaces/index.d.ts +4 -0
  165. package/dist/types/shared/managers/SessionManager.d.ts +15 -0
  166. package/dist/types/shared/managers/SessionManager.type.d.ts +9 -0
  167. package/dist/types/shared/managers/index.d.ts +2 -0
  168. package/dist/types/shared/scripts/base64Polyfill.d.ts +1 -0
  169. package/dist/types/shared/scripts/index.d.ts +1 -0
  170. package/dist/types/shared/services/index.d.ts +1 -0
  171. package/dist/types/shared/services/time/TimeService.d.ts +31 -0
  172. package/dist/types/shared/services/time/TimeService.type.d.ts +21 -0
  173. package/dist/types/shared/services/time/index.d.ts +2 -0
  174. package/dist/types/shared/types/IntRage.d.ts +3 -0
  175. package/dist/types/shared/types/PartialExcept.d.ts +1 -0
  176. package/dist/types/shared/types/index.d.ts +2 -0
  177. package/dist/types/shared/utils/ArrayUtils.d.ts +12 -0
  178. package/dist/types/shared/utils/AxiosUtils.d.ts +5 -0
  179. package/dist/types/shared/utils/BooleanUtils.d.ts +1 -0
  180. package/dist/types/shared/utils/Calc.d.ts +4 -0
  181. package/dist/types/shared/utils/CoordinateUtils.d.ts +8 -0
  182. package/dist/types/shared/utils/DateUtils.d.ts +24 -0
  183. package/dist/types/shared/utils/Enum.d.ts +16 -0
  184. package/dist/types/shared/utils/Enum.types.d.ts +6 -0
  185. package/dist/types/shared/utils/I18nUtils.d.ts +4 -0
  186. package/dist/types/shared/utils/JuminNumberUtils.d.ts +4 -0
  187. package/dist/types/shared/utils/NumberUtils.d.ts +4 -0
  188. package/dist/types/shared/utils/ObjectIdUtils.d.ts +4 -0
  189. package/dist/types/shared/utils/Point3Utils.d.ts +4 -0
  190. package/dist/types/shared/utils/RandomUtils.d.ts +8 -0
  191. package/dist/types/shared/utils/Sequencer.d.ts +38 -0
  192. package/dist/types/shared/utils/StringUtils.d.ts +5 -0
  193. package/dist/types/shared/utils/UUID.d.ts +147 -0
  194. package/dist/types/shared/utils/UUID.types.d.ts +2 -0
  195. package/dist/types/shared/utils/Uint8ArrayUtils.d.ts +4 -0
  196. package/dist/types/shared/utils/UuidUtils.d.ts +14 -0
  197. package/dist/types/shared/utils/Validator.d.ts +48 -0
  198. package/dist/types/shared/utils/global/atob.d.ts +2 -0
  199. package/dist/types/shared/utils/global/base64.d.ts +2 -0
  200. package/dist/types/shared/utils/global/between.d.ts +1 -0
  201. package/dist/types/shared/utils/global/btoa.d.ts +2 -0
  202. package/dist/types/shared/utils/global/castArray.d.ts +1 -0
  203. package/dist/types/shared/utils/global/circularDistance.d.ts +1 -0
  204. package/dist/types/shared/utils/global/fallbackIfMatch.d.ts +1 -0
  205. package/dist/types/shared/utils/global/fallbackIfNull.d.ts +1 -0
  206. package/dist/types/shared/utils/global/fallbackIfNullish.d.ts +1 -0
  207. package/dist/types/shared/utils/global/fallbackIfUndefined.d.ts +1 -0
  208. package/dist/types/shared/utils/global/firstNonNullish.d.ts +1 -0
  209. package/dist/types/shared/utils/global/flat.d.ts +14 -0
  210. package/dist/types/shared/utils/global/index.d.ts +15 -0
  211. package/dist/types/shared/utils/global/processFirstNonNullish.d.ts +1 -0
  212. package/dist/types/shared/utils/global/pureEnum.d.ts +17 -0
  213. package/dist/types/shared/utils/global/sleep.d.ts +1 -0
  214. package/dist/types/shared/utils/index.d.ts +23 -0
  215. package/dist/types/shared/utils/try-catch/TryCatch.d.ts +24 -0
  216. package/dist/types/shared/utils/try-catch/index.d.ts +1 -0
  217. package/package.json +10 -4
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DateUtils = void 0;
7
+ const moment_1 = __importDefault(require("moment"));
8
+ const DATE_1 = require("../constants/DATE");
9
+ class DateUtils {
10
+ static isPositiveInteger(value, strict) {
11
+ if (strict) {
12
+ if (typeof value !== 'number') {
13
+ return false;
14
+ }
15
+ }
16
+ if (typeof value === 'bigint') {
17
+ return value >= 0 && value <= Number.MAX_SAFE_INTEGER;
18
+ }
19
+ if (typeof value === 'number') {
20
+ if (!Number.isSafeInteger(value)) {
21
+ return false;
22
+ }
23
+ return value >= 0 && value <= Number.MAX_SAFE_INTEGER;
24
+ }
25
+ if (typeof value === 'string') {
26
+ if (!/^(0|[1-9]\d*)$/g.test(value)) {
27
+ return false;
28
+ }
29
+ return DateUtils.isPositiveInteger(Number(value), strict);
30
+ }
31
+ return false;
32
+ }
33
+ static isMilliseconds(value, strict) {
34
+ return DateUtils.isPositiveInteger(value, strict);
35
+ }
36
+ static isSeconds(value, strict) {
37
+ return DateUtils.isPositiveInteger(value, strict);
38
+ }
39
+ static isUnix(value, strict) {
40
+ return DateUtils.isSeconds(value, strict);
41
+ }
42
+ static isISO8601(value) {
43
+ if (typeof value !== 'string') {
44
+ return false;
45
+ }
46
+ if (!/(Z)|(\+\d{2}:\d{2})$/g.test(value)) {
47
+ return false;
48
+ }
49
+ return !Number.isNaN((new Date(value)).getTime());
50
+ }
51
+ static isValid(value, format, strict) {
52
+ var _a;
53
+ if (format === undefined) {
54
+ return DateUtils.isSeconds(value, strict) || DateUtils.isMilliseconds(value, strict) || DateUtils.isISO8601(value);
55
+ }
56
+ else {
57
+ switch (format) {
58
+ case DATE_1.DATE.FORMAT.UNIX: return DateUtils.isUnix(value, strict);
59
+ case DATE_1.DATE.FORMAT.SECONDS: return DateUtils.isSeconds(value, strict);
60
+ case DATE_1.DATE.FORMAT.MILLISECONDS: return DateUtils.isMilliseconds(value, strict);
61
+ case DATE_1.DATE.FORMAT.ISO_8601: return DateUtils.isISO8601(value);
62
+ default: {
63
+ throw new Error(`unknown format: ${format}(${(_a = DATE_1.DATE.FORMAT.toString(format)) !== null && _a !== void 0 ? _a : 'unknown'})`);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ static from(value, format, strict) {
69
+ var _a;
70
+ if (value instanceof Date) {
71
+ return value;
72
+ }
73
+ if (!DateUtils.isValid(value, format, strict)) {
74
+ throw new Error('invalid date');
75
+ }
76
+ if (format === undefined) {
77
+ if (DateUtils.isMilliseconds(value, strict)) {
78
+ return DateUtils.from(value, DATE_1.DATE.FORMAT.MILLISECONDS);
79
+ }
80
+ if (DateUtils.isISO8601(value)) {
81
+ return DateUtils.from(value, DATE_1.DATE.FORMAT.ISO_8601);
82
+ }
83
+ throw new Error(`no option to convert value to date`);
84
+ }
85
+ switch (format) {
86
+ case DATE_1.DATE.FORMAT.UNIX: return new Date(Number(value) * 1000);
87
+ case DATE_1.DATE.FORMAT.SECONDS: return new Date(Number(value) * 1000);
88
+ case DATE_1.DATE.FORMAT.MILLISECONDS: return new Date(Number(value));
89
+ case DATE_1.DATE.FORMAT.ISO_8601: return new Date(value);
90
+ default: {
91
+ throw new Error(`unknown format: ${format}(${(_a = DATE_1.DATE.FORMAT.toString(format)) !== null && _a !== void 0 ? _a : 'unknown'})`);
92
+ }
93
+ }
94
+ }
95
+ static fromUnix(value, strict) {
96
+ return DateUtils.from(value, DATE_1.DATE.FORMAT.UNIX, strict);
97
+ }
98
+ static fromSeconds(value, strict) {
99
+ return DateUtils.from(value, DATE_1.DATE.FORMAT.SECONDS, strict);
100
+ }
101
+ static fromMilliseconds(value, strict) {
102
+ return DateUtils.from(value, DATE_1.DATE.FORMAT.MILLISECONDS, strict);
103
+ }
104
+ static fromISO8601(value) {
105
+ return DateUtils.from(value, DATE_1.DATE.FORMAT.ISO_8601);
106
+ }
107
+ }
108
+ exports.DateUtils = DateUtils;
109
+ DateUtils.relativeDate = (input, base = Date.now()) => {
110
+ // Create new moment instance to apply new locale
111
+ const datetime = moment_1.default.isMoment(input) ? (0, moment_1.default)(input.toDate()) : (0, moment_1.default)(input);
112
+ if (!datetime.isValid()) {
113
+ console.error('core-js:DateUtils.relativeDate() datetime is invalid', datetime);
114
+ return '<INVALID DATE>';
115
+ }
116
+ return datetime.from(base);
117
+ };
118
+ DateUtils.setLocale = (language) => {
119
+ const relativeTime = DateUtils.getRelativeTimeSpec(language);
120
+ if (relativeTime !== undefined) {
121
+ moment_1.default.updateLocale(language, { relativeTime });
122
+ }
123
+ moment_1.default.locale(language);
124
+ };
125
+ DateUtils.getRelativeTimeSpec = (locale) => {
126
+ if (locale in DateUtils.relativeTimeSpecs) {
127
+ return DateUtils.relativeTimeSpecs[locale];
128
+ }
129
+ return undefined;
130
+ };
131
+ (function (DateUtils) {
132
+ DateUtils.relativeTimeSpecs = {
133
+ ko: {
134
+ future: "%s 후",
135
+ past: "%s 전",
136
+ s: number => `${number}초`,
137
+ ss: number => `${number}초`,
138
+ m: number => `${number}분`,
139
+ mm: number => `${number}분`,
140
+ h: number => `${number}시간`,
141
+ hh: number => `${number}시간`,
142
+ d: number => `${number}일`,
143
+ dd: number => `${number}일`,
144
+ M: number => `${number}개월`,
145
+ MM: number => `${number}개월`,
146
+ y: number => `${number}년`,
147
+ yy: number => `${number}년`
148
+ },
149
+ en: {
150
+ future: "in %s",
151
+ past: "%s ago",
152
+ s: number => number === 1 ? `${number} second` : `${number} seconds`,
153
+ ss: number => `${number} seconds`,
154
+ m: number => number === 1 ? `${number} minute` : `${number} minutes`,
155
+ mm: number => `${number} minutes`,
156
+ h: number => number === 1 ? `${number} hour` : `${number} hours`,
157
+ hh: number => `${number} hours`,
158
+ d: number => number === 1 ? `${number} day` : `${number} days`,
159
+ dd: number => `${number} days`,
160
+ M: number => number === 1 ? `${number} month` : `${number} months`,
161
+ MM: number => `${number} months`,
162
+ y: number => number === 1 ? `${number} year` : `${number} years`,
163
+ yy: number => `${number} years`
164
+ },
165
+ ja: {
166
+ future: "%s後",
167
+ past: "%s前",
168
+ s: number => `${number}秒`,
169
+ ss: number => `${number}秒`,
170
+ m: number => `${number}分`,
171
+ mm: number => `${number}分`,
172
+ h: number => `${number}時`,
173
+ hh: number => `${number}時`,
174
+ d: number => `${number}日`,
175
+ dd: number => `${number}日`,
176
+ M: number => `${number}月`,
177
+ MM: number => `${number}月`,
178
+ y: number => `${number}年`,
179
+ yy: number => `${number}年`
180
+ },
181
+ zh: {
182
+ future: "%s后",
183
+ past: "%s前",
184
+ s: number => `${number}秒`,
185
+ ss: number => `${number}秒`,
186
+ m: number => `${number}分钟`,
187
+ mm: number => `${number}分钟`,
188
+ h: number => `${number}个小时`,
189
+ hh: number => `${number}个小时`,
190
+ d: number => `${number}天`,
191
+ dd: number => `${number}天`,
192
+ M: number => `${number}个月`,
193
+ MM: number => `${number}个月`,
194
+ y: number => `${number}年`,
195
+ yy: number => `${number}年`
196
+ },
197
+ ru: {
198
+ future: "через %s",
199
+ past: "%s назад",
200
+ s: number => `${number} секунд`,
201
+ ss: number => `${number} секунд`,
202
+ m: number => `${number} минута`,
203
+ mm: number => `${number} минут`,
204
+ h: number => `${number} час`,
205
+ hh: number => `${number} часов`,
206
+ d: number => `${number} день`,
207
+ dd: number => `${number} дней`,
208
+ M: number => `${number} месяц`,
209
+ MM: number => `${number} месяцев`,
210
+ y: number => `${number} год`,
211
+ yy: number => `${number} лет`
212
+ },
213
+ uz: {
214
+ future: "%sdan keyin",
215
+ past: "%s avval",
216
+ s: number => `${number} soniya`,
217
+ ss: number => `${number} soniya`,
218
+ m: number => `${number} daqiqa`,
219
+ mm: number => `${number} daqiqa`,
220
+ h: number => `${number} soat`,
221
+ hh: number => `${number} soat`,
222
+ d: number => `${number} kun`,
223
+ dd: number => `${number} kun`,
224
+ M: number => `${number} oy`,
225
+ MM: number => `${number} oy`,
226
+ y: number => `${number} yil`,
227
+ yy: number => `${number} yil`
228
+ },
229
+ de: {
230
+ future: "in %s",
231
+ past: "vor %s",
232
+ s: number => `${number === 1 ? "einer" : number} Sekunde${number === 1 ? "" : "n"}`,
233
+ ss: number => `${number} Sekunde${number === 1 ? "" : "n"}`,
234
+ m: number => `${number === 1 ? "einer" : number} Minute${number === 1 ? "" : "n"}`,
235
+ mm: number => `${number} Minute${number === 1 ? "" : "n"}`,
236
+ h: number => `${number === 1 ? "einer" : number} Stunde${number === 1 ? "" : "n"}`,
237
+ hh: number => `${number} Stunde${number === 1 ? "" : "n"}`,
238
+ d: number => `${number === 1 ? "einem" : number} Tag${number === 1 ? "" : "en"}`,
239
+ dd: number => `${number} Tag${number === 1 ? "" : "en"}`,
240
+ M: number => `${number === 1 ? "einem" : number} Monat${number === 1 ? "" : "en"}`,
241
+ MM: number => `${number} Monat${number === 1 ? "" : "en"}`,
242
+ y: number => `${number === 1 ? "einem" : number} Jahr${number === 1 ? "" : "en"}`,
243
+ yy: number => `${number} Jahr${number === 1 ? "" : "en"}`
244
+ },
245
+ fr: {
246
+ future: "dans %s",
247
+ past: "il y a %s",
248
+ s: number => `quelques secondes`,
249
+ ss: number => `${number} secondes`,
250
+ m: number => `une minute`,
251
+ mm: number => `${number} minutes`,
252
+ h: number => `une heure`,
253
+ hh: number => `${number} heures`,
254
+ d: number => `un jour`,
255
+ dd: number => `${number} jours`,
256
+ M: number => `un mois`,
257
+ MM: number => `${number} mois`,
258
+ y: number => `un an`,
259
+ yy: number => `${number} ans`
260
+ },
261
+ vi: {
262
+ future: "sau %s",
263
+ past: "%s trước",
264
+ s: number => `${number} giây`,
265
+ ss: number => `${number} giây`,
266
+ m: number => `${number} phút`,
267
+ mm: number => `${number} phút`,
268
+ h: number => `${number} giờ`,
269
+ hh: number => `${number} giờ`,
270
+ d: number => `${number} ngày`,
271
+ dd: number => `${number} ngày`,
272
+ M: number => `${number} tháng`,
273
+ MM: number => `${number} tháng`,
274
+ y: number => `${number} năm`,
275
+ yy: number => `${number} năm`
276
+ },
277
+ th: {
278
+ future: "ใน %s",
279
+ past: "%s ที่แล้ว",
280
+ s: number => `${number} วินาที`,
281
+ ss: number => `${number} วินาที`,
282
+ m: number => `${number} นาที`,
283
+ mm: number => `${number} นาที`,
284
+ h: number => `${number} ชั่วโมง`,
285
+ hh: number => `${number} ชั่วโมง`,
286
+ d: number => `${number} วัน`,
287
+ dd: number => `${number} วัน`,
288
+ M: number => `${number} เดือน`,
289
+ MM: number => `${number} เดือน`,
290
+ y: number => `${number} ปี`,
291
+ yy: number => `${number} ปี`
292
+ },
293
+ fil: {
294
+ future: "sa loob ng %s",
295
+ past: "%s ang nakalipas",
296
+ s: number => `${number} segundo`,
297
+ ss: number => `${number} segundo`,
298
+ m: number => `${number} minuto`,
299
+ mm: number => `${number} minuto`,
300
+ h: number => `${number} oras`,
301
+ hh: number => `${number} oras`,
302
+ d: number => `${number} araw`,
303
+ dd: number => `${number} araw`,
304
+ M: number => `${number} buwan`,
305
+ MM: number => `${number} buwan`,
306
+ y: number => `${number} taon`,
307
+ yy: number => `${number} taon`
308
+ },
309
+ };
310
+ })(DateUtils || (exports.DateUtils = DateUtils = {}));
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Enum = void 0;
4
+ class Enum {
5
+ static entries(e) {
6
+ return Object.entries(e).filter(([key, value]) => !/^-?\d+$/g.test(key) && typeof value !== 'function');
7
+ }
8
+ static keys(e) {
9
+ return Enum.entries(e).map(([key,]) => key);
10
+ }
11
+ static values(e) {
12
+ return Enum.entries(e).map(([, value]) => value);
13
+ }
14
+ static from(e) {
15
+ return new Enum(e);
16
+ }
17
+ constructor(e) {
18
+ this._e = e;
19
+ this._entries = Enum.entries(e);
20
+ this._keys = Enum.keys(e);
21
+ this._values = Enum.values(e);
22
+ }
23
+ value() {
24
+ return this._e;
25
+ }
26
+ entries() {
27
+ return this._entries;
28
+ }
29
+ keys() {
30
+ return this._keys;
31
+ }
32
+ values() {
33
+ return this._values;
34
+ }
35
+ }
36
+ exports.Enum = Enum;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.I18nUtils = void 0;
7
+ const deepmerge_1 = __importDefault(require("deepmerge"));
8
+ class I18nUtils {
9
+ static mergeResources(...resources) {
10
+ return resources.reduce((acc, resource) => (0, deepmerge_1.default)(acc, resource), {});
11
+ }
12
+ }
13
+ exports.I18nUtils = I18nUtils;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JuminNumberUtils = void 0;
4
+ const between_1 = require("./global/between");
5
+ class JuminNumberUtils {
6
+ static calculateX(juminNumber) {
7
+ const replacedJuminNumber = juminNumber.replace(/\D/g, '');
8
+ if (!(0, between_1.between)(replacedJuminNumber.length, 12, 13)) {
9
+ throw new Error('Jumin number length must be 12 to 13(without dash)');
10
+ }
11
+ const numbers = replacedJuminNumber.split('').map(e => parseInt(e, 10));
12
+ const sum = 2 * numbers[0] + 3 * numbers[1] + 4 * numbers[2] + 5 * numbers[3]
13
+ + 6 * numbers[4] + 7 * numbers[5] + 8 * numbers[6] + 9 * numbers[7]
14
+ + 2 * numbers[8] + 3 * numbers[9] + 4 * numbers[10] + 5 * numbers[11];
15
+ return (11 - (sum % 11)) % 10;
16
+ }
17
+ static isValid(juminNumber) {
18
+ const replacedJuminNumber = juminNumber.replace(/\D/g, '');
19
+ if (replacedJuminNumber.length !== 13) {
20
+ return false;
21
+ }
22
+ // 연도에 해당하는 숫자와 성별에 해당하는 숫자 비교
23
+ const TODAY_YEAR = parseInt(new Date().getFullYear().toString().slice(-2), 10);
24
+ const yearNum = parseInt(replacedJuminNumber.slice(0, 2), 10);
25
+ const sexNum = replacedJuminNumber.slice(6, 7); // 대시 있는경우 7로 변경
26
+ if (sexNum === '1' || sexNum === '2') {
27
+ if (yearNum < TODAY_YEAR)
28
+ return false;
29
+ }
30
+ else if (sexNum === '3' || sexNum === '4') {
31
+ if (yearNum > TODAY_YEAR)
32
+ return false;
33
+ }
34
+ else
35
+ return false;
36
+ // 월과 일에 해당하는 숫자 조건 검사 (정규식으로)
37
+ const regex = /^\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{7}$/;
38
+ if (!regex.test(replacedJuminNumber))
39
+ return false;
40
+ // Validation X
41
+ const currentX = parseInt(replacedJuminNumber.slice(-1), 10);
42
+ const calculatedX = JuminNumberUtils.calculateX(replacedJuminNumber);
43
+ if (currentX !== calculatedX) {
44
+ console.log('Invalid X', currentX, calculatedX);
45
+ return false;
46
+ }
47
+ return true;
48
+ }
49
+ }
50
+ exports.JuminNumberUtils = JuminNumberUtils;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberUtils = void 0;
4
+ class NumberUtils {
5
+ static formatWithThousandsSeparator(value, separator = ',') {
6
+ return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, separator);
7
+ }
8
+ static formatBigNumber(value, precision = 2) {
9
+ const map = [
10
+ { suffix: 'Qi', threshold: 1e18 },
11
+ { suffix: 'Q', threshold: 1e15 },
12
+ { suffix: 'T', threshold: 1e12 },
13
+ { suffix: 'B', threshold: 1e9 },
14
+ { suffix: 'M', threshold: 1e6 },
15
+ { suffix: 'K', threshold: 1e3 },
16
+ { suffix: '', threshold: 1 },
17
+ ];
18
+ const found = map.find(e => Math.abs(value) >= e.threshold);
19
+ if (found) {
20
+ return Number((value / found.threshold).toFixed(precision)) + found.suffix;
21
+ }
22
+ return value.toString();
23
+ }
24
+ }
25
+ exports.NumberUtils = NumberUtils;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectIdUtils = void 0;
4
+ const UuidUtils_1 = require("./UuidUtils");
5
+ const Uint8ArrayUtils_1 = require("./Uint8ArrayUtils");
6
+ class ObjectIdUtils {
7
+ static toUuid(objectId, pad = 'start') {
8
+ const src = Uint8ArrayUtils_1.Uint8ArrayUtils.fromHex(objectId);
9
+ if (src.length !== 12) {
10
+ throw new Error(`objectId must be 12 bytes (24 hex), got ${src.length} bytes`);
11
+ }
12
+ const result = new Uint8Array(16);
13
+ const offset = pad === 'start' ? 4 : 0;
14
+ result.set(src, offset);
15
+ return UuidUtils_1.UuidUtils.toString(result);
16
+ }
17
+ static fromUuid(uuid, pad) {
18
+ const buffer = UuidUtils_1.UuidUtils.toBuffer(uuid);
19
+ const isPadEnd = buffer.subarray(buffer.length - 4).every(byte => byte === 0);
20
+ if (isPadEnd || pad === 'end') {
21
+ return buffer.subarray(0, buffer.length - 4).toString('hex');
22
+ }
23
+ const isPadStart = buffer.subarray(0, 4).every(byte => byte === 0);
24
+ if (!isPadStart) {
25
+ console.warn('buffer is not pad start and pad end');
26
+ }
27
+ return buffer.subarray(4).toString('hex');
28
+ }
29
+ }
30
+ exports.ObjectIdUtils = ObjectIdUtils;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Point3Utils = void 0;
4
+ class Point3Utils {
5
+ static distance(p1, p2) {
6
+ const dx = p1.x - p2.x;
7
+ const dy = p1.y - p2.y;
8
+ const dz = p1.z - p2.z;
9
+ return Math.sqrt(dx * dx + dy * dy + dz * dz);
10
+ }
11
+ }
12
+ exports.Point3Utils = Point3Utils;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RandomUtils = void 0;
4
+ class RandomUtils {
5
+ static randomNumber(min, max) {
6
+ min = Math.ceil(min);
7
+ max = Math.floor(max);
8
+ return Math.floor(Math.random() * (max - min + 1) + min);
9
+ }
10
+ static randomLatinStrings(length) {
11
+ const strings = [];
12
+ for (let i = 0; i < length; ++i) {
13
+ const isLowerCase = RandomUtils.randomNumber(0, 1);
14
+ if (isLowerCase) {
15
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(97, 122)));
16
+ }
17
+ else {
18
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(65, 90)));
19
+ }
20
+ }
21
+ return strings.join('');
22
+ }
23
+ static randomLatinLowercaseStrings(length) {
24
+ const strings = [];
25
+ for (let i = 0; i < length; ++i) {
26
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(97, 122)));
27
+ }
28
+ return strings.join('');
29
+ }
30
+ static randomLatinUppercaseStrings(length) {
31
+ const strings = [];
32
+ for (let i = 0; i < length; ++i) {
33
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(65, 90)));
34
+ }
35
+ return strings.join('');
36
+ }
37
+ static randomNumberStrings(length) {
38
+ const strings = [];
39
+ for (let i = 0; i < length; ++i) {
40
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(48, 57)));
41
+ }
42
+ return strings.join('');
43
+ }
44
+ static randomStrings(length) {
45
+ const strings = [];
46
+ for (let i = 0; i < length; ++i) {
47
+ const isNumber = RandomUtils.randomNumber(0, 1);
48
+ if (isNumber) {
49
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(48, 57)));
50
+ }
51
+ else {
52
+ const isLowerCase = RandomUtils.randomNumber(0, 1);
53
+ if (isLowerCase) {
54
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(97, 122)));
55
+ }
56
+ else {
57
+ strings.push(String.fromCharCode(RandomUtils.randomNumber(65, 90)));
58
+ }
59
+ }
60
+ }
61
+ return strings.join('');
62
+ }
63
+ }
64
+ exports.RandomUtils = RandomUtils;