@powfix/core-js 0.15.0-beta-3 → 0.15.0-beta-4
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/{client/interfaces → browser/cjs/constants}/index.browser.js +6 -4
- package/dist/{client/constants → browser/cjs}/index.browser.js +7 -6
- package/dist/{client/managers → browser/cjs/interfaces}/index.browser.js +4 -2
- package/dist/{client/types → browser/cjs/managers}/index.browser.js +2 -2
- package/dist/{client/services → browser/cjs/scripts}/index.browser.js +1 -1
- package/dist/{server → browser/cjs}/services/index.browser.js +1 -1
- package/dist/browser/cjs/services/time/index.js +18 -0
- package/dist/{client/scripts → browser/cjs/types}/index.browser.js +2 -1
- package/dist/{client → browser/cjs}/utils/ArrayUtils.js +2 -2
- package/dist/{client → browser/cjs}/utils/DateUtils.js +17 -17
- package/dist/{server → browser/cjs}/utils/JuminNumberUtils.js +2 -2
- package/dist/{server → browser/cjs}/utils/ObjectIdUtils.js +3 -3
- package/dist/{server → browser/cjs}/utils/Sequencer.js +2 -2
- package/dist/{client → browser/cjs}/utils/global/fallbackIfNull.js +2 -2
- package/dist/{client → browser/cjs}/utils/global/fallbackIfUndefined.js +2 -2
- package/dist/browser/cjs/utils/global/index.js +27 -0
- package/dist/{client → browser/cjs}/utils/global/processFirstNonNullish.js +2 -2
- package/dist/browser/cjs/utils/index.browser.js +33 -0
- package/dist/{server → browser/cjs}/utils/try-catch/index.js +1 -1
- package/dist/browser/esm/constants/COORDINATE.mjs +6 -0
- package/dist/browser/esm/constants/CRUD.mjs +19 -0
- package/dist/browser/esm/constants/DATE.mjs +22 -0
- package/dist/browser/esm/constants/DISTANCE.mjs +14 -0
- package/dist/browser/esm/constants/DURATION.mjs +17 -0
- package/dist/browser/esm/constants/NOT_NULL.mjs +1 -0
- package/dist/browser/esm/constants/index.browser.mjs +6 -0
- package/dist/browser/esm/index.browser.mjs +7 -0
- package/dist/browser/esm/interfaces/Coordinate.mjs +1 -0
- package/dist/browser/esm/interfaces/Point2.mjs +1 -0
- package/dist/browser/esm/interfaces/Point3.mjs +1 -0
- package/dist/browser/esm/interfaces/StorageProvider.mjs +1 -0
- package/dist/browser/esm/interfaces/index.browser.mjs +4 -0
- package/dist/browser/esm/managers/SessionManager.mjs +127 -0
- package/dist/browser/esm/managers/SessionManager.type.mjs +1 -0
- package/dist/browser/esm/managers/index.browser.mjs +2 -0
- package/dist/browser/esm/scripts/base64Polyfill.mjs +10 -0
- package/dist/browser/esm/scripts/index.browser.mjs +1 -0
- package/dist/browser/esm/services/index.browser.mjs +1 -0
- package/dist/browser/esm/services/time/TimeService.mjs +173 -0
- package/dist/browser/esm/services/time/TimeService.type.mjs +1 -0
- package/dist/browser/esm/services/time/index.mjs +2 -0
- package/dist/browser/esm/types/IntRage.mjs +1 -0
- package/dist/browser/esm/types/PartialExcept.mjs +1 -0
- package/dist/browser/esm/types/index.browser.mjs +2 -0
- package/dist/browser/esm/utils/ArrayUtils.mjs +26 -0
- package/dist/browser/esm/utils/AxiosUtils.mjs +49 -0
- package/dist/browser/esm/utils/BooleanUtils.mjs +5 -0
- package/dist/browser/esm/utils/Calc.mjs +23 -0
- package/dist/browser/esm/utils/CoordinateUtils.mjs +38 -0
- package/dist/browser/esm/utils/DateUtils.mjs +303 -0
- package/dist/browser/esm/utils/JuminNumberUtils.mjs +46 -0
- package/dist/browser/esm/utils/NumberUtils.mjs +21 -0
- package/dist/browser/esm/utils/ObjectIdUtils.mjs +20 -0
- package/dist/browser/esm/utils/Point3Utils.mjs +8 -0
- package/dist/browser/esm/utils/RandomUtils.mjs +60 -0
- package/dist/browser/esm/utils/Sequencer.mjs +141 -0
- package/dist/browser/esm/utils/StringUtils.mjs +33 -0
- package/dist/browser/esm/utils/UuidUtils.mjs +42 -0
- package/dist/browser/esm/utils/Validator.mjs +114 -0
- package/dist/browser/esm/utils/global/between.mjs +3 -0
- package/dist/browser/esm/utils/global/castArray.mjs +3 -0
- package/dist/browser/esm/utils/global/circularDistance.mjs +11 -0
- package/dist/browser/esm/utils/global/fallbackIfEqual.mjs +6 -0
- package/dist/browser/esm/utils/global/fallbackIfNull.mjs +4 -0
- package/dist/browser/esm/utils/global/fallbackIfUndefined.mjs +4 -0
- package/dist/browser/esm/utils/global/firstNonNullish.mjs +10 -0
- package/dist/browser/esm/utils/global/flat.mjs +113 -0
- package/dist/browser/esm/utils/global/index.mjs +11 -0
- package/dist/browser/esm/utils/global/processFirstNonNullish.mjs +8 -0
- package/dist/browser/esm/utils/global/pureEnum.mjs +9 -0
- package/dist/browser/esm/utils/global/sleep.mjs +1 -0
- package/dist/browser/esm/utils/index.browser.mjs +17 -0
- package/dist/browser/esm/utils/try-catch/TryCatch.mjs +74 -0
- package/dist/browser/esm/utils/try-catch/index.mjs +1 -0
- package/dist/browser/types/constants/index.browser.d.ts +6 -0
- package/dist/browser/types/index.browser.d.ts +7 -0
- package/dist/{server → browser/types}/interfaces/Point3.d.ts +1 -1
- package/dist/browser/types/interfaces/index.browser.d.ts +4 -0
- package/dist/{server → browser/types}/managers/SessionManager.d.ts +2 -2
- package/dist/{client → browser/types}/managers/SessionManager.type.d.ts +1 -1
- package/dist/browser/types/managers/index.browser.d.ts +2 -0
- package/dist/browser/types/scripts/index.browser.d.ts +1 -0
- package/dist/browser/types/services/index.browser.d.ts +1 -0
- package/dist/{client → browser/types}/services/time/TimeService.d.ts +1 -1
- package/dist/browser/types/services/time/index.d.ts +2 -0
- package/dist/browser/types/types/index.browser.d.ts +2 -0
- package/dist/{client → browser/types}/utils/CoordinateUtils.d.ts +1 -1
- package/dist/{server → browser/types}/utils/DateUtils.d.ts +1 -1
- package/dist/{server → browser/types}/utils/Point3Utils.d.ts +1 -1
- package/dist/browser/types/utils/global/index.d.ts +11 -0
- package/dist/browser/types/utils/index.browser.d.ts +17 -0
- package/dist/browser/types/utils/try-catch/index.d.ts +1 -0
- package/dist/node/cjs/constants/index.browser.js +22 -0
- package/dist/{server/interfaces/nodejs/db → node/cjs/constants}/index.js +2 -1
- package/dist/{client/services/time → node/cjs/constants/nodejs}/index.js +2 -2
- package/dist/node/cjs/index.browser.js +23 -0
- package/dist/node/cjs/index.js +24 -0
- package/dist/node/cjs/interfaces/index.browser.js +20 -0
- package/dist/node/cjs/interfaces/index.js +18 -0
- package/dist/{client/utils/try-catch → node/cjs/interfaces/nodejs/db}/index.js +1 -1
- package/dist/{server/constants/nodejs → node/cjs/interfaces/nodejs/db/sequelize}/index.js +6 -2
- package/dist/{server → node/cjs}/interfaces/nodejs/index.js +1 -1
- package/dist/{server → node/cjs}/managers/TransactionManager.js +13 -13
- package/dist/node/cjs/managers/index.browser.js +18 -0
- package/dist/{server/constants → node/cjs/managers}/index.js +2 -2
- package/dist/node/cjs/scripts/index.browser.js +17 -0
- package/dist/node/cjs/scripts/index.js +17 -0
- package/dist/node/cjs/services/index.browser.js +17 -0
- package/dist/{server/scripts → node/cjs/services}/index.js +2 -1
- package/dist/{server → node/cjs}/services/redis/RedisPublisher.js +2 -2
- package/dist/{server → node/cjs}/services/redis/RedisSubscriber.js +5 -5
- package/dist/{server → node/cjs}/services/redis/index.js +3 -3
- package/dist/node/cjs/services/time/index.js +18 -0
- package/dist/{server/scripts → node/cjs/types}/index.browser.js +2 -1
- package/dist/node/cjs/types/index.js +18 -0
- package/dist/{server → node/cjs}/utils/ArrayUtils.js +2 -2
- package/dist/{server → node/cjs}/utils/DateUtils.js +17 -17
- package/dist/{client → node/cjs}/utils/JuminNumberUtils.js +2 -2
- package/dist/{client → node/cjs}/utils/ObjectIdUtils.js +3 -3
- package/dist/{client → node/cjs}/utils/Sequencer.js +2 -2
- package/dist/{server → node/cjs}/utils/global/fallbackIfNull.js +2 -2
- package/dist/{server → node/cjs}/utils/global/fallbackIfUndefined.js +2 -2
- package/dist/node/cjs/utils/global/index.js +27 -0
- package/dist/{server → node/cjs}/utils/global/processFirstNonNullish.js +2 -2
- package/dist/node/cjs/utils/index.browser.js +33 -0
- package/dist/node/cjs/utils/index.js +18 -0
- package/dist/{server → node/cjs}/utils/nodejs/index.js +3 -3
- package/dist/{server → node/cjs}/utils/nodejs/sequelize-utils/SequelizeUtils.js +8 -8
- package/dist/{server → node/cjs}/utils/nodejs/sequelize-utils/index.js +2 -2
- package/dist/node/cjs/utils/try-catch/index.js +17 -0
- package/dist/node/esm/constants/COORDINATE.mjs +6 -0
- package/dist/node/esm/constants/CRUD.mjs +19 -0
- package/dist/node/esm/constants/DATE.mjs +22 -0
- package/dist/node/esm/constants/DISTANCE.mjs +14 -0
- package/dist/node/esm/constants/DURATION.mjs +17 -0
- package/dist/node/esm/constants/NOT_NULL.mjs +1 -0
- package/dist/node/esm/constants/index.browser.mjs +6 -0
- package/dist/node/esm/constants/index.mjs +2 -0
- package/dist/node/esm/constants/nodejs/TransactionManagerLogLevel.mjs +8 -0
- package/dist/node/esm/constants/nodejs/TransactionManagerTimeoutAction.mjs +5 -0
- package/dist/node/esm/constants/nodejs/index.mjs +2 -0
- package/dist/node/esm/index.browser.mjs +7 -0
- package/dist/node/esm/index.mjs +8 -0
- package/dist/node/esm/interfaces/Coordinate.mjs +1 -0
- package/dist/node/esm/interfaces/Point2.mjs +1 -0
- package/dist/node/esm/interfaces/Point3.mjs +1 -0
- package/dist/node/esm/interfaces/StorageProvider.mjs +1 -0
- package/dist/node/esm/interfaces/index.browser.mjs +4 -0
- package/dist/node/esm/interfaces/index.mjs +2 -0
- package/dist/node/esm/interfaces/nodejs/db/index.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/Hook.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/HookFn.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/HookType.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/ReloadOption.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/TransactionOption.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/UpsertOptions.mjs +1 -0
- package/dist/node/esm/interfaces/nodejs/db/sequelize/index.mjs +6 -0
- package/dist/node/esm/interfaces/nodejs/index.mjs +1 -0
- package/dist/node/esm/managers/SessionManager.mjs +127 -0
- package/dist/node/esm/managers/SessionManager.type.mjs +1 -0
- package/dist/node/esm/managers/TransactionManager.mjs +144 -0
- package/dist/node/esm/managers/TransactionManager.types.mjs +1 -0
- package/dist/node/esm/managers/index.browser.mjs +2 -0
- package/dist/node/esm/managers/index.mjs +2 -0
- package/dist/node/esm/scripts/base64Polyfill.mjs +10 -0
- package/dist/node/esm/scripts/index.browser.mjs +1 -0
- package/dist/node/esm/scripts/index.mjs +1 -0
- package/dist/node/esm/services/index.browser.mjs +1 -0
- package/dist/node/esm/services/index.mjs +2 -0
- package/dist/node/esm/services/redis/RedisClient.mjs +71 -0
- package/dist/node/esm/services/redis/RedisPublisher.mjs +60 -0
- package/dist/node/esm/services/redis/RedisSubscriber.mjs +69 -0
- package/dist/node/esm/services/redis/index.mjs +4 -0
- package/dist/node/esm/services/time/TimeService.mjs +173 -0
- package/dist/node/esm/services/time/TimeService.type.mjs +1 -0
- package/dist/node/esm/services/time/index.mjs +2 -0
- package/dist/node/esm/types/IntRage.mjs +1 -0
- package/dist/node/esm/types/PartialExcept.mjs +1 -0
- package/dist/node/esm/types/UpsertResult.mjs +1 -0
- package/dist/node/esm/types/index.browser.mjs +2 -0
- package/dist/node/esm/types/index.mjs +2 -0
- package/dist/node/esm/utils/ArrayUtils.mjs +26 -0
- package/dist/node/esm/utils/AxiosUtils.mjs +49 -0
- package/dist/node/esm/utils/BooleanUtils.mjs +5 -0
- package/dist/node/esm/utils/Calc.mjs +23 -0
- package/dist/node/esm/utils/CoordinateUtils.mjs +38 -0
- package/dist/node/esm/utils/DateUtils.mjs +303 -0
- package/dist/node/esm/utils/JuminNumberUtils.mjs +46 -0
- package/dist/node/esm/utils/NumberUtils.mjs +21 -0
- package/dist/node/esm/utils/ObjectIdUtils.mjs +20 -0
- package/dist/node/esm/utils/Point3Utils.mjs +8 -0
- package/dist/node/esm/utils/RandomUtils.mjs +60 -0
- package/dist/node/esm/utils/Sequencer.mjs +141 -0
- package/dist/node/esm/utils/StringUtils.mjs +33 -0
- package/dist/node/esm/utils/UuidUtils.mjs +42 -0
- package/dist/node/esm/utils/Validator.mjs +114 -0
- package/dist/node/esm/utils/global/between.mjs +3 -0
- package/dist/node/esm/utils/global/castArray.mjs +3 -0
- package/dist/node/esm/utils/global/circularDistance.mjs +11 -0
- package/dist/node/esm/utils/global/fallbackIfEqual.mjs +6 -0
- package/dist/node/esm/utils/global/fallbackIfNull.mjs +4 -0
- package/dist/node/esm/utils/global/fallbackIfUndefined.mjs +4 -0
- package/dist/node/esm/utils/global/firstNonNullish.mjs +10 -0
- package/dist/node/esm/utils/global/flat.mjs +113 -0
- package/dist/node/esm/utils/global/index.mjs +11 -0
- package/dist/node/esm/utils/global/processFirstNonNullish.mjs +8 -0
- package/dist/node/esm/utils/global/pureEnum.mjs +9 -0
- package/dist/node/esm/utils/global/sleep.mjs +1 -0
- package/dist/node/esm/utils/index.browser.mjs +17 -0
- package/dist/node/esm/utils/index.mjs +2 -0
- package/dist/node/esm/utils/nodejs/HookUtils.mjs +26 -0
- package/dist/node/esm/utils/nodejs/index.mjs +2 -0
- package/dist/node/esm/utils/nodejs/sequelize-utils/SequelizeUtils.mjs +71 -0
- package/dist/node/esm/utils/nodejs/sequelize-utils/index.mjs +1 -0
- package/dist/node/esm/utils/nodejs/sequelize-utils/types.mjs +1 -0
- package/dist/node/esm/utils/try-catch/TryCatch.mjs +74 -0
- package/dist/node/esm/utils/try-catch/index.mjs +1 -0
- package/dist/node/types/constants/index.browser.d.ts +6 -0
- package/dist/node/types/constants/index.d.ts +2 -0
- package/dist/node/types/constants/nodejs/index.d.ts +2 -0
- package/dist/node/types/index.browser.d.ts +7 -0
- package/dist/node/types/index.d.ts +8 -0
- package/dist/{client → node/types}/interfaces/Point3.d.ts +1 -1
- package/dist/node/types/interfaces/index.browser.d.ts +4 -0
- package/dist/node/types/interfaces/index.d.ts +2 -0
- package/dist/node/types/interfaces/nodejs/db/index.d.ts +1 -0
- package/dist/{server → node/types}/interfaces/nodejs/db/sequelize/Hook.d.ts +2 -2
- package/dist/{server → node/types}/interfaces/nodejs/db/sequelize/HookFn.d.ts +1 -1
- package/dist/node/types/interfaces/nodejs/db/sequelize/UpsertOptions.d.ts +4 -0
- package/dist/node/types/interfaces/nodejs/db/sequelize/index.d.ts +6 -0
- package/dist/node/types/interfaces/nodejs/index.d.ts +1 -0
- package/dist/{client → node/types}/managers/SessionManager.d.ts +2 -2
- package/dist/{server → node/types}/managers/SessionManager.type.d.ts +1 -1
- package/dist/{server → node/types}/managers/TransactionManager.d.ts +2 -2
- package/dist/{server → node/types}/managers/TransactionManager.types.d.ts +1 -1
- package/dist/node/types/managers/index.browser.d.ts +2 -0
- package/dist/node/types/managers/index.d.ts +2 -0
- package/dist/node/types/scripts/index.browser.d.ts +1 -0
- package/dist/node/types/scripts/index.d.ts +1 -0
- package/dist/node/types/services/index.browser.d.ts +1 -0
- package/dist/node/types/services/index.d.ts +2 -0
- package/dist/{server → node/types}/services/redis/RedisPublisher.d.ts +1 -1
- package/dist/{server → node/types}/services/redis/RedisSubscriber.d.ts +2 -2
- package/dist/node/types/services/redis/index.d.ts +3 -0
- package/dist/{server → node/types}/services/time/TimeService.d.ts +1 -1
- package/dist/node/types/services/time/index.d.ts +2 -0
- package/dist/node/types/types/index.browser.d.ts +2 -0
- package/dist/node/types/types/index.d.ts +2 -0
- package/dist/{server → node/types}/utils/CoordinateUtils.d.ts +1 -1
- package/dist/{client → node/types}/utils/DateUtils.d.ts +1 -1
- package/dist/{client → node/types}/utils/Point3Utils.d.ts +1 -1
- package/dist/node/types/utils/global/index.d.ts +11 -0
- package/dist/node/types/utils/index.browser.d.ts +17 -0
- package/dist/node/types/utils/index.d.ts +2 -0
- package/dist/{server → node/types}/utils/nodejs/HookUtils.d.ts +1 -1
- package/dist/node/types/utils/nodejs/index.d.ts +2 -0
- package/dist/{server → node/types}/utils/nodejs/sequelize-utils/SequelizeUtils.d.ts +1 -1
- package/dist/node/types/utils/nodejs/sequelize-utils/index.d.ts +1 -0
- package/dist/node/types/utils/try-catch/index.d.ts +1 -0
- package/package.json +17 -10
- package/dist/client/constants/index.browser.d.ts +0 -6
- package/dist/client/index.browser.d.ts +0 -7
- package/dist/client/index.browser.js +0 -23
- package/dist/client/interfaces/index.browser.d.ts +0 -4
- package/dist/client/managers/index.browser.d.ts +0 -2
- package/dist/client/scripts/index.browser.d.ts +0 -1
- package/dist/client/services/index.browser.d.ts +0 -1
- package/dist/client/services/time/index.d.ts +0 -2
- package/dist/client/types/index.browser.d.ts +0 -2
- package/dist/client/utils/global/index.d.ts +0 -11
- package/dist/client/utils/global/index.js +0 -27
- package/dist/client/utils/index.browser.d.ts +0 -17
- package/dist/client/utils/index.browser.js +0 -33
- package/dist/client/utils/try-catch/index.d.ts +0 -1
- package/dist/server/constants/index.browser.d.ts +0 -6
- package/dist/server/constants/index.browser.js +0 -22
- package/dist/server/constants/index.d.ts +0 -2
- package/dist/server/constants/nodejs/index.d.ts +0 -2
- package/dist/server/index.browser.d.ts +0 -7
- package/dist/server/index.browser.js +0 -23
- package/dist/server/index.d.ts +0 -8
- package/dist/server/index.js +0 -24
- package/dist/server/interfaces/index.browser.d.ts +0 -4
- package/dist/server/interfaces/index.browser.js +0 -20
- package/dist/server/interfaces/index.d.ts +0 -2
- package/dist/server/interfaces/index.js +0 -18
- package/dist/server/interfaces/nodejs/db/index.d.ts +0 -1
- package/dist/server/interfaces/nodejs/db/sequelize/UpsertOptions.d.ts +0 -4
- package/dist/server/interfaces/nodejs/db/sequelize/index.d.ts +0 -6
- package/dist/server/interfaces/nodejs/db/sequelize/index.js +0 -22
- package/dist/server/interfaces/nodejs/index.d.ts +0 -1
- package/dist/server/managers/index.browser.d.ts +0 -2
- package/dist/server/managers/index.browser.js +0 -18
- package/dist/server/managers/index.d.ts +0 -2
- package/dist/server/managers/index.js +0 -18
- package/dist/server/scripts/index.browser.d.ts +0 -1
- package/dist/server/scripts/index.d.ts +0 -1
- package/dist/server/services/index.browser.d.ts +0 -1
- package/dist/server/services/index.d.ts +0 -2
- package/dist/server/services/index.js +0 -18
- package/dist/server/services/redis/index.d.ts +0 -3
- package/dist/server/services/time/index.d.ts +0 -2
- package/dist/server/services/time/index.js +0 -18
- package/dist/server/types/index.browser.d.ts +0 -2
- package/dist/server/types/index.browser.js +0 -18
- package/dist/server/types/index.d.ts +0 -2
- package/dist/server/types/index.js +0 -18
- package/dist/server/utils/global/index.d.ts +0 -11
- package/dist/server/utils/global/index.js +0 -27
- package/dist/server/utils/index.browser.d.ts +0 -17
- package/dist/server/utils/index.browser.js +0 -33
- package/dist/server/utils/index.d.ts +0 -2
- package/dist/server/utils/index.js +0 -18
- package/dist/server/utils/nodejs/index.d.ts +0 -2
- package/dist/server/utils/nodejs/sequelize-utils/index.d.ts +0 -1
- package/dist/server/utils/try-catch/index.d.ts +0 -1
- /package/dist/{client → browser/cjs}/constants/COORDINATE.js +0 -0
- /package/dist/{client → browser/cjs}/constants/CRUD.js +0 -0
- /package/dist/{client → browser/cjs}/constants/DATE.js +0 -0
- /package/dist/{client → browser/cjs}/constants/DISTANCE.js +0 -0
- /package/dist/{client → browser/cjs}/constants/DURATION.js +0 -0
- /package/dist/{client → browser/cjs}/constants/NOT_NULL.js +0 -0
- /package/dist/{client → browser/cjs}/interfaces/Coordinate.js +0 -0
- /package/dist/{client → browser/cjs}/interfaces/Point2.js +0 -0
- /package/dist/{client → browser/cjs}/interfaces/Point3.js +0 -0
- /package/dist/{client → browser/cjs}/interfaces/StorageProvider.js +0 -0
- /package/dist/{client → browser/cjs}/managers/SessionManager.js +0 -0
- /package/dist/{client → browser/cjs}/managers/SessionManager.type.js +0 -0
- /package/dist/{client → browser/cjs}/scripts/base64Polyfill.js +0 -0
- /package/dist/{client → browser/cjs}/services/time/TimeService.js +0 -0
- /package/dist/{client → browser/cjs}/services/time/TimeService.type.js +0 -0
- /package/dist/{client → browser/cjs}/types/IntRage.js +0 -0
- /package/dist/{client → browser/cjs}/types/PartialExcept.js +0 -0
- /package/dist/{client → browser/cjs}/utils/AxiosUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/BooleanUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/Calc.js +0 -0
- /package/dist/{client → browser/cjs}/utils/CoordinateUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/NumberUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/Point3Utils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/RandomUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/StringUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/UuidUtils.js +0 -0
- /package/dist/{client → browser/cjs}/utils/Validator.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/between.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/castArray.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/circularDistance.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/fallbackIfEqual.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/firstNonNullish.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/flat.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/pureEnum.js +0 -0
- /package/dist/{client → browser/cjs}/utils/global/sleep.js +0 -0
- /package/dist/{client → browser/cjs}/utils/try-catch/TryCatch.js +0 -0
- /package/dist/{client → browser/types}/constants/COORDINATE.d.ts +0 -0
- /package/dist/{client → browser/types}/constants/CRUD.d.ts +0 -0
- /package/dist/{client → browser/types}/constants/DATE.d.ts +0 -0
- /package/dist/{client → browser/types}/constants/DISTANCE.d.ts +0 -0
- /package/dist/{client → browser/types}/constants/DURATION.d.ts +0 -0
- /package/dist/{client → browser/types}/constants/NOT_NULL.d.ts +0 -0
- /package/dist/{client → browser/types}/interfaces/Coordinate.d.ts +0 -0
- /package/dist/{client → browser/types}/interfaces/Point2.d.ts +0 -0
- /package/dist/{client → browser/types}/interfaces/StorageProvider.d.ts +0 -0
- /package/dist/{client → browser/types}/scripts/base64Polyfill.d.ts +0 -0
- /package/dist/{client → browser/types}/services/time/TimeService.type.d.ts +0 -0
- /package/dist/{client → browser/types}/types/IntRage.d.ts +0 -0
- /package/dist/{client → browser/types}/types/PartialExcept.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/ArrayUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/AxiosUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/BooleanUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/Calc.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/JuminNumberUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/NumberUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/ObjectIdUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/RandomUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/Sequencer.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/StringUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/UuidUtils.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/Validator.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/between.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/castArray.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/circularDistance.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/fallbackIfEqual.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/fallbackIfNull.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/fallbackIfUndefined.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/firstNonNullish.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/flat.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/processFirstNonNullish.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/pureEnum.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/global/sleep.d.ts +0 -0
- /package/dist/{client → browser/types}/utils/try-catch/TryCatch.d.ts +0 -0
- /package/dist/{server → node/cjs}/constants/COORDINATE.js +0 -0
- /package/dist/{server → node/cjs}/constants/CRUD.js +0 -0
- /package/dist/{server → node/cjs}/constants/DATE.js +0 -0
- /package/dist/{server → node/cjs}/constants/DISTANCE.js +0 -0
- /package/dist/{server → node/cjs}/constants/DURATION.js +0 -0
- /package/dist/{server → node/cjs}/constants/NOT_NULL.js +0 -0
- /package/dist/{server → node/cjs}/constants/nodejs/TransactionManagerLogLevel.js +0 -0
- /package/dist/{server → node/cjs}/constants/nodejs/TransactionManagerTimeoutAction.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/Coordinate.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/Point2.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/Point3.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/StorageProvider.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/nodejs/db/sequelize/Hook.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/nodejs/db/sequelize/HookFn.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/nodejs/db/sequelize/HookType.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/nodejs/db/sequelize/ReloadOption.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/nodejs/db/sequelize/TransactionOption.js +0 -0
- /package/dist/{server → node/cjs}/interfaces/nodejs/db/sequelize/UpsertOptions.js +0 -0
- /package/dist/{server → node/cjs}/managers/SessionManager.js +0 -0
- /package/dist/{server → node/cjs}/managers/SessionManager.type.js +0 -0
- /package/dist/{server → node/cjs}/managers/TransactionManager.types.js +0 -0
- /package/dist/{server → node/cjs}/scripts/base64Polyfill.js +0 -0
- /package/dist/{server → node/cjs}/services/redis/RedisClient.js +0 -0
- /package/dist/{server → node/cjs}/services/time/TimeService.js +0 -0
- /package/dist/{server → node/cjs}/services/time/TimeService.type.js +0 -0
- /package/dist/{server → node/cjs}/types/IntRage.js +0 -0
- /package/dist/{server → node/cjs}/types/PartialExcept.js +0 -0
- /package/dist/{server → node/cjs}/types/UpsertResult.js +0 -0
- /package/dist/{server → node/cjs}/utils/AxiosUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/BooleanUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/Calc.js +0 -0
- /package/dist/{server → node/cjs}/utils/CoordinateUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/NumberUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/Point3Utils.js +0 -0
- /package/dist/{server → node/cjs}/utils/RandomUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/StringUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/UuidUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/Validator.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/between.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/castArray.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/circularDistance.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/fallbackIfEqual.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/firstNonNullish.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/flat.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/pureEnum.js +0 -0
- /package/dist/{server → node/cjs}/utils/global/sleep.js +0 -0
- /package/dist/{server → node/cjs}/utils/nodejs/HookUtils.js +0 -0
- /package/dist/{server → node/cjs}/utils/nodejs/sequelize-utils/types.js +0 -0
- /package/dist/{server → node/cjs}/utils/try-catch/TryCatch.js +0 -0
- /package/dist/{server → node/types}/constants/COORDINATE.d.ts +0 -0
- /package/dist/{server → node/types}/constants/CRUD.d.ts +0 -0
- /package/dist/{server → node/types}/constants/DATE.d.ts +0 -0
- /package/dist/{server → node/types}/constants/DISTANCE.d.ts +0 -0
- /package/dist/{server → node/types}/constants/DURATION.d.ts +0 -0
- /package/dist/{server → node/types}/constants/NOT_NULL.d.ts +0 -0
- /package/dist/{server → node/types}/constants/nodejs/TransactionManagerLogLevel.d.ts +0 -0
- /package/dist/{server → node/types}/constants/nodejs/TransactionManagerTimeoutAction.d.ts +0 -0
- /package/dist/{server → node/types}/interfaces/Coordinate.d.ts +0 -0
- /package/dist/{server → node/types}/interfaces/Point2.d.ts +0 -0
- /package/dist/{server → node/types}/interfaces/StorageProvider.d.ts +0 -0
- /package/dist/{server → node/types}/interfaces/nodejs/db/sequelize/HookType.d.ts +0 -0
- /package/dist/{server → node/types}/interfaces/nodejs/db/sequelize/ReloadOption.d.ts +0 -0
- /package/dist/{server → node/types}/interfaces/nodejs/db/sequelize/TransactionOption.d.ts +0 -0
- /package/dist/{server → node/types}/scripts/base64Polyfill.d.ts +0 -0
- /package/dist/{server → node/types}/services/redis/RedisClient.d.ts +0 -0
- /package/dist/{server → node/types}/services/time/TimeService.type.d.ts +0 -0
- /package/dist/{server → node/types}/types/IntRage.d.ts +0 -0
- /package/dist/{server → node/types}/types/PartialExcept.d.ts +0 -0
- /package/dist/{server → node/types}/types/UpsertResult.d.ts +0 -0
- /package/dist/{server → node/types}/utils/ArrayUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/AxiosUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/BooleanUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/Calc.d.ts +0 -0
- /package/dist/{server → node/types}/utils/JuminNumberUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/NumberUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/ObjectIdUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/RandomUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/Sequencer.d.ts +0 -0
- /package/dist/{server → node/types}/utils/StringUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/UuidUtils.d.ts +0 -0
- /package/dist/{server → node/types}/utils/Validator.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/between.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/castArray.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/circularDistance.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/fallbackIfEqual.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/fallbackIfNull.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/fallbackIfUndefined.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/firstNonNullish.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/flat.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/processFirstNonNullish.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/pureEnum.d.ts +0 -0
- /package/dist/{server → node/types}/utils/global/sleep.d.ts +0 -0
- /package/dist/{server → node/types}/utils/nodejs/sequelize-utils/types.d.ts +0 -0
- /package/dist/{server → node/types}/utils/try-catch/TryCatch.d.ts +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import EventEmitter from 'eventemitter3';
|
|
11
|
+
const LOG_TAG = 'TimeService';
|
|
12
|
+
export class TimeService extends EventEmitter {
|
|
13
|
+
static calculateNTPResultOffset(ntpResult) {
|
|
14
|
+
const { t1, t2, t3, t4 } = ntpResult;
|
|
15
|
+
return ((t2 - t1) + (t3 - t4)) / 2;
|
|
16
|
+
}
|
|
17
|
+
constructor(options) {
|
|
18
|
+
super();
|
|
19
|
+
// Options
|
|
20
|
+
this.syncInterval = options === null || options === void 0 ? void 0 : options.syncInterval;
|
|
21
|
+
this.clientTimeProvider = options === null || options === void 0 ? void 0 : options.clientTimeProvider;
|
|
22
|
+
this.serverTimeProvider = options === null || options === void 0 ? void 0 : options.serverTimeProvider;
|
|
23
|
+
// Bind
|
|
24
|
+
this.sync = this.sync.bind(this);
|
|
25
|
+
this.fetchServerNTPResult = this.fetchServerNTPResult.bind(this);
|
|
26
|
+
}
|
|
27
|
+
getOffset(defaultValue) {
|
|
28
|
+
if (this.offset !== undefined) {
|
|
29
|
+
return this.offset;
|
|
30
|
+
}
|
|
31
|
+
if (defaultValue !== undefined) {
|
|
32
|
+
return defaultValue;
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
setOffset(offset) {
|
|
37
|
+
return this.offset = offset;
|
|
38
|
+
}
|
|
39
|
+
getSyncedAt() {
|
|
40
|
+
return this.syncedAt;
|
|
41
|
+
}
|
|
42
|
+
setSyncedAt(syncedAt) {
|
|
43
|
+
return (this.syncedAt = syncedAt);
|
|
44
|
+
}
|
|
45
|
+
getSyncInterval() {
|
|
46
|
+
return this.syncInterval;
|
|
47
|
+
}
|
|
48
|
+
setSyncInterval(interval) {
|
|
49
|
+
this.syncInterval = interval;
|
|
50
|
+
// Emit
|
|
51
|
+
this.emit('SYNC_INTERVAL_CHANGED', interval);
|
|
52
|
+
if (this.syncHandler !== undefined) {
|
|
53
|
+
this.stopSync();
|
|
54
|
+
this.startSync();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
getClientTimeProvider() {
|
|
58
|
+
return this.clientTimeProvider;
|
|
59
|
+
}
|
|
60
|
+
setClientTimeProvider(provider) {
|
|
61
|
+
this.clientTimeProvider = provider !== null && provider !== void 0 ? provider : undefined;
|
|
62
|
+
}
|
|
63
|
+
getClientTime() {
|
|
64
|
+
var _a;
|
|
65
|
+
return (_a = this.getClientTimeProvider()) === null || _a === void 0 ? void 0 : _a();
|
|
66
|
+
}
|
|
67
|
+
getServerTimeProvider() {
|
|
68
|
+
return this.serverTimeProvider;
|
|
69
|
+
}
|
|
70
|
+
setServerTimeProvider(provider) {
|
|
71
|
+
this.serverTimeProvider = provider !== null && provider !== void 0 ? provider : undefined;
|
|
72
|
+
}
|
|
73
|
+
getServerTime() {
|
|
74
|
+
const offset = this.getOffset();
|
|
75
|
+
if (offset == null) {
|
|
76
|
+
return offset;
|
|
77
|
+
}
|
|
78
|
+
const clientTime = this.getClientTime();
|
|
79
|
+
if (clientTime == null) {
|
|
80
|
+
return clientTime;
|
|
81
|
+
}
|
|
82
|
+
return clientTime + offset;
|
|
83
|
+
}
|
|
84
|
+
getTime() {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
return (_b = (_a = this.getServerTime()) !== null && _a !== void 0 ? _a : this.getClientTime()) !== null && _b !== void 0 ? _b : Date.now();
|
|
87
|
+
}
|
|
88
|
+
fetchServerNTPResult(t1) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
try {
|
|
91
|
+
const provider = this.getServerTimeProvider();
|
|
92
|
+
if (typeof provider === 'function') {
|
|
93
|
+
return yield provider(t1);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
console.error(e);
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
sync() {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
try {
|
|
105
|
+
// T1 (Client Request Time)
|
|
106
|
+
const requestedAt = Date.now();
|
|
107
|
+
// Fetch server time from server
|
|
108
|
+
const serverNtpResult = yield this.fetchServerNTPResult(requestedAt);
|
|
109
|
+
// Check is null
|
|
110
|
+
if (serverNtpResult === null) {
|
|
111
|
+
console.warn(LOG_TAG, 'Failed to get server time');
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
// T2 (Server Receive Time)
|
|
115
|
+
const { t2 } = serverNtpResult;
|
|
116
|
+
// Check is not a number
|
|
117
|
+
if (isNaN(Number(t2))) {
|
|
118
|
+
// Not a Number
|
|
119
|
+
console.error(LOG_TAG, 'invalid server time(t2), not a number', t2);
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
// T3 (Server Transmit Time)
|
|
123
|
+
const { t3 } = serverNtpResult;
|
|
124
|
+
// Check is not a number
|
|
125
|
+
if (isNaN(Number(t3))) {
|
|
126
|
+
// Not a Number
|
|
127
|
+
console.error(LOG_TAG, 'invalid server time(t2), not a number', t2);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
// T4 (Client Receive Time)
|
|
131
|
+
const receivedAt = Date.now();
|
|
132
|
+
const ntpResult = {
|
|
133
|
+
t1: requestedAt,
|
|
134
|
+
t2: t2,
|
|
135
|
+
t3: t3,
|
|
136
|
+
t4: receivedAt,
|
|
137
|
+
};
|
|
138
|
+
// Calculate offset
|
|
139
|
+
const offset = TimeService.calculateNTPResultOffset(ntpResult);
|
|
140
|
+
// Save calculated offset
|
|
141
|
+
this.setOffset(offset);
|
|
142
|
+
// Mark synced timestamp
|
|
143
|
+
const syncedAt = Date.now();
|
|
144
|
+
this.setSyncedAt(syncedAt);
|
|
145
|
+
this.emit('SYNCED', offset, syncedAt);
|
|
146
|
+
}
|
|
147
|
+
catch (e) {
|
|
148
|
+
console.error(e);
|
|
149
|
+
}
|
|
150
|
+
return null;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
startSync() {
|
|
154
|
+
if (this.syncHandler != null) {
|
|
155
|
+
console.warn('sync is already started');
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const syncInterval = this.getSyncInterval();
|
|
159
|
+
if (syncInterval == null || syncInterval <= 0) {
|
|
160
|
+
console.warn('sync is not started', 'syncInterval', syncInterval);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
this.syncHandler = setInterval(this.sync.bind(this), syncInterval);
|
|
164
|
+
}
|
|
165
|
+
;
|
|
166
|
+
stopSync() {
|
|
167
|
+
if (this.syncHandler != null) {
|
|
168
|
+
clearInterval(this.syncHandler);
|
|
169
|
+
this.syncHandler = undefined;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
;
|
|
173
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { castArray } from "./global/index.mjs";
|
|
2
|
+
export class ArrayUtils {
|
|
3
|
+
static castArray(value) {
|
|
4
|
+
return castArray(value);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 객체를 요소로 가지는 배열에서 가장 큰 값(Property)를 가지는 객체를 반환한다
|
|
8
|
+
* @param e 객체 배열
|
|
9
|
+
* @param key 값을 비교할 Property 키
|
|
10
|
+
*/
|
|
11
|
+
static getGreatestObject(e, key) {
|
|
12
|
+
return e.reduce((prev, current) => ((prev[key] > current[key] ? prev : current)));
|
|
13
|
+
}
|
|
14
|
+
static removeDuplicate(arr) {
|
|
15
|
+
return [...new Set(arr)];
|
|
16
|
+
}
|
|
17
|
+
static removeObjectDuplicate(arr, key) {
|
|
18
|
+
return arr.filter((v, i, self) => (i === self.findIndex(e => (e[key] === v[key]))));
|
|
19
|
+
}
|
|
20
|
+
static allValuesEqual(...values) {
|
|
21
|
+
if (values.length === 0) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
return values.every((value) => value === values[0]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export class AxiosUtils {
|
|
2
|
+
static headerValue2String(value) {
|
|
3
|
+
if (value === undefined) {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
if (value === null || typeof value === 'string') {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(value)) {
|
|
10
|
+
if (value.length > 0) {
|
|
11
|
+
for (const e of value) {
|
|
12
|
+
if (typeof e === 'string') {
|
|
13
|
+
return e;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// There is no any values having string type
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return String(value);
|
|
24
|
+
}
|
|
25
|
+
static headerValue2Number(value) {
|
|
26
|
+
if (value === undefined) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
if (value === null || typeof value === 'number') {
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
if (Array.isArray(value)) {
|
|
33
|
+
if (value.length > 0) {
|
|
34
|
+
for (const e of value) {
|
|
35
|
+
if (typeof e === 'number') {
|
|
36
|
+
return e;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// There is no any values having string type
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const result = Number(value);
|
|
47
|
+
return isNaN(result) ? null : result;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export class Calc {
|
|
2
|
+
static average(...values) {
|
|
3
|
+
const length = values.length;
|
|
4
|
+
if (length === 0) {
|
|
5
|
+
return NaN;
|
|
6
|
+
}
|
|
7
|
+
let sum = 0;
|
|
8
|
+
for (let i = 0; i < length; ++i) {
|
|
9
|
+
sum += values[i];
|
|
10
|
+
}
|
|
11
|
+
return sum / length;
|
|
12
|
+
}
|
|
13
|
+
static median(...values) {
|
|
14
|
+
const len = values.length;
|
|
15
|
+
if (len === 0)
|
|
16
|
+
return NaN;
|
|
17
|
+
const sorted = values.slice().sort((a, b) => a - b); // O(n log n)
|
|
18
|
+
const mid = len >> 1;
|
|
19
|
+
return len % 2 === 0
|
|
20
|
+
? (sorted[mid - 1] + sorted[mid]) / 2
|
|
21
|
+
: sorted[mid];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class CoordinateUtils {
|
|
2
|
+
static isValidLatitude(latitude) {
|
|
3
|
+
return /^-?([0-8]?[0-9]|90)(\.[0-9]{1,15})$/.test(latitude.toString());
|
|
4
|
+
}
|
|
5
|
+
static isValidLongitude(longitude) {
|
|
6
|
+
return /^-?([0-9]{1,2}|1[0-7][0-9]|180)(\.[0-9]{1,14})$/.test(longitude.toString());
|
|
7
|
+
}
|
|
8
|
+
static isValidLatitudeLongitude(latitude, longitude) {
|
|
9
|
+
return CoordinateUtils.isValidLatitude(latitude) && CoordinateUtils.isValidLongitude(longitude);
|
|
10
|
+
}
|
|
11
|
+
static isValidCoordinate(coordinate) {
|
|
12
|
+
return this.isValidLatitudeLongitude(coordinate.latitude, coordinate.longitude);
|
|
13
|
+
}
|
|
14
|
+
static crowDistance(...coordinates) {
|
|
15
|
+
if (coordinates.length <= 2) {
|
|
16
|
+
const toRad = (value) => value * Math.PI / 180;
|
|
17
|
+
const c1 = coordinates[0];
|
|
18
|
+
const c2 = coordinates[1];
|
|
19
|
+
if (!c1 || !c2) {
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
const R = 6371e3;
|
|
23
|
+
const dLat = toRad(c2.latitude - c1.latitude);
|
|
24
|
+
const dLon = toRad(c2.longitude - c1.longitude);
|
|
25
|
+
const lat1 = toRad(c1.latitude);
|
|
26
|
+
const lat2 = toRad(c2.latitude);
|
|
27
|
+
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
|
28
|
+
Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
29
|
+
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
30
|
+
return R * c;
|
|
31
|
+
}
|
|
32
|
+
let totalDistance = 0;
|
|
33
|
+
for (let i = 0; i < coordinates.length - 1; ++i) {
|
|
34
|
+
totalDistance += this.crowDistance(coordinates[i], coordinates[i + 1]);
|
|
35
|
+
}
|
|
36
|
+
return totalDistance;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import moment from "moment";
|
|
2
|
+
import { DATE } from "../constants/DATE.mjs";
|
|
3
|
+
export class DateUtils {
|
|
4
|
+
static isPositiveInteger(value, strict) {
|
|
5
|
+
if (strict) {
|
|
6
|
+
if (typeof value !== 'number') {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
if (typeof value === 'bigint') {
|
|
11
|
+
return value >= 0 && value <= Number.MAX_SAFE_INTEGER;
|
|
12
|
+
}
|
|
13
|
+
if (typeof value === 'number') {
|
|
14
|
+
if (!Number.isSafeInteger(value)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return value >= 0 && value <= Number.MAX_SAFE_INTEGER;
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === 'string') {
|
|
20
|
+
if (!/^(0|[1-9]\d*)$/g.test(value)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return DateUtils.isPositiveInteger(Number(value), strict);
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
static isMilliseconds(value, strict) {
|
|
28
|
+
return DateUtils.isPositiveInteger(value, strict);
|
|
29
|
+
}
|
|
30
|
+
static isSeconds(value, strict) {
|
|
31
|
+
return DateUtils.isPositiveInteger(value, strict);
|
|
32
|
+
}
|
|
33
|
+
static isUnix(value, strict) {
|
|
34
|
+
return DateUtils.isSeconds(value, strict);
|
|
35
|
+
}
|
|
36
|
+
static isISO8601(value) {
|
|
37
|
+
if (typeof value !== 'string') {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (!/(Z)|(\+\d{2}:\d{2})$/g.test(value)) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return !Number.isNaN((new Date(value)).getTime());
|
|
44
|
+
}
|
|
45
|
+
static isValid(value, format, strict) {
|
|
46
|
+
var _a;
|
|
47
|
+
if (format === undefined) {
|
|
48
|
+
return DateUtils.isSeconds(value, strict) || DateUtils.isMilliseconds(value, strict) || DateUtils.isISO8601(value);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
switch (format) {
|
|
52
|
+
case DATE.FORMAT.UNIX: return DateUtils.isUnix(value, strict);
|
|
53
|
+
case DATE.FORMAT.SECONDS: return DateUtils.isSeconds(value, strict);
|
|
54
|
+
case DATE.FORMAT.MILLISECONDS: return DateUtils.isMilliseconds(value, strict);
|
|
55
|
+
case DATE.FORMAT.ISO_8601: return DateUtils.isISO8601(value);
|
|
56
|
+
default: {
|
|
57
|
+
throw new Error(`unknown format: ${format}(${(_a = DATE.FORMAT.toString(format)) !== null && _a !== void 0 ? _a : 'unknown'})`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
static from(value, format, strict) {
|
|
63
|
+
var _a;
|
|
64
|
+
if (value instanceof Date) {
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
if (!DateUtils.isValid(value, format, strict)) {
|
|
68
|
+
throw new Error('invalid date');
|
|
69
|
+
}
|
|
70
|
+
if (format === undefined) {
|
|
71
|
+
if (DateUtils.isMilliseconds(value, strict)) {
|
|
72
|
+
return DateUtils.from(value, DATE.FORMAT.MILLISECONDS);
|
|
73
|
+
}
|
|
74
|
+
if (DateUtils.isISO8601(value)) {
|
|
75
|
+
return DateUtils.from(value, DATE.FORMAT.ISO_8601);
|
|
76
|
+
}
|
|
77
|
+
throw new Error(`no option to convert value to date`);
|
|
78
|
+
}
|
|
79
|
+
switch (format) {
|
|
80
|
+
case DATE.FORMAT.UNIX: return new Date(Number(value) * 1000);
|
|
81
|
+
case DATE.FORMAT.SECONDS: return new Date(Number(value) * 1000);
|
|
82
|
+
case DATE.FORMAT.MILLISECONDS: return new Date(Number(value));
|
|
83
|
+
case DATE.FORMAT.ISO_8601: return new Date(value);
|
|
84
|
+
default: {
|
|
85
|
+
throw new Error(`unknown format: ${format}(${(_a = DATE.FORMAT.toString(format)) !== null && _a !== void 0 ? _a : 'unknown'})`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
static fromUnix(value, strict) {
|
|
90
|
+
return DateUtils.from(value, DATE.FORMAT.UNIX, strict);
|
|
91
|
+
}
|
|
92
|
+
static fromSeconds(value, strict) {
|
|
93
|
+
return DateUtils.from(value, DATE.FORMAT.SECONDS, strict);
|
|
94
|
+
}
|
|
95
|
+
static fromMilliseconds(value, strict) {
|
|
96
|
+
return DateUtils.from(value, DATE.FORMAT.MILLISECONDS, strict);
|
|
97
|
+
}
|
|
98
|
+
static fromISO8601(value) {
|
|
99
|
+
return DateUtils.from(value, DATE.FORMAT.ISO_8601);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
DateUtils.relativeDate = (input, base = Date.now()) => {
|
|
103
|
+
// Create new moment instance to apply new locale
|
|
104
|
+
const datetime = moment.isMoment(input) ? moment(input.toDate()) : moment(input);
|
|
105
|
+
if (!datetime.isValid()) {
|
|
106
|
+
console.error('core-js:DateUtils.relativeDate() datetime is invalid', datetime);
|
|
107
|
+
return '<INVALID DATE>';
|
|
108
|
+
}
|
|
109
|
+
return datetime.from(base);
|
|
110
|
+
};
|
|
111
|
+
DateUtils.setLocale = (language) => {
|
|
112
|
+
const relativeTime = DateUtils.getRelativeTimeSpec(language);
|
|
113
|
+
if (relativeTime !== undefined) {
|
|
114
|
+
moment.updateLocale(language, { relativeTime });
|
|
115
|
+
}
|
|
116
|
+
moment.locale(language);
|
|
117
|
+
};
|
|
118
|
+
DateUtils.getRelativeTimeSpec = (locale) => {
|
|
119
|
+
if (locale in DateUtils.relativeTimeSpecs) {
|
|
120
|
+
return DateUtils.relativeTimeSpecs[locale];
|
|
121
|
+
}
|
|
122
|
+
return undefined;
|
|
123
|
+
};
|
|
124
|
+
(function (DateUtils) {
|
|
125
|
+
DateUtils.relativeTimeSpecs = {
|
|
126
|
+
ko: {
|
|
127
|
+
future: "%s 후",
|
|
128
|
+
past: "%s 전",
|
|
129
|
+
s: number => `${number}초`,
|
|
130
|
+
ss: number => `${number}초`,
|
|
131
|
+
m: number => `${number}분`,
|
|
132
|
+
mm: number => `${number}분`,
|
|
133
|
+
h: number => `${number}시간`,
|
|
134
|
+
hh: number => `${number}시간`,
|
|
135
|
+
d: number => `${number}일`,
|
|
136
|
+
dd: number => `${number}일`,
|
|
137
|
+
M: number => `${number}개월`,
|
|
138
|
+
MM: number => `${number}개월`,
|
|
139
|
+
y: number => `${number}년`,
|
|
140
|
+
yy: number => `${number}년`
|
|
141
|
+
},
|
|
142
|
+
en: {
|
|
143
|
+
future: "in %s",
|
|
144
|
+
past: "%s ago",
|
|
145
|
+
s: number => number === 1 ? `${number} second` : `${number} seconds`,
|
|
146
|
+
ss: number => `${number} seconds`,
|
|
147
|
+
m: number => number === 1 ? `${number} minute` : `${number} minutes`,
|
|
148
|
+
mm: number => `${number} minutes`,
|
|
149
|
+
h: number => number === 1 ? `${number} hour` : `${number} hours`,
|
|
150
|
+
hh: number => `${number} hours`,
|
|
151
|
+
d: number => number === 1 ? `${number} day` : `${number} days`,
|
|
152
|
+
dd: number => `${number} days`,
|
|
153
|
+
M: number => number === 1 ? `${number} month` : `${number} months`,
|
|
154
|
+
MM: number => `${number} months`,
|
|
155
|
+
y: number => number === 1 ? `${number} year` : `${number} years`,
|
|
156
|
+
yy: number => `${number} years`
|
|
157
|
+
},
|
|
158
|
+
ja: {
|
|
159
|
+
future: "%s後",
|
|
160
|
+
past: "%s前",
|
|
161
|
+
s: number => `${number}秒`,
|
|
162
|
+
ss: number => `${number}秒`,
|
|
163
|
+
m: number => `${number}分`,
|
|
164
|
+
mm: number => `${number}分`,
|
|
165
|
+
h: number => `${number}時`,
|
|
166
|
+
hh: number => `${number}時`,
|
|
167
|
+
d: number => `${number}日`,
|
|
168
|
+
dd: number => `${number}日`,
|
|
169
|
+
M: number => `${number}月`,
|
|
170
|
+
MM: number => `${number}月`,
|
|
171
|
+
y: number => `${number}年`,
|
|
172
|
+
yy: number => `${number}年`
|
|
173
|
+
},
|
|
174
|
+
zh: {
|
|
175
|
+
future: "%s后",
|
|
176
|
+
past: "%s前",
|
|
177
|
+
s: number => `${number}秒`,
|
|
178
|
+
ss: number => `${number}秒`,
|
|
179
|
+
m: number => `${number}分钟`,
|
|
180
|
+
mm: number => `${number}分钟`,
|
|
181
|
+
h: number => `${number}个小时`,
|
|
182
|
+
hh: number => `${number}个小时`,
|
|
183
|
+
d: number => `${number}天`,
|
|
184
|
+
dd: number => `${number}天`,
|
|
185
|
+
M: number => `${number}个月`,
|
|
186
|
+
MM: number => `${number}个月`,
|
|
187
|
+
y: number => `${number}年`,
|
|
188
|
+
yy: number => `${number}年`
|
|
189
|
+
},
|
|
190
|
+
ru: {
|
|
191
|
+
future: "через %s",
|
|
192
|
+
past: "%s назад",
|
|
193
|
+
s: number => `${number} секунд`,
|
|
194
|
+
ss: number => `${number} секунд`,
|
|
195
|
+
m: number => `${number} минута`,
|
|
196
|
+
mm: number => `${number} минут`,
|
|
197
|
+
h: number => `${number} час`,
|
|
198
|
+
hh: number => `${number} часов`,
|
|
199
|
+
d: number => `${number} день`,
|
|
200
|
+
dd: number => `${number} дней`,
|
|
201
|
+
M: number => `${number} месяц`,
|
|
202
|
+
MM: number => `${number} месяцев`,
|
|
203
|
+
y: number => `${number} год`,
|
|
204
|
+
yy: number => `${number} лет`
|
|
205
|
+
},
|
|
206
|
+
uz: {
|
|
207
|
+
future: "%sdan keyin",
|
|
208
|
+
past: "%s avval",
|
|
209
|
+
s: number => `${number} soniya`,
|
|
210
|
+
ss: number => `${number} soniya`,
|
|
211
|
+
m: number => `${number} daqiqa`,
|
|
212
|
+
mm: number => `${number} daqiqa`,
|
|
213
|
+
h: number => `${number} soat`,
|
|
214
|
+
hh: number => `${number} soat`,
|
|
215
|
+
d: number => `${number} kun`,
|
|
216
|
+
dd: number => `${number} kun`,
|
|
217
|
+
M: number => `${number} oy`,
|
|
218
|
+
MM: number => `${number} oy`,
|
|
219
|
+
y: number => `${number} yil`,
|
|
220
|
+
yy: number => `${number} yil`
|
|
221
|
+
},
|
|
222
|
+
de: {
|
|
223
|
+
future: "in %s",
|
|
224
|
+
past: "vor %s",
|
|
225
|
+
s: number => `${number === 1 ? "einer" : number} Sekunde${number === 1 ? "" : "n"}`,
|
|
226
|
+
ss: number => `${number} Sekunde${number === 1 ? "" : "n"}`,
|
|
227
|
+
m: number => `${number === 1 ? "einer" : number} Minute${number === 1 ? "" : "n"}`,
|
|
228
|
+
mm: number => `${number} Minute${number === 1 ? "" : "n"}`,
|
|
229
|
+
h: number => `${number === 1 ? "einer" : number} Stunde${number === 1 ? "" : "n"}`,
|
|
230
|
+
hh: number => `${number} Stunde${number === 1 ? "" : "n"}`,
|
|
231
|
+
d: number => `${number === 1 ? "einem" : number} Tag${number === 1 ? "" : "en"}`,
|
|
232
|
+
dd: number => `${number} Tag${number === 1 ? "" : "en"}`,
|
|
233
|
+
M: number => `${number === 1 ? "einem" : number} Monat${number === 1 ? "" : "en"}`,
|
|
234
|
+
MM: number => `${number} Monat${number === 1 ? "" : "en"}`,
|
|
235
|
+
y: number => `${number === 1 ? "einem" : number} Jahr${number === 1 ? "" : "en"}`,
|
|
236
|
+
yy: number => `${number} Jahr${number === 1 ? "" : "en"}`
|
|
237
|
+
},
|
|
238
|
+
fr: {
|
|
239
|
+
future: "dans %s",
|
|
240
|
+
past: "il y a %s",
|
|
241
|
+
s: number => `quelques secondes`,
|
|
242
|
+
ss: number => `${number} secondes`,
|
|
243
|
+
m: number => `une minute`,
|
|
244
|
+
mm: number => `${number} minutes`,
|
|
245
|
+
h: number => `une heure`,
|
|
246
|
+
hh: number => `${number} heures`,
|
|
247
|
+
d: number => `un jour`,
|
|
248
|
+
dd: number => `${number} jours`,
|
|
249
|
+
M: number => `un mois`,
|
|
250
|
+
MM: number => `${number} mois`,
|
|
251
|
+
y: number => `un an`,
|
|
252
|
+
yy: number => `${number} ans`
|
|
253
|
+
},
|
|
254
|
+
vi: {
|
|
255
|
+
future: "sau %s",
|
|
256
|
+
past: "%s trước",
|
|
257
|
+
s: number => `${number} giây`,
|
|
258
|
+
ss: number => `${number} giây`,
|
|
259
|
+
m: number => `${number} phút`,
|
|
260
|
+
mm: number => `${number} phút`,
|
|
261
|
+
h: number => `${number} giờ`,
|
|
262
|
+
hh: number => `${number} giờ`,
|
|
263
|
+
d: number => `${number} ngày`,
|
|
264
|
+
dd: number => `${number} ngày`,
|
|
265
|
+
M: number => `${number} tháng`,
|
|
266
|
+
MM: number => `${number} tháng`,
|
|
267
|
+
y: number => `${number} năm`,
|
|
268
|
+
yy: number => `${number} năm`
|
|
269
|
+
},
|
|
270
|
+
th: {
|
|
271
|
+
future: "ใน %s",
|
|
272
|
+
past: "%s ที่แล้ว",
|
|
273
|
+
s: number => `${number} วินาที`,
|
|
274
|
+
ss: number => `${number} วินาที`,
|
|
275
|
+
m: number => `${number} นาที`,
|
|
276
|
+
mm: number => `${number} นาที`,
|
|
277
|
+
h: number => `${number} ชั่วโมง`,
|
|
278
|
+
hh: number => `${number} ชั่วโมง`,
|
|
279
|
+
d: number => `${number} วัน`,
|
|
280
|
+
dd: number => `${number} วัน`,
|
|
281
|
+
M: number => `${number} เดือน`,
|
|
282
|
+
MM: number => `${number} เดือน`,
|
|
283
|
+
y: number => `${number} ปี`,
|
|
284
|
+
yy: number => `${number} ปี`
|
|
285
|
+
},
|
|
286
|
+
fil: {
|
|
287
|
+
future: "sa loob ng %s",
|
|
288
|
+
past: "%s ang nakalipas",
|
|
289
|
+
s: number => `${number} segundo`,
|
|
290
|
+
ss: number => `${number} segundo`,
|
|
291
|
+
m: number => `${number} minuto`,
|
|
292
|
+
mm: number => `${number} minuto`,
|
|
293
|
+
h: number => `${number} oras`,
|
|
294
|
+
hh: number => `${number} oras`,
|
|
295
|
+
d: number => `${number} araw`,
|
|
296
|
+
dd: number => `${number} araw`,
|
|
297
|
+
M: number => `${number} buwan`,
|
|
298
|
+
MM: number => `${number} buwan`,
|
|
299
|
+
y: number => `${number} taon`,
|
|
300
|
+
yy: number => `${number} taon`
|
|
301
|
+
},
|
|
302
|
+
};
|
|
303
|
+
})(DateUtils || (DateUtils = {}));
|