@powfix/core-js 0.22.2 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +1 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.js +0 -0
- package/dist/chunk-ETV4XYOV.cjs +18 -0
- package/dist/chunk-PKBMQBKP.js +17 -0
- package/dist/index.browser.cjs +16 -1726
- package/dist/index.browser.d.ts +57 -484
- package/dist/index.browser.js +2 -1644
- package/dist/index.cjs +8 -1727
- package/dist/index.d.ts +52 -1
- package/dist/index.js +1 -1644
- package/dist/index.node.cjs +15 -2123
- package/dist/index.node.d.ts +77 -164
- package/dist/index.node.js +2 -2034
- package/dist/node/constants/TransactionManagerLogLevel.cjs +11 -0
- package/dist/node/constants/TransactionManagerLogLevel.d.ts +9 -0
- package/dist/node/constants/TransactionManagerLogLevel.js +10 -0
- package/dist/node/constants/TransactionManagerTimeoutAction.cjs +8 -0
- package/dist/node/constants/TransactionManagerTimeoutAction.d.ts +6 -0
- package/dist/node/constants/TransactionManagerTimeoutAction.js +7 -0
- package/dist/node/constants/index.cjs +19 -0
- package/dist/node/constants/index.d.ts +2 -0
- package/dist/node/constants/index.js +2 -0
- package/dist/node/index.cjs +55 -0
- package/dist/node/index.d.ts +25 -0
- package/dist/node/index.js +6 -0
- package/dist/node/interfaces/db/index.cjs +10 -0
- package/dist/node/interfaces/db/index.d.ts +10 -0
- package/dist/node/interfaces/db/index.js +1 -0
- package/dist/node/interfaces/db/sequelize/Hook.cjs +1 -0
- package/dist/node/interfaces/db/sequelize/Hook.d.ts +13 -0
- package/dist/node/interfaces/db/sequelize/Hook.js +0 -0
- package/dist/node/interfaces/db/sequelize/HookFn.cjs +1 -0
- package/dist/node/interfaces/db/sequelize/HookFn.d.ts +7 -0
- package/dist/node/interfaces/db/sequelize/HookFn.js +0 -0
- package/dist/node/interfaces/db/sequelize/HookType.cjs +1 -0
- package/dist/node/interfaces/db/sequelize/HookType.d.ts +6 -0
- package/dist/node/interfaces/db/sequelize/HookType.js +0 -0
- package/dist/node/interfaces/db/sequelize/ReloadOption.cjs +1 -0
- package/dist/node/interfaces/db/sequelize/ReloadOption.d.ts +5 -0
- package/dist/node/interfaces/db/sequelize/ReloadOption.js +0 -0
- package/dist/node/interfaces/db/sequelize/TransactionOption.cjs +1 -0
- package/dist/node/interfaces/db/sequelize/TransactionOption.d.ts +7 -0
- package/dist/node/interfaces/db/sequelize/TransactionOption.js +0 -0
- package/dist/node/interfaces/db/sequelize/UpsertOptions.cjs +1 -0
- package/dist/node/interfaces/db/sequelize/UpsertOptions.d.ts +8 -0
- package/dist/node/interfaces/db/sequelize/UpsertOptions.js +0 -0
- package/dist/node/interfaces/db/sequelize/index.cjs +55 -0
- package/dist/node/interfaces/db/sequelize/index.d.ts +10 -0
- package/dist/node/interfaces/db/sequelize/index.js +6 -0
- package/dist/node/interfaces/index.cjs +10 -0
- package/dist/node/interfaces/index.d.ts +10 -0
- package/dist/node/interfaces/index.js +1 -0
- package/dist/node/managers/TransactionManager.cjs +463 -0
- package/dist/node/managers/TransactionManager.d.ts +31 -0
- package/dist/node/managers/TransactionManager.js +457 -0
- package/dist/node/managers/TransactionManager.types.cjs +1 -0
- package/dist/node/managers/TransactionManager.types.d.ts +12 -0
- package/dist/node/managers/TransactionManager.types.js +0 -0
- package/dist/node/managers/index.cjs +19 -0
- package/dist/node/managers/index.d.ts +6 -0
- package/dist/node/managers/index.js +2 -0
- package/dist/node/services/index.cjs +10 -0
- package/dist/node/services/index.d.ts +5 -0
- package/dist/node/services/index.js +1 -0
- package/dist/node/services/redis/RedisClient.cjs +250 -0
- package/dist/node/services/redis/RedisClient.d.ts +24 -0
- package/dist/node/services/redis/RedisClient.js +250 -0
- package/dist/node/services/redis/RedisPublisher.cjs +323 -0
- package/dist/node/services/redis/RedisPublisher.d.ts +17 -0
- package/dist/node/services/redis/RedisPublisher.js +323 -0
- package/dist/node/services/redis/RedisSubscriber.cjs +502 -0
- package/dist/node/services/redis/RedisSubscriber.d.ts +15 -0
- package/dist/node/services/redis/RedisSubscriber.js +502 -0
- package/dist/node/services/redis/index.cjs +28 -0
- package/dist/node/services/redis/index.d.ts +5 -0
- package/dist/node/services/redis/index.js +3 -0
- package/dist/node/types/UpsertResult.cjs +1 -0
- package/dist/node/types/UpsertResult.d.ts +5 -0
- package/dist/node/types/UpsertResult.js +0 -0
- package/dist/node/types/index.cjs +19 -0
- package/dist/node/types/index.d.ts +9 -0
- package/dist/node/types/index.js +2 -0
- package/dist/node/types/mariaDb.cjs +1 -0
- package/dist/node/types/mariaDb.d.ts +15 -0
- package/dist/node/types/mariaDb.js +0 -0
- package/dist/node/utils/HookUtils.cjs +87 -0
- package/dist/node/utils/HookUtils.d.ts +20 -0
- package/dist/node/utils/HookUtils.js +87 -0
- package/dist/node/utils/index.cjs +19 -0
- package/dist/node/utils/index.d.ts +10 -0
- package/dist/node/utils/index.js +2 -0
- package/dist/node/utils/sequelize-utils/SequelizeUtils.cjs +165 -0
- package/dist/node/utils/sequelize-utils/SequelizeUtils.d.ts +12 -0
- package/dist/node/utils/sequelize-utils/SequelizeUtils.js +165 -0
- package/dist/node/utils/sequelize-utils/index.cjs +19 -0
- package/dist/node/utils/sequelize-utils/index.d.ts +3 -0
- package/dist/node/utils/sequelize-utils/index.js +2 -0
- package/dist/node/utils/sequelize-utils/types.cjs +1 -0
- package/dist/node/utils/sequelize-utils/types.d.ts +19 -0
- package/dist/node/utils/sequelize-utils/types.js +0 -0
- package/dist/shared/constants/COORDINATE.cjs +15 -0
- package/dist/shared/constants/COORDINATE.d.ts +9 -0
- package/dist/shared/constants/COORDINATE.js +15 -0
- package/dist/shared/constants/CRUD.cjs +26 -0
- package/dist/shared/constants/CRUD.d.ts +11 -0
- package/dist/shared/constants/CRUD.js +26 -0
- package/dist/shared/constants/DATE.cjs +34 -0
- package/dist/shared/constants/DATE.d.ts +15 -0
- package/dist/shared/constants/DATE.js +34 -0
- package/dist/shared/constants/DISTANCE.cjs +22 -0
- package/dist/shared/constants/DISTANCE.d.ts +15 -0
- package/dist/shared/constants/DISTANCE.js +22 -0
- package/dist/shared/constants/DURATION.cjs +25 -0
- package/dist/shared/constants/DURATION.d.ts +18 -0
- package/dist/shared/constants/DURATION.js +25 -0
- package/dist/shared/constants/NOT_NULL.cjs +4 -0
- package/dist/shared/constants/NOT_NULL.d.ts +3 -0
- package/dist/shared/constants/NOT_NULL.js +3 -0
- package/dist/shared/constants/index.cjs +55 -0
- package/dist/shared/constants/index.d.ts +6 -0
- package/dist/shared/constants/index.js +6 -0
- package/dist/shared/exports/Uint8Array.cjs +9 -0
- package/dist/shared/exports/Uint8Array.d.ts +6 -0
- package/dist/shared/exports/Uint8Array.js +8 -0
- package/dist/shared/exports/atob.cjs +3 -0
- package/dist/shared/exports/atob.d.ts +2 -0
- package/dist/shared/exports/atob.js +2 -0
- package/dist/shared/exports/btoa.cjs +3 -0
- package/dist/shared/exports/btoa.d.ts +2 -0
- package/dist/shared/exports/btoa.js +2 -0
- package/dist/shared/index.cjs +64 -0
- package/dist/shared/index.d.ts +57 -0
- package/dist/shared/index.js +7 -0
- package/dist/shared/interfaces/Coordinate.cjs +1 -0
- package/dist/shared/interfaces/Coordinate.d.ts +10 -0
- package/dist/shared/interfaces/Coordinate.js +0 -0
- package/dist/shared/interfaces/Point2.cjs +1 -0
- package/dist/shared/interfaces/Point2.d.ts +6 -0
- package/dist/shared/interfaces/Point2.js +0 -0
- package/dist/shared/interfaces/Point3.cjs +1 -0
- package/dist/shared/interfaces/Point3.d.ts +7 -0
- package/dist/shared/interfaces/Point3.js +0 -0
- package/dist/shared/interfaces/StorageProvider.cjs +1 -0
- package/dist/shared/interfaces/StorageProvider.d.ts +9 -0
- package/dist/shared/interfaces/StorageProvider.js +0 -0
- package/dist/shared/interfaces/index.cjs +37 -0
- package/dist/shared/interfaces/index.d.ts +4 -0
- package/dist/shared/interfaces/index.js +4 -0
- package/dist/shared/managers/SessionManager.cjs +498 -0
- package/dist/shared/managers/SessionManager.d.ts +18 -0
- package/dist/shared/managers/SessionManager.js +491 -0
- package/dist/shared/managers/SessionManager.type.cjs +1 -0
- package/dist/shared/managers/SessionManager.type.d.ts +12 -0
- package/dist/shared/managers/SessionManager.type.js +0 -0
- package/dist/shared/managers/index.cjs +19 -0
- package/dist/shared/managers/index.d.ts +5 -0
- package/dist/shared/managers/index.js +2 -0
- package/dist/shared/scripts/base64Polyfill.cjs +20 -0
- package/dist/shared/scripts/base64Polyfill.d.ts +3 -0
- package/dist/shared/scripts/base64Polyfill.js +13 -0
- package/dist/shared/scripts/index.cjs +10 -0
- package/dist/shared/scripts/index.d.ts +1 -0
- package/dist/shared/scripts/index.js +1 -0
- package/dist/shared/services/index.cjs +10 -0
- package/dist/shared/services/index.d.ts +3 -0
- package/dist/shared/services/index.js +1 -0
- package/dist/shared/services/time/TimeService.cjs +487 -0
- package/dist/shared/services/time/TimeService.d.ts +34 -0
- package/dist/shared/services/time/TimeService.js +481 -0
- package/dist/shared/services/time/TimeService.type.cjs +1 -0
- package/dist/shared/services/time/TimeService.type.d.ts +23 -0
- package/dist/shared/services/time/TimeService.type.js +0 -0
- package/dist/shared/services/time/index.cjs +19 -0
- package/dist/shared/services/time/index.d.ts +3 -0
- package/dist/shared/services/time/index.js +2 -0
- package/dist/shared/types/IntRage.cjs +1 -0
- package/dist/shared/types/IntRage.d.ts +4 -0
- package/dist/shared/types/IntRage.js +0 -0
- package/dist/shared/types/PartialExcept.cjs +1 -0
- package/dist/shared/types/PartialExcept.d.ts +3 -0
- package/dist/shared/types/PartialExcept.js +0 -0
- package/dist/shared/types/index.cjs +19 -0
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/types/index.js +2 -0
- package/dist/shared/utils/ArrayUtils.cjs +104 -0
- package/dist/shared/utils/ArrayUtils.d.ts +14 -0
- package/dist/shared/utils/ArrayUtils.js +104 -0
- package/dist/shared/utils/AxiosUtils.cjs +113 -0
- package/dist/shared/utils/AxiosUtils.d.ts +8 -0
- package/dist/shared/utils/AxiosUtils.js +113 -0
- package/dist/shared/utils/BooleanUtils.cjs +7 -0
- package/dist/shared/utils/BooleanUtils.d.ts +3 -0
- package/dist/shared/utils/BooleanUtils.js +6 -0
- package/dist/shared/utils/Calc.cjs +62 -0
- package/dist/shared/utils/Calc.d.ts +6 -0
- package/dist/shared/utils/Calc.js +62 -0
- package/dist/shared/utils/CoordinateUtils.cjs +85 -0
- package/dist/shared/utils/CoordinateUtils.d.ts +11 -0
- package/dist/shared/utils/CoordinateUtils.js +85 -0
- package/dist/shared/utils/DateUtils.cjs +656 -0
- package/dist/shared/utils/DateUtils.d.ts +27 -0
- package/dist/shared/utils/DateUtils.js +651 -0
- package/dist/shared/utils/Enum.cjs +142 -0
- package/dist/shared/utils/Enum.d.ts +19 -0
- package/dist/shared/utils/Enum.js +142 -0
- package/dist/shared/utils/Enum.types.cjs +1 -0
- package/dist/shared/utils/Enum.types.d.ts +7 -0
- package/dist/shared/utils/Enum.types.js +0 -0
- package/dist/shared/utils/I18nUtils.cjs +48 -0
- package/dist/shared/utils/I18nUtils.d.ts +7 -0
- package/dist/shared/utils/I18nUtils.js +42 -0
- package/dist/shared/utils/JuminNumberUtils.cjs +71 -0
- package/dist/shared/utils/JuminNumberUtils.d.ts +6 -0
- package/dist/shared/utils/JuminNumberUtils.js +71 -0
- package/dist/shared/utils/NumberUtils.cjs +80 -0
- package/dist/shared/utils/NumberUtils.d.ts +6 -0
- package/dist/shared/utils/NumberUtils.js +80 -0
- package/dist/shared/utils/ObjectIdUtils.cjs +65 -0
- package/dist/shared/utils/ObjectIdUtils.d.ts +6 -0
- package/dist/shared/utils/ObjectIdUtils.js +65 -0
- package/dist/shared/utils/Point3Utils.cjs +39 -0
- package/dist/shared/utils/Point3Utils.d.ts +8 -0
- package/dist/shared/utils/Point3Utils.js +39 -0
- package/dist/shared/utils/RandomUtils.cjs +103 -0
- package/dist/shared/utils/RandomUtils.d.ts +10 -0
- package/dist/shared/utils/RandomUtils.js +103 -0
- package/dist/shared/utils/Sequencer.cjs +476 -0
- package/dist/shared/utils/Sequencer.d.ts +41 -0
- package/dist/shared/utils/Sequencer.js +467 -0
- package/dist/shared/utils/StringUtils.cjs +71 -0
- package/dist/shared/utils/StringUtils.d.ts +7 -0
- package/dist/shared/utils/StringUtils.js +71 -0
- package/dist/shared/utils/Uint8ArrayUtils.cjs +48 -0
- package/dist/shared/utils/Uint8ArrayUtils.d.ts +6 -0
- package/dist/shared/utils/Uint8ArrayUtils.js +48 -0
- package/dist/shared/utils/UuidUtils.cjs +95 -0
- package/dist/shared/utils/UuidUtils.d.ts +16 -0
- package/dist/shared/utils/UuidUtils.js +75 -0
- package/dist/shared/utils/Validator.cjs +135 -0
- package/dist/shared/utils/Validator.d.ts +50 -0
- package/dist/shared/utils/Validator.js +135 -0
- package/dist/shared/utils/global/atob.cjs +12 -0
- package/dist/shared/utils/global/atob.d.ts +5 -0
- package/dist/shared/utils/global/atob.js +5 -0
- package/dist/shared/utils/global/base64.cjs +42 -0
- package/dist/shared/utils/global/base64.d.ts +4 -0
- package/dist/shared/utils/global/base64.js +40 -0
- package/dist/shared/utils/global/between.cjs +6 -0
- package/dist/shared/utils/global/between.d.ts +3 -0
- package/dist/shared/utils/global/between.js +5 -0
- package/dist/shared/utils/global/btoa.cjs +12 -0
- package/dist/shared/utils/global/btoa.d.ts +5 -0
- package/dist/shared/utils/global/btoa.js +5 -0
- package/dist/shared/utils/global/castArray.cjs +8 -0
- package/dist/shared/utils/global/castArray.d.ts +3 -0
- package/dist/shared/utils/global/castArray.js +7 -0
- package/dist/shared/utils/global/circularDistance.cjs +13 -0
- package/dist/shared/utils/global/circularDistance.d.ts +3 -0
- package/dist/shared/utils/global/circularDistance.js +12 -0
- package/dist/shared/utils/global/fallbackIfMatch.cjs +13 -0
- package/dist/shared/utils/global/fallbackIfMatch.d.ts +3 -0
- package/dist/shared/utils/global/fallbackIfMatch.js +12 -0
- package/dist/shared/utils/global/fallbackIfNull.cjs +7 -0
- package/dist/shared/utils/global/fallbackIfNull.d.ts +3 -0
- package/dist/shared/utils/global/fallbackIfNull.js +6 -0
- package/dist/shared/utils/global/fallbackIfNullish.cjs +9 -0
- package/dist/shared/utils/global/fallbackIfNullish.d.ts +3 -0
- package/dist/shared/utils/global/fallbackIfNullish.js +8 -0
- package/dist/shared/utils/global/fallbackIfUndefined.cjs +7 -0
- package/dist/shared/utils/global/fallbackIfUndefined.d.ts +3 -0
- package/dist/shared/utils/global/fallbackIfUndefined.js +6 -0
- package/dist/shared/utils/global/firstNonNullish.cjs +40 -0
- package/dist/shared/utils/global/firstNonNullish.d.ts +3 -0
- package/dist/shared/utils/global/firstNonNullish.js +39 -0
- package/dist/shared/utils/global/flat.cjs +102 -0
- package/dist/shared/utils/global/flat.d.ts +16 -0
- package/dist/shared/utils/global/flat.js +100 -0
- package/dist/shared/utils/global/index.cjs +136 -0
- package/dist/shared/utils/global/index.d.ts +16 -0
- package/dist/shared/utils/global/index.js +15 -0
- package/dist/shared/utils/global/processFirstNonNullish.cjs +40 -0
- package/dist/shared/utils/global/processFirstNonNullish.d.ts +3 -0
- package/dist/shared/utils/global/processFirstNonNullish.js +38 -0
- package/dist/shared/utils/global/pureEnum.cjs +69 -0
- package/dist/shared/utils/global/pureEnum.d.ts +18 -0
- package/dist/shared/utils/global/pureEnum.js +66 -0
- package/dist/shared/utils/global/sleep.cjs +8 -0
- package/dist/shared/utils/global/sleep.d.ts +3 -0
- package/dist/shared/utils/global/sleep.js +7 -0
- package/dist/shared/utils/index.cjs +190 -0
- package/dist/shared/utils/index.d.ts +44 -0
- package/dist/shared/utils/index.js +21 -0
- package/dist/shared/utils/try-catch/TryCatch.cjs +237 -0
- package/dist/shared/utils/try-catch/TryCatch.d.ts +26 -0
- package/dist/shared/utils/try-catch/TryCatch.js +237 -0
- package/dist/shared/utils/try-catch/index.cjs +10 -0
- package/dist/shared/utils/try-catch/index.d.ts +1 -0
- package/dist/shared/utils/try-catch/index.js +1 -0
- package/package.json +6 -7
- package/dist/index.browser.d.cts +0 -484
- package/dist/index.d.cts +0 -6
- package/dist/index.node.d.cts +0 -168
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
function _class_call_check(instance, Constructor) {
|
|
3
|
+
if (!(instance instanceof Constructor)) {
|
|
4
|
+
throw new TypeError("Cannot call a class as a function");
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function _defineProperties(target, props) {
|
|
8
|
+
for(var i = 0; i < props.length; i++){
|
|
9
|
+
var descriptor = props[i];
|
|
10
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
11
|
+
descriptor.configurable = true;
|
|
12
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
13
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
17
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
18
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
19
|
+
return Constructor;
|
|
20
|
+
}
|
|
21
|
+
require('../../chunk-ETV4XYOV.cjs');
|
|
22
|
+
var CoordinateUtils = /*#__PURE__*/ function() {
|
|
23
|
+
function CoordinateUtils() {
|
|
24
|
+
_class_call_check(this, CoordinateUtils);
|
|
25
|
+
}
|
|
26
|
+
_create_class(CoordinateUtils, null, [
|
|
27
|
+
{
|
|
28
|
+
key: "isValidLatitude",
|
|
29
|
+
value: function isValidLatitude(latitude) {
|
|
30
|
+
return /^-?([0-8]?[0-9]|90)(\.[0-9]{1,15})$/.test(latitude.toString());
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: "isValidLongitude",
|
|
35
|
+
value: function isValidLongitude(longitude) {
|
|
36
|
+
return /^-?([0-9]{1,2}|1[0-7][0-9]|180)(\.[0-9]{1,14})$/.test(longitude.toString());
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "isValidLatitudeLongitude",
|
|
41
|
+
value: function isValidLatitudeLongitude(latitude, longitude) {
|
|
42
|
+
return CoordinateUtils.isValidLatitude(latitude) && CoordinateUtils.isValidLongitude(longitude);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "isValidCoordinate",
|
|
47
|
+
value: function isValidCoordinate(coordinate) {
|
|
48
|
+
return this.isValidLatitudeLongitude(coordinate.latitude, coordinate.longitude);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "crowDistance",
|
|
53
|
+
value: function crowDistance() {
|
|
54
|
+
for(var _len = arguments.length, coordinates = new Array(_len), _key = 0; _key < _len; _key++){
|
|
55
|
+
coordinates[_key] = arguments[_key];
|
|
56
|
+
}
|
|
57
|
+
if (coordinates.length <= 2) {
|
|
58
|
+
var toRad = function(value) {
|
|
59
|
+
return value * Math.PI / 180;
|
|
60
|
+
};
|
|
61
|
+
var c1 = coordinates[0];
|
|
62
|
+
var c2 = coordinates[1];
|
|
63
|
+
if (!c1 || !c2) {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
var R = 6371e3;
|
|
67
|
+
var dLat = toRad(c2.latitude - c1.latitude);
|
|
68
|
+
var dLon = toRad(c2.longitude - c1.longitude);
|
|
69
|
+
var lat1 = toRad(c1.latitude);
|
|
70
|
+
var lat2 = toRad(c2.latitude);
|
|
71
|
+
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
72
|
+
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
73
|
+
return R * c;
|
|
74
|
+
}
|
|
75
|
+
var totalDistance = 0;
|
|
76
|
+
for(var i = 0; i < coordinates.length - 1; ++i){
|
|
77
|
+
totalDistance += this.crowDistance(coordinates[i], coordinates[i + 1]);
|
|
78
|
+
}
|
|
79
|
+
return totalDistance;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
]);
|
|
83
|
+
return CoordinateUtils;
|
|
84
|
+
}();
|
|
85
|
+
exports.CoordinateUtils = CoordinateUtils;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Coordinate } from '../interfaces/Coordinate.js';
|
|
2
|
+
|
|
3
|
+
declare class CoordinateUtils {
|
|
4
|
+
static isValidLatitude(latitude: Coordinate['latitude'] | string): boolean;
|
|
5
|
+
static isValidLongitude(longitude: Coordinate['longitude'] | string): boolean;
|
|
6
|
+
static isValidLatitudeLongitude(latitude: Coordinate['latitude'] | string, longitude: Coordinate['longitude'] | string): boolean;
|
|
7
|
+
static isValidCoordinate(coordinate: Coordinate): boolean;
|
|
8
|
+
static crowDistance(...coordinates: Coordinate[]): number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { CoordinateUtils };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
function _class_call_check(instance, Constructor) {
|
|
2
|
+
if (!(instance instanceof Constructor)) {
|
|
3
|
+
throw new TypeError("Cannot call a class as a function");
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function _defineProperties(target, props) {
|
|
7
|
+
for(var i = 0; i < props.length; i++){
|
|
8
|
+
var descriptor = props[i];
|
|
9
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
10
|
+
descriptor.configurable = true;
|
|
11
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
12
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
16
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
17
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
18
|
+
return Constructor;
|
|
19
|
+
}
|
|
20
|
+
import '../../chunk-PKBMQBKP.js';
|
|
21
|
+
var CoordinateUtils = /*#__PURE__*/ function() {
|
|
22
|
+
"use strict";
|
|
23
|
+
function CoordinateUtils() {
|
|
24
|
+
_class_call_check(this, CoordinateUtils);
|
|
25
|
+
}
|
|
26
|
+
_create_class(CoordinateUtils, null, [
|
|
27
|
+
{
|
|
28
|
+
key: "isValidLatitude",
|
|
29
|
+
value: function isValidLatitude(latitude) {
|
|
30
|
+
return /^-?([0-8]?[0-9]|90)(\.[0-9]{1,15})$/.test(latitude.toString());
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: "isValidLongitude",
|
|
35
|
+
value: function isValidLongitude(longitude) {
|
|
36
|
+
return /^-?([0-9]{1,2}|1[0-7][0-9]|180)(\.[0-9]{1,14})$/.test(longitude.toString());
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "isValidLatitudeLongitude",
|
|
41
|
+
value: function isValidLatitudeLongitude(latitude, longitude) {
|
|
42
|
+
return CoordinateUtils.isValidLatitude(latitude) && CoordinateUtils.isValidLongitude(longitude);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "isValidCoordinate",
|
|
47
|
+
value: function isValidCoordinate(coordinate) {
|
|
48
|
+
return this.isValidLatitudeLongitude(coordinate.latitude, coordinate.longitude);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "crowDistance",
|
|
53
|
+
value: function crowDistance() {
|
|
54
|
+
for(var _len = arguments.length, coordinates = new Array(_len), _key = 0; _key < _len; _key++){
|
|
55
|
+
coordinates[_key] = arguments[_key];
|
|
56
|
+
}
|
|
57
|
+
if (coordinates.length <= 2) {
|
|
58
|
+
var toRad = function(value) {
|
|
59
|
+
return value * Math.PI / 180;
|
|
60
|
+
};
|
|
61
|
+
var c1 = coordinates[0];
|
|
62
|
+
var c2 = coordinates[1];
|
|
63
|
+
if (!c1 || !c2) {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
var R = 6371e3;
|
|
67
|
+
var dLat = toRad(c2.latitude - c1.latitude);
|
|
68
|
+
var dLon = toRad(c2.longitude - c1.longitude);
|
|
69
|
+
var lat1 = toRad(c1.latitude);
|
|
70
|
+
var lat2 = toRad(c2.latitude);
|
|
71
|
+
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
72
|
+
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
73
|
+
return R * c;
|
|
74
|
+
}
|
|
75
|
+
var totalDistance = 0;
|
|
76
|
+
for(var i = 0; i < coordinates.length - 1; ++i){
|
|
77
|
+
totalDistance += this.crowDistance(coordinates[i], coordinates[i + 1]);
|
|
78
|
+
}
|
|
79
|
+
return totalDistance;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
]);
|
|
83
|
+
return CoordinateUtils;
|
|
84
|
+
}();
|
|
85
|
+
export { CoordinateUtils };
|