@powfix/core-js 0.20.5 → 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 (211) hide show
  1. package/dist/browser/cjs/index.browser.js +3 -0
  2. package/dist/browser/cjs/shared/utils/index.js +1 -1
  3. package/dist/browser/esm/index.browser.mjs +1 -0
  4. package/dist/browser/esm/shared/utils/index.mjs +1 -1
  5. package/dist/browser/types/index.browser.d.ts +1 -0
  6. package/dist/browser/types/shared/utils/index.d.ts +1 -0
  7. package/dist/cjs/index.js +17 -0
  8. package/dist/cjs/shared/constants/COORDINATE.js +10 -0
  9. package/dist/cjs/shared/constants/CRUD.js +22 -0
  10. package/dist/cjs/shared/constants/DATE.js +26 -0
  11. package/dist/cjs/shared/constants/DISTANCE.js +18 -0
  12. package/dist/cjs/shared/constants/DURATION.js +21 -0
  13. package/dist/cjs/shared/constants/NOT_NULL.js +4 -0
  14. package/dist/cjs/shared/constants/index.js +22 -0
  15. package/dist/cjs/shared/index.js +23 -0
  16. package/dist/cjs/shared/interfaces/Coordinate.js +2 -0
  17. package/dist/cjs/shared/interfaces/Point2.js +2 -0
  18. package/dist/cjs/shared/interfaces/Point3.js +2 -0
  19. package/dist/cjs/shared/interfaces/StorageProvider.js +2 -0
  20. package/dist/cjs/shared/interfaces/index.js +20 -0
  21. package/dist/cjs/shared/managers/SessionManager.js +134 -0
  22. package/dist/cjs/shared/managers/SessionManager.type.js +2 -0
  23. package/dist/cjs/shared/managers/index.js +18 -0
  24. package/dist/cjs/shared/scripts/base64Polyfill.js +18 -0
  25. package/dist/cjs/shared/scripts/index.js +17 -0
  26. package/dist/cjs/shared/services/index.js +17 -0
  27. package/dist/cjs/shared/services/time/TimeService.js +180 -0
  28. package/dist/cjs/shared/services/time/TimeService.type.js +2 -0
  29. package/dist/cjs/shared/services/time/index.js +18 -0
  30. package/dist/cjs/shared/types/IntRage.js +2 -0
  31. package/dist/cjs/shared/types/PartialExcept.js +2 -0
  32. package/dist/cjs/shared/types/index.js +18 -0
  33. package/dist/cjs/shared/utils/ArrayUtils.js +30 -0
  34. package/dist/cjs/shared/utils/AxiosUtils.js +53 -0
  35. package/dist/cjs/shared/utils/BooleanUtils.js +8 -0
  36. package/dist/cjs/shared/utils/Calc.js +27 -0
  37. package/dist/cjs/shared/utils/CoordinateUtils.js +42 -0
  38. package/dist/cjs/shared/utils/DateUtils.js +310 -0
  39. package/dist/cjs/shared/utils/Enum.js +36 -0
  40. package/dist/cjs/shared/utils/Enum.types.js +2 -0
  41. package/dist/cjs/shared/utils/I18nUtils.js +13 -0
  42. package/dist/cjs/shared/utils/JuminNumberUtils.js +50 -0
  43. package/dist/cjs/shared/utils/NumberUtils.js +25 -0
  44. package/dist/cjs/shared/utils/ObjectIdUtils.js +30 -0
  45. package/dist/cjs/shared/utils/Point3Utils.js +12 -0
  46. package/dist/cjs/shared/utils/RandomUtils.js +64 -0
  47. package/dist/cjs/shared/utils/Sequencer.js +148 -0
  48. package/dist/cjs/shared/utils/StringUtils.js +37 -0
  49. package/dist/cjs/shared/utils/UUID.js +320 -0
  50. package/dist/cjs/shared/utils/UUID.types.js +2 -0
  51. package/dist/cjs/shared/utils/Uint8ArrayUtils.js +13 -0
  52. package/dist/cjs/shared/utils/UuidUtils.js +77 -0
  53. package/dist/cjs/shared/utils/Validator.js +118 -0
  54. package/dist/cjs/shared/utils/global/atob.js +9 -0
  55. package/dist/cjs/shared/utils/global/base64.js +25 -0
  56. package/dist/cjs/shared/utils/global/between.js +7 -0
  57. package/dist/cjs/shared/utils/global/btoa.js +9 -0
  58. package/dist/cjs/shared/utils/global/castArray.js +6 -0
  59. package/dist/cjs/shared/utils/global/circularDistance.js +14 -0
  60. package/dist/cjs/shared/utils/global/fallbackIfMatch.js +9 -0
  61. package/dist/cjs/shared/utils/global/fallbackIfNull.js +7 -0
  62. package/dist/cjs/shared/utils/global/fallbackIfNullish.js +9 -0
  63. package/dist/cjs/shared/utils/global/fallbackIfUndefined.js +7 -0
  64. package/dist/cjs/shared/utils/global/firstNonNullish.js +13 -0
  65. package/dist/cjs/shared/utils/global/flat.js +117 -0
  66. package/dist/cjs/shared/utils/global/index.js +31 -0
  67. package/dist/cjs/shared/utils/global/processFirstNonNullish.js +11 -0
  68. package/dist/cjs/shared/utils/global/pureEnum.js +23 -0
  69. package/dist/cjs/shared/utils/global/sleep.js +5 -0
  70. package/dist/cjs/shared/utils/index.js +39 -0
  71. package/dist/cjs/shared/utils/try-catch/TryCatch.js +78 -0
  72. package/dist/cjs/shared/utils/try-catch/index.js +17 -0
  73. package/dist/esm/index.mjs +1 -0
  74. package/dist/esm/shared/constants/COORDINATE.mjs +6 -0
  75. package/dist/esm/shared/constants/CRUD.mjs +19 -0
  76. package/dist/esm/shared/constants/DATE.mjs +22 -0
  77. package/dist/esm/shared/constants/DISTANCE.mjs +14 -0
  78. package/dist/esm/shared/constants/DURATION.mjs +17 -0
  79. package/dist/esm/shared/constants/NOT_NULL.mjs +1 -0
  80. package/dist/esm/shared/constants/index.mjs +6 -0
  81. package/dist/esm/shared/index.mjs +7 -0
  82. package/dist/esm/shared/interfaces/Coordinate.mjs +1 -0
  83. package/dist/esm/shared/interfaces/Point2.mjs +1 -0
  84. package/dist/esm/shared/interfaces/Point3.mjs +1 -0
  85. package/dist/esm/shared/interfaces/StorageProvider.mjs +1 -0
  86. package/dist/esm/shared/interfaces/index.mjs +4 -0
  87. package/dist/esm/shared/managers/SessionManager.mjs +127 -0
  88. package/dist/esm/shared/managers/SessionManager.type.mjs +1 -0
  89. package/dist/esm/shared/managers/index.mjs +2 -0
  90. package/dist/esm/shared/scripts/base64Polyfill.mjs +11 -0
  91. package/dist/esm/shared/scripts/index.mjs +1 -0
  92. package/dist/esm/shared/services/index.mjs +1 -0
  93. package/dist/esm/shared/services/time/TimeService.mjs +173 -0
  94. package/dist/esm/shared/services/time/TimeService.type.mjs +1 -0
  95. package/dist/esm/shared/services/time/index.mjs +2 -0
  96. package/dist/esm/shared/types/IntRage.mjs +1 -0
  97. package/dist/esm/shared/types/PartialExcept.mjs +1 -0
  98. package/dist/esm/shared/types/index.mjs +2 -0
  99. package/dist/esm/shared/utils/ArrayUtils.mjs +26 -0
  100. package/dist/esm/shared/utils/AxiosUtils.mjs +49 -0
  101. package/dist/esm/shared/utils/BooleanUtils.mjs +5 -0
  102. package/dist/esm/shared/utils/Calc.mjs +23 -0
  103. package/dist/esm/shared/utils/CoordinateUtils.mjs +38 -0
  104. package/dist/esm/shared/utils/DateUtils.mjs +303 -0
  105. package/dist/esm/shared/utils/Enum.mjs +32 -0
  106. package/dist/esm/shared/utils/Enum.types.mjs +1 -0
  107. package/dist/esm/shared/utils/I18nUtils.mjs +6 -0
  108. package/dist/esm/shared/utils/JuminNumberUtils.mjs +46 -0
  109. package/dist/esm/shared/utils/NumberUtils.mjs +21 -0
  110. package/dist/esm/shared/utils/ObjectIdUtils.mjs +26 -0
  111. package/dist/esm/shared/utils/Point3Utils.mjs +8 -0
  112. package/dist/esm/shared/utils/RandomUtils.mjs +60 -0
  113. package/dist/esm/shared/utils/Sequencer.mjs +141 -0
  114. package/dist/esm/shared/utils/StringUtils.mjs +33 -0
  115. package/dist/esm/shared/utils/UUID.mjs +316 -0
  116. package/dist/esm/shared/utils/UUID.types.mjs +1 -0
  117. package/dist/esm/shared/utils/Uint8ArrayUtils.mjs +9 -0
  118. package/dist/esm/shared/utils/UuidUtils.mjs +40 -0
  119. package/dist/esm/shared/utils/Validator.mjs +114 -0
  120. package/dist/esm/shared/utils/global/atob.mjs +3 -0
  121. package/dist/esm/shared/utils/global/base64.mjs +21 -0
  122. package/dist/esm/shared/utils/global/between.mjs +3 -0
  123. package/dist/esm/shared/utils/global/btoa.mjs +3 -0
  124. package/dist/esm/shared/utils/global/castArray.mjs +3 -0
  125. package/dist/esm/shared/utils/global/circularDistance.mjs +11 -0
  126. package/dist/esm/shared/utils/global/fallbackIfMatch.mjs +6 -0
  127. package/dist/esm/shared/utils/global/fallbackIfNull.mjs +4 -0
  128. package/dist/esm/shared/utils/global/fallbackIfNullish.mjs +6 -0
  129. package/dist/esm/shared/utils/global/fallbackIfUndefined.mjs +4 -0
  130. package/dist/esm/shared/utils/global/firstNonNullish.mjs +10 -0
  131. package/dist/esm/shared/utils/global/flat.mjs +113 -0
  132. package/dist/esm/shared/utils/global/index.mjs +15 -0
  133. package/dist/esm/shared/utils/global/processFirstNonNullish.mjs +8 -0
  134. package/dist/esm/shared/utils/global/pureEnum.mjs +18 -0
  135. package/dist/esm/shared/utils/global/sleep.mjs +1 -0
  136. package/dist/esm/shared/utils/index.mjs +23 -0
  137. package/dist/esm/shared/utils/try-catch/TryCatch.mjs +74 -0
  138. package/dist/esm/shared/utils/try-catch/index.mjs +1 -0
  139. package/dist/node/cjs/index.nodejs.js +3 -0
  140. package/dist/node/cjs/shared/utils/index.js +1 -1
  141. package/dist/node/esm/index.nodejs.mjs +1 -0
  142. package/dist/node/esm/shared/utils/index.mjs +1 -1
  143. package/dist/node/types/index.nodejs.d.ts +1 -0
  144. package/dist/node/types/shared/utils/index.d.ts +1 -0
  145. package/dist/types/index.d.ts +1 -0
  146. package/dist/types/shared/constants/COORDINATE.d.ts +7 -0
  147. package/dist/types/shared/constants/CRUD.d.ts +9 -0
  148. package/dist/types/shared/constants/DATE.d.ts +13 -0
  149. package/dist/types/shared/constants/DISTANCE.d.ts +13 -0
  150. package/dist/types/shared/constants/DURATION.d.ts +16 -0
  151. package/dist/types/shared/constants/NOT_NULL.d.ts +1 -0
  152. package/dist/types/shared/constants/index.d.ts +6 -0
  153. package/dist/types/shared/index.d.ts +7 -0
  154. package/dist/types/shared/interfaces/Coordinate.d.ts +8 -0
  155. package/dist/types/shared/interfaces/Point2.d.ts +4 -0
  156. package/dist/types/shared/interfaces/Point3.d.ts +4 -0
  157. package/dist/types/shared/interfaces/StorageProvider.d.ts +7 -0
  158. package/dist/types/shared/interfaces/index.d.ts +4 -0
  159. package/dist/types/shared/managers/SessionManager.d.ts +15 -0
  160. package/dist/types/shared/managers/SessionManager.type.d.ts +9 -0
  161. package/dist/types/shared/managers/index.d.ts +2 -0
  162. package/dist/types/shared/scripts/base64Polyfill.d.ts +1 -0
  163. package/dist/types/shared/scripts/index.d.ts +1 -0
  164. package/dist/types/shared/services/index.d.ts +1 -0
  165. package/dist/types/shared/services/time/TimeService.d.ts +31 -0
  166. package/dist/types/shared/services/time/TimeService.type.d.ts +21 -0
  167. package/dist/types/shared/services/time/index.d.ts +2 -0
  168. package/dist/types/shared/types/IntRage.d.ts +3 -0
  169. package/dist/types/shared/types/PartialExcept.d.ts +1 -0
  170. package/dist/types/shared/types/index.d.ts +2 -0
  171. package/dist/types/shared/utils/ArrayUtils.d.ts +12 -0
  172. package/dist/types/shared/utils/AxiosUtils.d.ts +5 -0
  173. package/dist/types/shared/utils/BooleanUtils.d.ts +1 -0
  174. package/dist/types/shared/utils/Calc.d.ts +4 -0
  175. package/dist/types/shared/utils/CoordinateUtils.d.ts +8 -0
  176. package/dist/types/shared/utils/DateUtils.d.ts +24 -0
  177. package/dist/types/shared/utils/Enum.d.ts +16 -0
  178. package/dist/types/shared/utils/Enum.types.d.ts +6 -0
  179. package/dist/types/shared/utils/I18nUtils.d.ts +4 -0
  180. package/dist/types/shared/utils/JuminNumberUtils.d.ts +4 -0
  181. package/dist/types/shared/utils/NumberUtils.d.ts +4 -0
  182. package/dist/types/shared/utils/ObjectIdUtils.d.ts +4 -0
  183. package/dist/types/shared/utils/Point3Utils.d.ts +4 -0
  184. package/dist/types/shared/utils/RandomUtils.d.ts +8 -0
  185. package/dist/types/shared/utils/Sequencer.d.ts +38 -0
  186. package/dist/types/shared/utils/StringUtils.d.ts +5 -0
  187. package/dist/types/shared/utils/UUID.d.ts +147 -0
  188. package/dist/types/shared/utils/UUID.types.d.ts +2 -0
  189. package/dist/types/shared/utils/Uint8ArrayUtils.d.ts +4 -0
  190. package/dist/types/shared/utils/UuidUtils.d.ts +14 -0
  191. package/dist/types/shared/utils/Validator.d.ts +48 -0
  192. package/dist/types/shared/utils/global/atob.d.ts +2 -0
  193. package/dist/types/shared/utils/global/base64.d.ts +2 -0
  194. package/dist/types/shared/utils/global/between.d.ts +1 -0
  195. package/dist/types/shared/utils/global/btoa.d.ts +2 -0
  196. package/dist/types/shared/utils/global/castArray.d.ts +1 -0
  197. package/dist/types/shared/utils/global/circularDistance.d.ts +1 -0
  198. package/dist/types/shared/utils/global/fallbackIfMatch.d.ts +1 -0
  199. package/dist/types/shared/utils/global/fallbackIfNull.d.ts +1 -0
  200. package/dist/types/shared/utils/global/fallbackIfNullish.d.ts +1 -0
  201. package/dist/types/shared/utils/global/fallbackIfUndefined.d.ts +1 -0
  202. package/dist/types/shared/utils/global/firstNonNullish.d.ts +1 -0
  203. package/dist/types/shared/utils/global/flat.d.ts +14 -0
  204. package/dist/types/shared/utils/global/index.d.ts +15 -0
  205. package/dist/types/shared/utils/global/processFirstNonNullish.d.ts +1 -0
  206. package/dist/types/shared/utils/global/pureEnum.d.ts +17 -0
  207. package/dist/types/shared/utils/global/sleep.d.ts +1 -0
  208. package/dist/types/shared/utils/index.d.ts +23 -0
  209. package/dist/types/shared/utils/try-catch/TryCatch.d.ts +24 -0
  210. package/dist/types/shared/utils/try-catch/index.d.ts +1 -0
  211. package/package.json +10 -4
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./TimeService"), exports);
18
+ __exportStar(require("./TimeService.type"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IntRage"), exports);
18
+ __exportStar(require("./PartialExcept"), exports);
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArrayUtils = void 0;
4
+ const global_1 = require("./global");
5
+ class ArrayUtils {
6
+ static castArray(value) {
7
+ return (0, global_1.castArray)(value);
8
+ }
9
+ /**
10
+ * 객체를 요소로 가지는 배열에서 가장 큰 값(Property)를 가지는 객체를 반환한다
11
+ * @param e 객체 배열
12
+ * @param key 값을 비교할 Property 키
13
+ */
14
+ static getGreatestObject(e, key) {
15
+ return e.reduce((prev, current) => ((prev[key] > current[key] ? prev : current)));
16
+ }
17
+ static removeDuplicate(arr) {
18
+ return [...new Set(arr)];
19
+ }
20
+ static removeObjectDuplicate(arr, key) {
21
+ return arr.filter((v, i, self) => (i === self.findIndex(e => (e[key] === v[key]))));
22
+ }
23
+ static allValuesEqual(...values) {
24
+ if (values.length === 0) {
25
+ return true;
26
+ }
27
+ return values.every((value) => value === values[0]);
28
+ }
29
+ }
30
+ exports.ArrayUtils = ArrayUtils;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxiosUtils = void 0;
4
+ class AxiosUtils {
5
+ static headerValue2String(value) {
6
+ if (value === undefined) {
7
+ return null;
8
+ }
9
+ if (value === null || typeof value === 'string') {
10
+ return value;
11
+ }
12
+ if (Array.isArray(value)) {
13
+ if (value.length > 0) {
14
+ for (const e of value) {
15
+ if (typeof e === 'string') {
16
+ return e;
17
+ }
18
+ }
19
+ // There is no any values having string type
20
+ return null;
21
+ }
22
+ else {
23
+ return null;
24
+ }
25
+ }
26
+ return String(value);
27
+ }
28
+ static headerValue2Number(value) {
29
+ if (value === undefined) {
30
+ return null;
31
+ }
32
+ if (value === null || typeof value === 'number') {
33
+ return value;
34
+ }
35
+ if (Array.isArray(value)) {
36
+ if (value.length > 0) {
37
+ for (const e of value) {
38
+ if (typeof e === 'number') {
39
+ return e;
40
+ }
41
+ }
42
+ // There is no any values having string type
43
+ return null;
44
+ }
45
+ else {
46
+ return null;
47
+ }
48
+ }
49
+ const result = Number(value);
50
+ return isNaN(result) ? null : result;
51
+ }
52
+ }
53
+ exports.AxiosUtils = AxiosUtils;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBoolean = parseBoolean;
4
+ function parseBoolean(value, defaultValue) {
5
+ if (value === undefined || value === null)
6
+ return defaultValue;
7
+ return (value === 'true' || value === true) || (value === 1 || value === '1');
8
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Calc = void 0;
4
+ class Calc {
5
+ static average(...values) {
6
+ const length = values.length;
7
+ if (length === 0) {
8
+ return NaN;
9
+ }
10
+ let sum = 0;
11
+ for (let i = 0; i < length; ++i) {
12
+ sum += values[i];
13
+ }
14
+ return sum / length;
15
+ }
16
+ static median(...values) {
17
+ const len = values.length;
18
+ if (len === 0)
19
+ return NaN;
20
+ const sorted = values.slice().sort((a, b) => a - b); // O(n log n)
21
+ const mid = len >> 1;
22
+ return len % 2 === 0
23
+ ? (sorted[mid - 1] + sorted[mid]) / 2
24
+ : sorted[mid];
25
+ }
26
+ }
27
+ exports.Calc = Calc;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoordinateUtils = void 0;
4
+ class CoordinateUtils {
5
+ static isValidLatitude(latitude) {
6
+ return /^-?([0-8]?[0-9]|90)(\.[0-9]{1,15})$/.test(latitude.toString());
7
+ }
8
+ static isValidLongitude(longitude) {
9
+ return /^-?([0-9]{1,2}|1[0-7][0-9]|180)(\.[0-9]{1,14})$/.test(longitude.toString());
10
+ }
11
+ static isValidLatitudeLongitude(latitude, longitude) {
12
+ return CoordinateUtils.isValidLatitude(latitude) && CoordinateUtils.isValidLongitude(longitude);
13
+ }
14
+ static isValidCoordinate(coordinate) {
15
+ return this.isValidLatitudeLongitude(coordinate.latitude, coordinate.longitude);
16
+ }
17
+ static crowDistance(...coordinates) {
18
+ if (coordinates.length <= 2) {
19
+ const toRad = (value) => value * Math.PI / 180;
20
+ const c1 = coordinates[0];
21
+ const c2 = coordinates[1];
22
+ if (!c1 || !c2) {
23
+ return 0;
24
+ }
25
+ const R = 6371e3;
26
+ const dLat = toRad(c2.latitude - c1.latitude);
27
+ const dLon = toRad(c2.longitude - c1.longitude);
28
+ const lat1 = toRad(c1.latitude);
29
+ const lat2 = toRad(c2.latitude);
30
+ const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
31
+ Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
32
+ const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
33
+ return R * c;
34
+ }
35
+ let totalDistance = 0;
36
+ for (let i = 0; i < coordinates.length - 1; ++i) {
37
+ totalDistance += this.crowDistance(coordinates[i], coordinates[i + 1]);
38
+ }
39
+ return totalDistance;
40
+ }
41
+ }
42
+ exports.CoordinateUtils = CoordinateUtils;
@@ -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;