gnss-js 0.1.1 → 0.1.2
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/{index.mjs → index.cjs} +154 -16
- package/dist/{index.d.mts → index.d.cts} +15 -8
- package/dist/index.d.ts +15 -8
- package/dist/index.js +54 -115
- package/jest.config.ts +9 -0
- package/package.json +4 -2
- package/test/functions.test.ts +63 -0
- package/test/{gnss-scales.test.js → gnss-scales.test.ts} +18 -18
- package/test/julian.test.ts +145 -0
- package/test/rinex.test.ts +11 -0
- package/test/{test.js → test.ts} +2 -3
- package/test/utc.test.ts +25 -0
- package/jest.config.js +0 -6
- package/test/functions.test.js +0 -69
- package/test/julian.test.js +0 -41
- package/test/rinex.test.js +0 -11
- package/test/utc.test.js +0 -30
|
@@ -1,3 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
DAYS_MJD2000_MJD: () => DAYS_MJD2000_MJD,
|
|
24
|
+
DAYS_MJD_JULIAN: () => DAYS_MJD_JULIAN,
|
|
25
|
+
MILLISECONDS_GPS_TAI: () => MILLISECONDS_GPS_TAI,
|
|
26
|
+
MILLISECONDS_IN_DAY: () => MILLISECONDS_IN_DAY,
|
|
27
|
+
MILLISECONDS_IN_HOUR: () => MILLISECONDS_IN_HOUR,
|
|
28
|
+
MILLISECONDS_IN_MINUTE: () => MILLISECONDS_IN_MINUTE,
|
|
29
|
+
MILLISECONDS_IN_SECOND: () => MILLISECONDS_IN_SECOND,
|
|
30
|
+
MILLISECONDS_IN_WEEK: () => MILLISECONDS_IN_WEEK,
|
|
31
|
+
MILLISECONDS_TT_TAI: () => MILLISECONDS_TT_TAI,
|
|
32
|
+
RINEX_CODES: () => RINEX_CODES,
|
|
33
|
+
SECONDS_IN_DAY: () => SECONDS_IN_DAY,
|
|
34
|
+
SECONDS_IN_HOUR: () => SECONDS_IN_HOUR,
|
|
35
|
+
SECONDS_IN_MINUTE: () => SECONDS_IN_MINUTE,
|
|
36
|
+
SECONDS_IN_WEEK: () => SECONDS_IN_WEEK,
|
|
37
|
+
START_BDS_TIME: () => START_BDS_TIME,
|
|
38
|
+
START_GAL_TIME: () => START_GAL_TIME,
|
|
39
|
+
START_GLO_LEAP: () => START_GLO_LEAP,
|
|
40
|
+
START_GPS_TIME: () => START_GPS_TIME,
|
|
41
|
+
START_JULIAN_TAI: () => START_JULIAN_TAI,
|
|
42
|
+
START_MJD_UNIX_SECONDS: () => START_MJD_UNIX_SECONDS,
|
|
43
|
+
START_NTP_TIME: () => START_NTP_TIME,
|
|
44
|
+
START_TAI_TIME: () => START_TAI_TIME,
|
|
45
|
+
START_UNIX_TIME: () => START_UNIX_TIME,
|
|
46
|
+
Scale: () => Scale,
|
|
47
|
+
getBdsTime: () => getBdsTime,
|
|
48
|
+
getDateFromBdsTime: () => getDateFromBdsTime,
|
|
49
|
+
getDateFromDayOfWeek: () => getDateFromDayOfWeek,
|
|
50
|
+
getDateFromDayOfYear: () => getDateFromDayOfYear,
|
|
51
|
+
getDateFromGalTime: () => getDateFromGalTime,
|
|
52
|
+
getDateFromGloN: () => getDateFromGloN,
|
|
53
|
+
getDateFromGpsData: () => getDateFromGpsData,
|
|
54
|
+
getDateFromGpsTime: () => getDateFromGpsTime,
|
|
55
|
+
getDateFromHourCode: () => getDateFromHourCode,
|
|
56
|
+
getDateFromJulianDate: () => getDateFromJulianDate,
|
|
57
|
+
getDateFromMJD: () => getDateFromMJD,
|
|
58
|
+
getDateFromMJD2000: () => getDateFromMJD2000,
|
|
59
|
+
getDateFromRINEX: () => getDateFromRINEX,
|
|
60
|
+
getDateFromTai: () => getDateFromTai,
|
|
61
|
+
getDateFromTimeOfDay: () => getDateFromTimeOfDay,
|
|
62
|
+
getDateFromTt: () => getDateFromTt,
|
|
63
|
+
getDateFromUnixTime: () => getDateFromUnixTime,
|
|
64
|
+
getDateFromUtc: () => getDateFromUtc,
|
|
65
|
+
getDayOfWeek: () => getDayOfWeek,
|
|
66
|
+
getDayOfYear: () => getDayOfYear,
|
|
67
|
+
getGalTime: () => getGalTime,
|
|
68
|
+
getGloN4: () => getGloN4,
|
|
69
|
+
getGloNA: () => getGloNA,
|
|
70
|
+
getGpsLeap: () => getGpsLeap,
|
|
71
|
+
getGpsTime: () => getGpsTime,
|
|
72
|
+
getHourCode: () => getHourCode,
|
|
73
|
+
getHoursFromTimeDifference: () => getHoursFromTimeDifference,
|
|
74
|
+
getJulianDate: () => getJulianDate,
|
|
75
|
+
getLeap: () => getLeap,
|
|
76
|
+
getMJD: () => getMJD,
|
|
77
|
+
getMJD2000: () => getMJD2000,
|
|
78
|
+
getMinutesFromTimeDifference: () => getMinutesFromTimeDifference,
|
|
79
|
+
getNtpTime: () => getNtpTime,
|
|
80
|
+
getRINEX: () => getRINEX,
|
|
81
|
+
getSecondsFromTimeDifference: () => getSecondsFromTimeDifference,
|
|
82
|
+
getTaiDate: () => getTaiDate,
|
|
83
|
+
getTimeDifference: () => getTimeDifference,
|
|
84
|
+
getTimeDifferenceFromDays: () => getTimeDifferenceFromDays,
|
|
85
|
+
getTimeDifferenceFromHours: () => getTimeDifferenceFromHours,
|
|
86
|
+
getTimeDifferenceFromMinutes: () => getTimeDifferenceFromMinutes,
|
|
87
|
+
getTimeDifferenceFromObject: () => getTimeDifferenceFromObject,
|
|
88
|
+
getTimeDifferenceFromSeconds: () => getTimeDifferenceFromSeconds,
|
|
89
|
+
getTimeOfDay: () => getTimeOfDay,
|
|
90
|
+
getTimeOfWeek: () => getTimeOfWeek,
|
|
91
|
+
getTotalDaysFromTimeDifference: () => getTotalDaysFromTimeDifference,
|
|
92
|
+
getTtDate: () => getTtDate,
|
|
93
|
+
getUnixTime: () => getUnixTime,
|
|
94
|
+
getUtcDate: () => getUtcDate,
|
|
95
|
+
getWeekNumber: () => getWeekNumber,
|
|
96
|
+
getWeekOfYear: () => getWeekOfYear
|
|
97
|
+
});
|
|
98
|
+
module.exports = __toCommonJS(index_exports);
|
|
99
|
+
|
|
1
100
|
// src/constants/time.ts
|
|
2
101
|
var SECONDS_IN_WEEK = 604800;
|
|
3
102
|
var SECONDS_IN_DAY = 86400;
|
|
@@ -48,6 +147,15 @@ var DAYS_MJD_JULIAN = 24000005e-1;
|
|
|
48
147
|
var DAYS_MJD2000_MJD = 51544.5;
|
|
49
148
|
var START_MJD_UNIX_SECONDS = 40587;
|
|
50
149
|
|
|
150
|
+
// src/types/enums.ts
|
|
151
|
+
var Scale = /* @__PURE__ */ ((Scale2) => {
|
|
152
|
+
Scale2[Scale2["TAI"] = 0] = "TAI";
|
|
153
|
+
Scale2[Scale2["TT"] = 1] = "TT";
|
|
154
|
+
Scale2[Scale2["GPS"] = 2] = "GPS";
|
|
155
|
+
Scale2[Scale2["UTC"] = 3] = "UTC";
|
|
156
|
+
return Scale2;
|
|
157
|
+
})(Scale || {});
|
|
158
|
+
|
|
51
159
|
// src/time/functions.ts
|
|
52
160
|
function getTimeOfDay(date) {
|
|
53
161
|
return (date.getTime() - Date.UTC(
|
|
@@ -233,8 +341,7 @@ function getLeap(date) {
|
|
|
233
341
|
}
|
|
234
342
|
function getGpsLeap(date) {
|
|
235
343
|
const leap_seconds = getLeap(date);
|
|
236
|
-
if (leap_seconds < 0)
|
|
237
|
-
return 0;
|
|
344
|
+
if (leap_seconds < 0) return 0;
|
|
238
345
|
return leap_seconds - 19;
|
|
239
346
|
}
|
|
240
347
|
function getUtcDate(date) {
|
|
@@ -355,27 +462,57 @@ function getDateFromRINEX(rinex) {
|
|
|
355
462
|
}
|
|
356
463
|
|
|
357
464
|
// src/time/julian.ts
|
|
358
|
-
function getJulianDate(date) {
|
|
359
|
-
|
|
465
|
+
function getJulianDate(date, scale = 1 /* TT */) {
|
|
466
|
+
if (scale === 0 /* TAI */) {
|
|
467
|
+
return (date.getTime() - START_TAI_TIME.getTime()) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
468
|
+
}
|
|
469
|
+
if (scale === 2 /* GPS */) {
|
|
470
|
+
return (date.getTime() - START_TAI_TIME.getTime() - MILLISECONDS_GPS_TAI) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
471
|
+
}
|
|
472
|
+
if (scale === 3 /* UTC */) {
|
|
473
|
+
return (date.getTime() - START_TAI_TIME.getTime() - getLeap(date) * MILLISECONDS_IN_SECOND) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
474
|
+
}
|
|
475
|
+
return (date.getTime() - START_TAI_TIME.getTime() + MILLISECONDS_TT_TAI) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
360
476
|
}
|
|
361
|
-
function getDateFromJulianDate(julianDate) {
|
|
477
|
+
function getDateFromJulianDate(julianDate, scale = 1 /* TT */) {
|
|
478
|
+
if (scale === 0 /* TAI */) {
|
|
479
|
+
return new Date(
|
|
480
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime()
|
|
481
|
+
);
|
|
482
|
+
}
|
|
483
|
+
if (scale === 2 /* GPS */) {
|
|
484
|
+
return new Date(
|
|
485
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime() + MILLISECONDS_GPS_TAI
|
|
486
|
+
);
|
|
487
|
+
}
|
|
488
|
+
if (scale === 3 /* UTC */) {
|
|
489
|
+
const utc_date = new Date(
|
|
490
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime()
|
|
491
|
+
);
|
|
492
|
+
const tai_date = new Date(
|
|
493
|
+
utc_date.getTime() + getLeap(utc_date) * MILLISECONDS_IN_SECOND
|
|
494
|
+
);
|
|
495
|
+
const leap_seconds = getLeap(getDateFromTai(tai_date));
|
|
496
|
+
return new Date(utc_date.getTime() + leap_seconds * MILLISECONDS_IN_SECOND);
|
|
497
|
+
}
|
|
362
498
|
return new Date(
|
|
363
|
-
(julianDate -
|
|
499
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime() - MILLISECONDS_TT_TAI
|
|
364
500
|
);
|
|
365
501
|
}
|
|
366
|
-
function getMJD(date) {
|
|
367
|
-
return getJulianDate(date) - DAYS_MJD_JULIAN;
|
|
502
|
+
function getMJD(date, scale = 1 /* TT */) {
|
|
503
|
+
return getJulianDate(date, scale) - DAYS_MJD_JULIAN;
|
|
368
504
|
}
|
|
369
|
-
function getDateFromMJD(mjd) {
|
|
370
|
-
return getDateFromJulianDate(mjd + DAYS_MJD_JULIAN);
|
|
505
|
+
function getDateFromMJD(mjd, scale = 1 /* TT */) {
|
|
506
|
+
return getDateFromJulianDate(mjd + DAYS_MJD_JULIAN, scale);
|
|
371
507
|
}
|
|
372
|
-
function getMJD2000(date) {
|
|
373
|
-
return getMJD(date) - DAYS_MJD2000_MJD;
|
|
508
|
+
function getMJD2000(date, scale = 1 /* TT */) {
|
|
509
|
+
return getMJD(date, scale) - DAYS_MJD2000_MJD;
|
|
374
510
|
}
|
|
375
|
-
function getDateFromMJD2000(mjd2000) {
|
|
376
|
-
return getDateFromMJD(mjd2000 + DAYS_MJD2000_MJD);
|
|
511
|
+
function getDateFromMJD2000(mjd2000, scale = 1 /* TT */) {
|
|
512
|
+
return getDateFromMJD(mjd2000 + DAYS_MJD2000_MJD, scale);
|
|
377
513
|
}
|
|
378
|
-
export
|
|
514
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
515
|
+
0 && (module.exports = {
|
|
379
516
|
DAYS_MJD2000_MJD,
|
|
380
517
|
DAYS_MJD_JULIAN,
|
|
381
518
|
MILLISECONDS_GPS_TAI,
|
|
@@ -399,6 +536,7 @@ export {
|
|
|
399
536
|
START_NTP_TIME,
|
|
400
537
|
START_TAI_TIME,
|
|
401
538
|
START_UNIX_TIME,
|
|
539
|
+
Scale,
|
|
402
540
|
getBdsTime,
|
|
403
541
|
getDateFromBdsTime,
|
|
404
542
|
getDateFromDayOfWeek,
|
|
@@ -449,4 +587,4 @@ export {
|
|
|
449
587
|
getUtcDate,
|
|
450
588
|
getWeekNumber,
|
|
451
589
|
getWeekOfYear
|
|
452
|
-
};
|
|
590
|
+
});
|
|
@@ -30,6 +30,13 @@ declare const DAYS_MJD_JULIAN = 2400000.5;
|
|
|
30
30
|
declare const DAYS_MJD2000_MJD = 51544.5;
|
|
31
31
|
declare const START_MJD_UNIX_SECONDS = 40587;
|
|
32
32
|
|
|
33
|
+
declare enum Scale {
|
|
34
|
+
TAI = 0,
|
|
35
|
+
TT = 1,
|
|
36
|
+
GPS = 2,
|
|
37
|
+
UTC = 3
|
|
38
|
+
}
|
|
39
|
+
|
|
33
40
|
declare function getTimeOfDay(date: Date): number;
|
|
34
41
|
declare function getDateFromTimeOfDay(timeOfDay: number, dateRaw: Date): Date;
|
|
35
42
|
declare function getDayOfYear(date: Date): number;
|
|
@@ -61,7 +68,7 @@ declare function getDateFromGloN(n4: number, na: number, tod: number): Date;
|
|
|
61
68
|
declare function getNtpTime(date: Date): number;
|
|
62
69
|
|
|
63
70
|
declare function getRINEX(date: Date): string;
|
|
64
|
-
declare function getDateFromRINEX(rinex: string): Date
|
|
71
|
+
declare function getDateFromRINEX(rinex: string): Date;
|
|
65
72
|
|
|
66
73
|
declare function getTimeDifference(startDate: Date, finalDate: Date): number;
|
|
67
74
|
declare function getSecondsFromTimeDifference(timeDifference: number): number;
|
|
@@ -79,11 +86,11 @@ declare function getGpsLeap(date: Date): number;
|
|
|
79
86
|
declare function getUtcDate(date: Date): Date;
|
|
80
87
|
declare function getDateFromUtc(utc_date: Date): Date;
|
|
81
88
|
|
|
82
|
-
declare function getJulianDate(date: Date): number;
|
|
83
|
-
declare function getDateFromJulianDate(julianDate: number): Date;
|
|
84
|
-
declare function getMJD(date: Date): number;
|
|
85
|
-
declare function getDateFromMJD(mjd: number): Date;
|
|
86
|
-
declare function getMJD2000(date: Date): number;
|
|
87
|
-
declare function getDateFromMJD2000(mjd2000: number): Date;
|
|
89
|
+
declare function getJulianDate(date: Date, scale?: Scale): number;
|
|
90
|
+
declare function getDateFromJulianDate(julianDate: number, scale?: Scale): Date;
|
|
91
|
+
declare function getMJD(date: Date, scale?: Scale): number;
|
|
92
|
+
declare function getDateFromMJD(mjd: number, scale?: Scale): Date;
|
|
93
|
+
declare function getMJD2000(date: Date, scale?: Scale): number;
|
|
94
|
+
declare function getDateFromMJD2000(mjd2000: number, scale?: Scale): Date;
|
|
88
95
|
|
|
89
|
-
export { DAYS_MJD2000_MJD, DAYS_MJD_JULIAN, type HourCode, MILLISECONDS_GPS_TAI, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MILLISECONDS_IN_SECOND, MILLISECONDS_IN_WEEK, MILLISECONDS_TT_TAI, RINEX_CODES, SECONDS_IN_DAY, SECONDS_IN_HOUR, SECONDS_IN_MINUTE, SECONDS_IN_WEEK, START_BDS_TIME, START_GAL_TIME, START_GLO_LEAP, START_GPS_TIME, START_JULIAN_TAI, START_MJD_UNIX_SECONDS, START_NTP_TIME, START_TAI_TIME, START_UNIX_TIME, type TimeDifference, getBdsTime, getDateFromBdsTime, getDateFromDayOfWeek, getDateFromDayOfYear, getDateFromGalTime, getDateFromGloN, getDateFromGpsData, getDateFromGpsTime, getDateFromHourCode, getDateFromJulianDate, getDateFromMJD, getDateFromMJD2000, getDateFromRINEX, getDateFromTai, getDateFromTimeOfDay, getDateFromTt, getDateFromUnixTime, getDateFromUtc, getDayOfWeek, getDayOfYear, getGalTime, getGloN4, getGloNA, getGpsLeap, getGpsTime, getHourCode, getHoursFromTimeDifference, getJulianDate, getLeap, getMJD, getMJD2000, getMinutesFromTimeDifference, getNtpTime, getRINEX, getSecondsFromTimeDifference, getTaiDate, getTimeDifference, getTimeDifferenceFromDays, getTimeDifferenceFromHours, getTimeDifferenceFromMinutes, getTimeDifferenceFromObject, getTimeDifferenceFromSeconds, getTimeOfDay, getTimeOfWeek, getTotalDaysFromTimeDifference, getTtDate, getUnixTime, getUtcDate, getWeekNumber, getWeekOfYear };
|
|
96
|
+
export { DAYS_MJD2000_MJD, DAYS_MJD_JULIAN, type HourCode, MILLISECONDS_GPS_TAI, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MILLISECONDS_IN_SECOND, MILLISECONDS_IN_WEEK, MILLISECONDS_TT_TAI, RINEX_CODES, SECONDS_IN_DAY, SECONDS_IN_HOUR, SECONDS_IN_MINUTE, SECONDS_IN_WEEK, START_BDS_TIME, START_GAL_TIME, START_GLO_LEAP, START_GPS_TIME, START_JULIAN_TAI, START_MJD_UNIX_SECONDS, START_NTP_TIME, START_TAI_TIME, START_UNIX_TIME, Scale, type TimeDifference, getBdsTime, getDateFromBdsTime, getDateFromDayOfWeek, getDateFromDayOfYear, getDateFromGalTime, getDateFromGloN, getDateFromGpsData, getDateFromGpsTime, getDateFromHourCode, getDateFromJulianDate, getDateFromMJD, getDateFromMJD2000, getDateFromRINEX, getDateFromTai, getDateFromTimeOfDay, getDateFromTt, getDateFromUnixTime, getDateFromUtc, getDayOfWeek, getDayOfYear, getGalTime, getGloN4, getGloNA, getGpsLeap, getGpsTime, getHourCode, getHoursFromTimeDifference, getJulianDate, getLeap, getMJD, getMJD2000, getMinutesFromTimeDifference, getNtpTime, getRINEX, getSecondsFromTimeDifference, getTaiDate, getTimeDifference, getTimeDifferenceFromDays, getTimeDifferenceFromHours, getTimeDifferenceFromMinutes, getTimeDifferenceFromObject, getTimeDifferenceFromSeconds, getTimeOfDay, getTimeOfWeek, getTotalDaysFromTimeDifference, getTtDate, getUnixTime, getUtcDate, getWeekNumber, getWeekOfYear };
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,13 @@ declare const DAYS_MJD_JULIAN = 2400000.5;
|
|
|
30
30
|
declare const DAYS_MJD2000_MJD = 51544.5;
|
|
31
31
|
declare const START_MJD_UNIX_SECONDS = 40587;
|
|
32
32
|
|
|
33
|
+
declare enum Scale {
|
|
34
|
+
TAI = 0,
|
|
35
|
+
TT = 1,
|
|
36
|
+
GPS = 2,
|
|
37
|
+
UTC = 3
|
|
38
|
+
}
|
|
39
|
+
|
|
33
40
|
declare function getTimeOfDay(date: Date): number;
|
|
34
41
|
declare function getDateFromTimeOfDay(timeOfDay: number, dateRaw: Date): Date;
|
|
35
42
|
declare function getDayOfYear(date: Date): number;
|
|
@@ -61,7 +68,7 @@ declare function getDateFromGloN(n4: number, na: number, tod: number): Date;
|
|
|
61
68
|
declare function getNtpTime(date: Date): number;
|
|
62
69
|
|
|
63
70
|
declare function getRINEX(date: Date): string;
|
|
64
|
-
declare function getDateFromRINEX(rinex: string): Date
|
|
71
|
+
declare function getDateFromRINEX(rinex: string): Date;
|
|
65
72
|
|
|
66
73
|
declare function getTimeDifference(startDate: Date, finalDate: Date): number;
|
|
67
74
|
declare function getSecondsFromTimeDifference(timeDifference: number): number;
|
|
@@ -79,11 +86,11 @@ declare function getGpsLeap(date: Date): number;
|
|
|
79
86
|
declare function getUtcDate(date: Date): Date;
|
|
80
87
|
declare function getDateFromUtc(utc_date: Date): Date;
|
|
81
88
|
|
|
82
|
-
declare function getJulianDate(date: Date): number;
|
|
83
|
-
declare function getDateFromJulianDate(julianDate: number): Date;
|
|
84
|
-
declare function getMJD(date: Date): number;
|
|
85
|
-
declare function getDateFromMJD(mjd: number): Date;
|
|
86
|
-
declare function getMJD2000(date: Date): number;
|
|
87
|
-
declare function getDateFromMJD2000(mjd2000: number): Date;
|
|
89
|
+
declare function getJulianDate(date: Date, scale?: Scale): number;
|
|
90
|
+
declare function getDateFromJulianDate(julianDate: number, scale?: Scale): Date;
|
|
91
|
+
declare function getMJD(date: Date, scale?: Scale): number;
|
|
92
|
+
declare function getDateFromMJD(mjd: number, scale?: Scale): Date;
|
|
93
|
+
declare function getMJD2000(date: Date, scale?: Scale): number;
|
|
94
|
+
declare function getDateFromMJD2000(mjd2000: number, scale?: Scale): Date;
|
|
88
95
|
|
|
89
|
-
export { DAYS_MJD2000_MJD, DAYS_MJD_JULIAN, type HourCode, MILLISECONDS_GPS_TAI, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MILLISECONDS_IN_SECOND, MILLISECONDS_IN_WEEK, MILLISECONDS_TT_TAI, RINEX_CODES, SECONDS_IN_DAY, SECONDS_IN_HOUR, SECONDS_IN_MINUTE, SECONDS_IN_WEEK, START_BDS_TIME, START_GAL_TIME, START_GLO_LEAP, START_GPS_TIME, START_JULIAN_TAI, START_MJD_UNIX_SECONDS, START_NTP_TIME, START_TAI_TIME, START_UNIX_TIME, type TimeDifference, getBdsTime, getDateFromBdsTime, getDateFromDayOfWeek, getDateFromDayOfYear, getDateFromGalTime, getDateFromGloN, getDateFromGpsData, getDateFromGpsTime, getDateFromHourCode, getDateFromJulianDate, getDateFromMJD, getDateFromMJD2000, getDateFromRINEX, getDateFromTai, getDateFromTimeOfDay, getDateFromTt, getDateFromUnixTime, getDateFromUtc, getDayOfWeek, getDayOfYear, getGalTime, getGloN4, getGloNA, getGpsLeap, getGpsTime, getHourCode, getHoursFromTimeDifference, getJulianDate, getLeap, getMJD, getMJD2000, getMinutesFromTimeDifference, getNtpTime, getRINEX, getSecondsFromTimeDifference, getTaiDate, getTimeDifference, getTimeDifferenceFromDays, getTimeDifferenceFromHours, getTimeDifferenceFromMinutes, getTimeDifferenceFromObject, getTimeDifferenceFromSeconds, getTimeOfDay, getTimeOfWeek, getTotalDaysFromTimeDifference, getTtDate, getUnixTime, getUtcDate, getWeekNumber, getWeekOfYear };
|
|
96
|
+
export { DAYS_MJD2000_MJD, DAYS_MJD_JULIAN, type HourCode, MILLISECONDS_GPS_TAI, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MILLISECONDS_IN_SECOND, MILLISECONDS_IN_WEEK, MILLISECONDS_TT_TAI, RINEX_CODES, SECONDS_IN_DAY, SECONDS_IN_HOUR, SECONDS_IN_MINUTE, SECONDS_IN_WEEK, START_BDS_TIME, START_GAL_TIME, START_GLO_LEAP, START_GPS_TIME, START_JULIAN_TAI, START_MJD_UNIX_SECONDS, START_NTP_TIME, START_TAI_TIME, START_UNIX_TIME, Scale, type TimeDifference, getBdsTime, getDateFromBdsTime, getDateFromDayOfWeek, getDateFromDayOfYear, getDateFromGalTime, getDateFromGloN, getDateFromGpsData, getDateFromGpsTime, getDateFromHourCode, getDateFromJulianDate, getDateFromMJD, getDateFromMJD2000, getDateFromRINEX, getDateFromTai, getDateFromTimeOfDay, getDateFromTt, getDateFromUnixTime, getDateFromUtc, getDayOfWeek, getDayOfYear, getGalTime, getGloN4, getGloNA, getGpsLeap, getGpsTime, getHourCode, getHoursFromTimeDifference, getJulianDate, getLeap, getMJD, getMJD2000, getMinutesFromTimeDifference, getNtpTime, getRINEX, getSecondsFromTimeDifference, getTaiDate, getTimeDifference, getTimeDifferenceFromDays, getTimeDifferenceFromHours, getTimeDifferenceFromMinutes, getTimeDifferenceFromObject, getTimeDifferenceFromSeconds, getTimeOfDay, getTimeOfWeek, getTotalDaysFromTimeDifference, getTtDate, getUnixTime, getUtcDate, getWeekNumber, getWeekOfYear };
|
package/dist/index.js
CHANGED
|
@@ -1,101 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var src_exports = {};
|
|
22
|
-
__export(src_exports, {
|
|
23
|
-
DAYS_MJD2000_MJD: () => DAYS_MJD2000_MJD,
|
|
24
|
-
DAYS_MJD_JULIAN: () => DAYS_MJD_JULIAN,
|
|
25
|
-
MILLISECONDS_GPS_TAI: () => MILLISECONDS_GPS_TAI,
|
|
26
|
-
MILLISECONDS_IN_DAY: () => MILLISECONDS_IN_DAY,
|
|
27
|
-
MILLISECONDS_IN_HOUR: () => MILLISECONDS_IN_HOUR,
|
|
28
|
-
MILLISECONDS_IN_MINUTE: () => MILLISECONDS_IN_MINUTE,
|
|
29
|
-
MILLISECONDS_IN_SECOND: () => MILLISECONDS_IN_SECOND,
|
|
30
|
-
MILLISECONDS_IN_WEEK: () => MILLISECONDS_IN_WEEK,
|
|
31
|
-
MILLISECONDS_TT_TAI: () => MILLISECONDS_TT_TAI,
|
|
32
|
-
RINEX_CODES: () => RINEX_CODES,
|
|
33
|
-
SECONDS_IN_DAY: () => SECONDS_IN_DAY,
|
|
34
|
-
SECONDS_IN_HOUR: () => SECONDS_IN_HOUR,
|
|
35
|
-
SECONDS_IN_MINUTE: () => SECONDS_IN_MINUTE,
|
|
36
|
-
SECONDS_IN_WEEK: () => SECONDS_IN_WEEK,
|
|
37
|
-
START_BDS_TIME: () => START_BDS_TIME,
|
|
38
|
-
START_GAL_TIME: () => START_GAL_TIME,
|
|
39
|
-
START_GLO_LEAP: () => START_GLO_LEAP,
|
|
40
|
-
START_GPS_TIME: () => START_GPS_TIME,
|
|
41
|
-
START_JULIAN_TAI: () => START_JULIAN_TAI,
|
|
42
|
-
START_MJD_UNIX_SECONDS: () => START_MJD_UNIX_SECONDS,
|
|
43
|
-
START_NTP_TIME: () => START_NTP_TIME,
|
|
44
|
-
START_TAI_TIME: () => START_TAI_TIME,
|
|
45
|
-
START_UNIX_TIME: () => START_UNIX_TIME,
|
|
46
|
-
getBdsTime: () => getBdsTime,
|
|
47
|
-
getDateFromBdsTime: () => getDateFromBdsTime,
|
|
48
|
-
getDateFromDayOfWeek: () => getDateFromDayOfWeek,
|
|
49
|
-
getDateFromDayOfYear: () => getDateFromDayOfYear,
|
|
50
|
-
getDateFromGalTime: () => getDateFromGalTime,
|
|
51
|
-
getDateFromGloN: () => getDateFromGloN,
|
|
52
|
-
getDateFromGpsData: () => getDateFromGpsData,
|
|
53
|
-
getDateFromGpsTime: () => getDateFromGpsTime,
|
|
54
|
-
getDateFromHourCode: () => getDateFromHourCode,
|
|
55
|
-
getDateFromJulianDate: () => getDateFromJulianDate,
|
|
56
|
-
getDateFromMJD: () => getDateFromMJD,
|
|
57
|
-
getDateFromMJD2000: () => getDateFromMJD2000,
|
|
58
|
-
getDateFromRINEX: () => getDateFromRINEX,
|
|
59
|
-
getDateFromTai: () => getDateFromTai,
|
|
60
|
-
getDateFromTimeOfDay: () => getDateFromTimeOfDay,
|
|
61
|
-
getDateFromTt: () => getDateFromTt,
|
|
62
|
-
getDateFromUnixTime: () => getDateFromUnixTime,
|
|
63
|
-
getDateFromUtc: () => getDateFromUtc,
|
|
64
|
-
getDayOfWeek: () => getDayOfWeek,
|
|
65
|
-
getDayOfYear: () => getDayOfYear,
|
|
66
|
-
getGalTime: () => getGalTime,
|
|
67
|
-
getGloN4: () => getGloN4,
|
|
68
|
-
getGloNA: () => getGloNA,
|
|
69
|
-
getGpsLeap: () => getGpsLeap,
|
|
70
|
-
getGpsTime: () => getGpsTime,
|
|
71
|
-
getHourCode: () => getHourCode,
|
|
72
|
-
getHoursFromTimeDifference: () => getHoursFromTimeDifference,
|
|
73
|
-
getJulianDate: () => getJulianDate,
|
|
74
|
-
getLeap: () => getLeap,
|
|
75
|
-
getMJD: () => getMJD,
|
|
76
|
-
getMJD2000: () => getMJD2000,
|
|
77
|
-
getMinutesFromTimeDifference: () => getMinutesFromTimeDifference,
|
|
78
|
-
getNtpTime: () => getNtpTime,
|
|
79
|
-
getRINEX: () => getRINEX,
|
|
80
|
-
getSecondsFromTimeDifference: () => getSecondsFromTimeDifference,
|
|
81
|
-
getTaiDate: () => getTaiDate,
|
|
82
|
-
getTimeDifference: () => getTimeDifference,
|
|
83
|
-
getTimeDifferenceFromDays: () => getTimeDifferenceFromDays,
|
|
84
|
-
getTimeDifferenceFromHours: () => getTimeDifferenceFromHours,
|
|
85
|
-
getTimeDifferenceFromMinutes: () => getTimeDifferenceFromMinutes,
|
|
86
|
-
getTimeDifferenceFromObject: () => getTimeDifferenceFromObject,
|
|
87
|
-
getTimeDifferenceFromSeconds: () => getTimeDifferenceFromSeconds,
|
|
88
|
-
getTimeOfDay: () => getTimeOfDay,
|
|
89
|
-
getTimeOfWeek: () => getTimeOfWeek,
|
|
90
|
-
getTotalDaysFromTimeDifference: () => getTotalDaysFromTimeDifference,
|
|
91
|
-
getTtDate: () => getTtDate,
|
|
92
|
-
getUnixTime: () => getUnixTime,
|
|
93
|
-
getUtcDate: () => getUtcDate,
|
|
94
|
-
getWeekNumber: () => getWeekNumber,
|
|
95
|
-
getWeekOfYear: () => getWeekOfYear
|
|
96
|
-
});
|
|
97
|
-
module.exports = __toCommonJS(src_exports);
|
|
98
|
-
|
|
99
1
|
// src/constants/time.ts
|
|
100
2
|
var SECONDS_IN_WEEK = 604800;
|
|
101
3
|
var SECONDS_IN_DAY = 86400;
|
|
@@ -146,6 +48,15 @@ var DAYS_MJD_JULIAN = 24000005e-1;
|
|
|
146
48
|
var DAYS_MJD2000_MJD = 51544.5;
|
|
147
49
|
var START_MJD_UNIX_SECONDS = 40587;
|
|
148
50
|
|
|
51
|
+
// src/types/enums.ts
|
|
52
|
+
var Scale = /* @__PURE__ */ ((Scale2) => {
|
|
53
|
+
Scale2[Scale2["TAI"] = 0] = "TAI";
|
|
54
|
+
Scale2[Scale2["TT"] = 1] = "TT";
|
|
55
|
+
Scale2[Scale2["GPS"] = 2] = "GPS";
|
|
56
|
+
Scale2[Scale2["UTC"] = 3] = "UTC";
|
|
57
|
+
return Scale2;
|
|
58
|
+
})(Scale || {});
|
|
59
|
+
|
|
149
60
|
// src/time/functions.ts
|
|
150
61
|
function getTimeOfDay(date) {
|
|
151
62
|
return (date.getTime() - Date.UTC(
|
|
@@ -331,8 +242,7 @@ function getLeap(date) {
|
|
|
331
242
|
}
|
|
332
243
|
function getGpsLeap(date) {
|
|
333
244
|
const leap_seconds = getLeap(date);
|
|
334
|
-
if (leap_seconds < 0)
|
|
335
|
-
return 0;
|
|
245
|
+
if (leap_seconds < 0) return 0;
|
|
336
246
|
return leap_seconds - 19;
|
|
337
247
|
}
|
|
338
248
|
function getUtcDate(date) {
|
|
@@ -453,28 +363,56 @@ function getDateFromRINEX(rinex) {
|
|
|
453
363
|
}
|
|
454
364
|
|
|
455
365
|
// src/time/julian.ts
|
|
456
|
-
function getJulianDate(date) {
|
|
457
|
-
|
|
366
|
+
function getJulianDate(date, scale = 1 /* TT */) {
|
|
367
|
+
if (scale === 0 /* TAI */) {
|
|
368
|
+
return (date.getTime() - START_TAI_TIME.getTime()) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
369
|
+
}
|
|
370
|
+
if (scale === 2 /* GPS */) {
|
|
371
|
+
return (date.getTime() - START_TAI_TIME.getTime() - MILLISECONDS_GPS_TAI) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
372
|
+
}
|
|
373
|
+
if (scale === 3 /* UTC */) {
|
|
374
|
+
return (date.getTime() - START_TAI_TIME.getTime() - getLeap(date) * MILLISECONDS_IN_SECOND) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
375
|
+
}
|
|
376
|
+
return (date.getTime() - START_TAI_TIME.getTime() + MILLISECONDS_TT_TAI) / MILLISECONDS_IN_DAY + START_JULIAN_TAI;
|
|
458
377
|
}
|
|
459
|
-
function getDateFromJulianDate(julianDate) {
|
|
378
|
+
function getDateFromJulianDate(julianDate, scale = 1 /* TT */) {
|
|
379
|
+
if (scale === 0 /* TAI */) {
|
|
380
|
+
return new Date(
|
|
381
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime()
|
|
382
|
+
);
|
|
383
|
+
}
|
|
384
|
+
if (scale === 2 /* GPS */) {
|
|
385
|
+
return new Date(
|
|
386
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime() + MILLISECONDS_GPS_TAI
|
|
387
|
+
);
|
|
388
|
+
}
|
|
389
|
+
if (scale === 3 /* UTC */) {
|
|
390
|
+
const utc_date = new Date(
|
|
391
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime()
|
|
392
|
+
);
|
|
393
|
+
const tai_date = new Date(
|
|
394
|
+
utc_date.getTime() + getLeap(utc_date) * MILLISECONDS_IN_SECOND
|
|
395
|
+
);
|
|
396
|
+
const leap_seconds = getLeap(getDateFromTai(tai_date));
|
|
397
|
+
return new Date(utc_date.getTime() + leap_seconds * MILLISECONDS_IN_SECOND);
|
|
398
|
+
}
|
|
460
399
|
return new Date(
|
|
461
|
-
(julianDate -
|
|
400
|
+
(julianDate - START_JULIAN_TAI) * MILLISECONDS_IN_DAY + START_TAI_TIME.getTime() - MILLISECONDS_TT_TAI
|
|
462
401
|
);
|
|
463
402
|
}
|
|
464
|
-
function getMJD(date) {
|
|
465
|
-
return getJulianDate(date) - DAYS_MJD_JULIAN;
|
|
403
|
+
function getMJD(date, scale = 1 /* TT */) {
|
|
404
|
+
return getJulianDate(date, scale) - DAYS_MJD_JULIAN;
|
|
466
405
|
}
|
|
467
|
-
function getDateFromMJD(mjd) {
|
|
468
|
-
return getDateFromJulianDate(mjd + DAYS_MJD_JULIAN);
|
|
406
|
+
function getDateFromMJD(mjd, scale = 1 /* TT */) {
|
|
407
|
+
return getDateFromJulianDate(mjd + DAYS_MJD_JULIAN, scale);
|
|
469
408
|
}
|
|
470
|
-
function getMJD2000(date) {
|
|
471
|
-
return getMJD(date) - DAYS_MJD2000_MJD;
|
|
409
|
+
function getMJD2000(date, scale = 1 /* TT */) {
|
|
410
|
+
return getMJD(date, scale) - DAYS_MJD2000_MJD;
|
|
472
411
|
}
|
|
473
|
-
function getDateFromMJD2000(mjd2000) {
|
|
474
|
-
return getDateFromMJD(mjd2000 + DAYS_MJD2000_MJD);
|
|
412
|
+
function getDateFromMJD2000(mjd2000, scale = 1 /* TT */) {
|
|
413
|
+
return getDateFromMJD(mjd2000 + DAYS_MJD2000_MJD, scale);
|
|
475
414
|
}
|
|
476
|
-
|
|
477
|
-
0 && (module.exports = {
|
|
415
|
+
export {
|
|
478
416
|
DAYS_MJD2000_MJD,
|
|
479
417
|
DAYS_MJD_JULIAN,
|
|
480
418
|
MILLISECONDS_GPS_TAI,
|
|
@@ -498,6 +436,7 @@ function getDateFromMJD2000(mjd2000) {
|
|
|
498
436
|
START_NTP_TIME,
|
|
499
437
|
START_TAI_TIME,
|
|
500
438
|
START_UNIX_TIME,
|
|
439
|
+
Scale,
|
|
501
440
|
getBdsTime,
|
|
502
441
|
getDateFromBdsTime,
|
|
503
442
|
getDateFromDayOfWeek,
|
|
@@ -548,4 +487,4 @@ function getDateFromMJD2000(mjd2000) {
|
|
|
548
487
|
getUtcDate,
|
|
549
488
|
getWeekNumber,
|
|
550
489
|
getWeekOfYear
|
|
551
|
-
}
|
|
490
|
+
};
|
package/jest.config.ts
ADDED
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnss-js",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Tool to peform GNSS-related computations",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
8
9
|
"scripts": {
|
|
9
10
|
"build": "tsup",
|
|
10
11
|
"test": "jest",
|
|
@@ -22,7 +23,8 @@
|
|
|
22
23
|
"jest": "^29.7.0",
|
|
23
24
|
"prettier": "^3.5.3",
|
|
24
25
|
"ts-jest": "^29.3.2",
|
|
26
|
+
"ts-node": "^10.9.2",
|
|
25
27
|
"tsup": "^8.0.2",
|
|
26
|
-
"typescript": "^5.
|
|
28
|
+
"typescript": "^5.8.3"
|
|
27
29
|
}
|
|
28
30
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getHourCode,
|
|
3
|
+
getDayOfYear,
|
|
4
|
+
getDateFromHourCode,
|
|
5
|
+
getDayOfWeek,
|
|
6
|
+
getDateFromDayOfWeek,
|
|
7
|
+
getTimeOfDay,
|
|
8
|
+
getDateFromTimeOfDay,
|
|
9
|
+
getDateFromDayOfYear,
|
|
10
|
+
getWeekOfYear,
|
|
11
|
+
} from '../src/index';
|
|
12
|
+
|
|
13
|
+
test('getTimeOfDay', () => {
|
|
14
|
+
const date: Date = new Date('1980-01-06T23:09:00Z');
|
|
15
|
+
const time_of_day: number = getTimeOfDay(date);
|
|
16
|
+
expect(time_of_day).toBe(83340);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
test('getDateFromTimeOfDay', () => {
|
|
20
|
+
const date: Date = new Date('1980-01-06T00:00:00Z');
|
|
21
|
+
const new_date: Date = getDateFromTimeOfDay(83340, date);
|
|
22
|
+
expect(new_date.toISOString()).toBe('1980-01-06T23:09:00.000Z');
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('getDayOfYear', () => {
|
|
26
|
+
const date: Date = new Date('1980-01-06T23:09:00Z');
|
|
27
|
+
const day_of_year: Date = getDayOfYear(date);
|
|
28
|
+
expect(day_of_year).toBe(6);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
test('getDateFromDayOfYear', () => {
|
|
32
|
+
const date: Date = new Date('1980-01-06T00:00:00Z');
|
|
33
|
+
const new_date: Date = getDateFromDayOfYear(100, date);
|
|
34
|
+
expect(new_date.toISOString()).toBe('1980-04-09T00:00:00.000Z');
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test('getHourCode', () => {
|
|
38
|
+
const date: Date = new Date('1980-01-06T00:00:00Z');
|
|
39
|
+
const hour_code: Date = getHourCode(date);
|
|
40
|
+
expect(hour_code).toBe('a');
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
test('getDateFromHourCode', () => {
|
|
44
|
+
const date: Date = new Date('1980-01-06T00:00:00Z');
|
|
45
|
+
const new_date: Date = getDateFromHourCode('c', date);
|
|
46
|
+
expect(new_date.toISOString()).toBe('1980-01-06T02:00:00.000Z');
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('getDayOfWeek', () => {
|
|
50
|
+
const date: Date = new Date('1980-01-06T00:00:00Z');
|
|
51
|
+
expect(getDayOfWeek(date)).toBe(0);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('getDateFromDayOfWeek', () => {
|
|
55
|
+
const date: Date = new Date('1980-01-06T00:00:00Z');
|
|
56
|
+
const new_date: Date = getDateFromDayOfWeek(1, date);
|
|
57
|
+
expect(new_date.toISOString()).toBe('1980-01-07T00:00:00.000Z');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('getWeekOfYear', () => {
|
|
61
|
+
const date: Date = new Date('2025-05-05T00:00:00Z');
|
|
62
|
+
expect(getWeekOfYear(date)).toBe(19);
|
|
63
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import {
|
|
2
2
|
getGpsTime,
|
|
3
3
|
getDateFromGpsTime,
|
|
4
4
|
getGalTime,
|
|
@@ -13,50 +13,50 @@ const {
|
|
|
13
13
|
getDateFromTt,
|
|
14
14
|
getWeekNumber,
|
|
15
15
|
getDateFromGpsData,
|
|
16
|
-
}
|
|
16
|
+
} from '../src/index';
|
|
17
17
|
|
|
18
18
|
test('getGpsTime', () => {
|
|
19
|
-
const gps_time = getGpsTime(new Date('1980-01-06T00:00:00Z'));
|
|
19
|
+
const gps_time: number = getGpsTime(new Date('1980-01-06T00:00:00Z'));
|
|
20
20
|
expect(gps_time).toBe(0);
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
test('getDateFromGpsTime', () => {
|
|
24
|
-
const date = getDateFromGpsTime(0);
|
|
24
|
+
const date: Date = getDateFromGpsTime(0);
|
|
25
25
|
expect(date.getTime()).toBe(new Date('1980-01-06T00:00:00Z').getTime());
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
test('getWeekNumber', () => {
|
|
29
|
-
const week_no = getWeekNumber(new Date('1980-01-06T00:00:00Z'));
|
|
29
|
+
const week_no: number = getWeekNumber(new Date('1980-01-06T00:00:00Z'));
|
|
30
30
|
expect(week_no).toBe(0);
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
test('getTimeOfWeek', () => {
|
|
34
|
-
const tow = getWeekNumber(new Date('1980-01-06T00:00:00Z'));
|
|
34
|
+
const tow: number = getWeekNumber(new Date('1980-01-06T00:00:00Z'));
|
|
35
35
|
expect(tow).toBe(0);
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
test('getDateFromGpsData', () => {
|
|
39
|
-
const date = getDateFromGpsData(0, 0);
|
|
39
|
+
const date: Date = getDateFromGpsData(0, 0);
|
|
40
40
|
expect(date.getTime()).toBe(new Date('1980-01-06T00:00:00Z').getTime());
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
test('getGalTime', () => {
|
|
44
|
-
const gal_time = getGalTime(new Date('1999-08-22T00:00:00Z'));
|
|
44
|
+
const gal_time: number = getGalTime(new Date('1999-08-22T00:00:00Z'));
|
|
45
45
|
expect(gal_time).toBe(0);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
test('getDateFromGalTime', () => {
|
|
49
|
-
const date = getDateFromGalTime(0);
|
|
49
|
+
const date: Date = getDateFromGalTime(0);
|
|
50
50
|
expect(date.getTime()).toBe(new Date('1999-08-22T00:00:00Z').getTime());
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
test('getBdsTime', () => {
|
|
54
|
-
const bds_time = getBdsTime(new Date('2006-01-01T00:00:13Z'));
|
|
54
|
+
const bds_time: number = getBdsTime(new Date('2006-01-01T00:00:13Z'));
|
|
55
55
|
expect(bds_time).toBe(0);
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
test('getDateFromBdsTime', () => {
|
|
59
|
-
const date = getDateFromBdsTime(0);
|
|
59
|
+
const date: Date = getDateFromBdsTime(0);
|
|
60
60
|
expect(date.getTime()).toBe(new Date('2006-01-01T00:00:13Z').getTime());
|
|
61
61
|
});
|
|
62
62
|
|
|
@@ -66,30 +66,30 @@ test('getUnixTime', () => {
|
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
test('getDateFromUnixTime', () => {
|
|
69
|
-
const date = getDateFromUnixTime(0);
|
|
69
|
+
const date: Date = getDateFromUnixTime(0);
|
|
70
70
|
expect(date.toISOString()).toBe('1969-12-31T23:59:49.000Z');
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
test('getTaiDate', () => {
|
|
74
|
-
const date = getDateFromGpsTime(0);
|
|
75
|
-
const tai_date = getTaiDate(date);
|
|
74
|
+
const date: Date = getDateFromGpsTime(0);
|
|
75
|
+
const tai_date: Date = getTaiDate(date);
|
|
76
76
|
expect(tai_date.getTime()).toBe(new Date('1980-01-06T00:00:19Z').getTime());
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
test('getDateFromTai', () => {
|
|
80
|
-
const date = getDateFromTai(new Date('1980-01-06T00:00:19Z'));
|
|
80
|
+
const date: Date = getDateFromTai(new Date('1980-01-06T00:00:19Z'));
|
|
81
81
|
expect(getGpsTime(date)).toBe(0);
|
|
82
82
|
});
|
|
83
83
|
|
|
84
84
|
test('getTtDate', () => {
|
|
85
|
-
const date = getDateFromGpsTime(0);
|
|
86
|
-
const tt_date = getTtDate(date);
|
|
85
|
+
const date: Date = getDateFromGpsTime(0);
|
|
86
|
+
const tt_date: Date = getTtDate(date);
|
|
87
87
|
expect(tt_date.getTime()).toBe(
|
|
88
88
|
new Date('1980-01-06T00:00:51.184Z').getTime()
|
|
89
89
|
);
|
|
90
90
|
});
|
|
91
91
|
|
|
92
92
|
test('getDateFromTt', () => {
|
|
93
|
-
const date = getDateFromTt(new Date('1980-01-06T00:00:51.184Z'));
|
|
93
|
+
const date: Date = getDateFromTt(new Date('1980-01-06T00:00:51.184Z'));
|
|
94
94
|
expect(getGpsTime(date)).toBe(0);
|
|
95
95
|
});
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getJulianDate,
|
|
3
|
+
getDateFromJulianDate,
|
|
4
|
+
getMJD,
|
|
5
|
+
getDateFromMJD,
|
|
6
|
+
getMJD2000,
|
|
7
|
+
getDateFromMJD2000,
|
|
8
|
+
} from '../src/index';
|
|
9
|
+
import { Scale } from '../src/types/enums';
|
|
10
|
+
|
|
11
|
+
// TT scale
|
|
12
|
+
test('getJulianDate', () => {
|
|
13
|
+
const date: Date = new Date('2000-01-01T11:59:08.816Z');
|
|
14
|
+
const julian_date: number = getJulianDate(date);
|
|
15
|
+
expect(julian_date).toBeCloseTo(2451545.0, 5);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
test('getDateFromJulianDate', () => {
|
|
19
|
+
const date: Date = getDateFromJulianDate(2451545.0);
|
|
20
|
+
expect(date.toISOString()).toBe('2000-01-01T11:59:08.816Z');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('getMJD', () => {
|
|
24
|
+
const date: Date = new Date('2000-01-01T11:59:08.816Z');
|
|
25
|
+
const mjd = getMJD(date);
|
|
26
|
+
expect(mjd).toBeCloseTo(51544.5, 5);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test('getDateFromMJD', () => {
|
|
30
|
+
const date: Date = getDateFromMJD(51544.5);
|
|
31
|
+
expect(date.toISOString()).toBe('2000-01-01T11:59:08.816Z');
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('getMJD2000', () => {
|
|
35
|
+
const date: Date = new Date('2000-01-01T11:59:08.816Z');
|
|
36
|
+
const mjd2000: number = getMJD2000(date);
|
|
37
|
+
expect(mjd2000).toBeCloseTo(0, 5);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
test('getDateFromMJD2000', () => {
|
|
41
|
+
const date: Date = getDateFromMJD2000(0);
|
|
42
|
+
expect(date.toISOString()).toBe('2000-01-01T11:59:08.816Z');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// TAI scale
|
|
46
|
+
test('getJulianDate', () => {
|
|
47
|
+
const date: Date = new Date('2000-01-01T11:59:41.000Z');
|
|
48
|
+
const julian_date: number = getJulianDate(date, Scale.TAI);
|
|
49
|
+
expect(julian_date).toBeCloseTo(2451545.0, 5);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('getDateFromJulianDate', () => {
|
|
53
|
+
const date: Date = getDateFromJulianDate(2451545.0, Scale.TAI);
|
|
54
|
+
expect(date.toISOString()).toBe('2000-01-01T11:59:41.000Z');
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test('getMJD', () => {
|
|
58
|
+
const date: Date = new Date('2000-01-01T11:59:41.000Z');
|
|
59
|
+
const mjd = getMJD(date, Scale.TAI);
|
|
60
|
+
expect(mjd).toBeCloseTo(51544.5, 5);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('getDateFromMJD', () => {
|
|
64
|
+
const date: Date = getDateFromMJD(51544.5, Scale.TAI);
|
|
65
|
+
expect(date.toISOString()).toBe('2000-01-01T11:59:41.000Z');
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
test('getMJD2000', () => {
|
|
69
|
+
const date: Date = new Date('2000-01-01T11:59:41.000Z');
|
|
70
|
+
const mjd2000: number = getMJD2000(date, Scale.TAI);
|
|
71
|
+
expect(mjd2000).toBeCloseTo(0, 5);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
test('getDateFromMJD2000', () => {
|
|
75
|
+
const date: Date = getDateFromMJD2000(0, Scale.TAI);
|
|
76
|
+
expect(date.toISOString()).toBe('2000-01-01T11:59:41.000Z');
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// GPS scale
|
|
80
|
+
test('getJulianDate', () => {
|
|
81
|
+
const date: Date = new Date('2000-01-01T12:00:00.000Z');
|
|
82
|
+
const julian_date: number = getJulianDate(date, Scale.GPS);
|
|
83
|
+
expect(julian_date).toBeCloseTo(2451545.0, 5);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
test('getDateFromJulianDate', () => {
|
|
87
|
+
const date: Date = getDateFromJulianDate(2451545.0, Scale.GPS);
|
|
88
|
+
expect(date.toISOString()).toBe('2000-01-01T12:00:00.000Z');
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test('getMJD', () => {
|
|
92
|
+
const date: Date = new Date('2000-01-01T12:00:00.000Z');
|
|
93
|
+
const mjd = getMJD(date, Scale.GPS);
|
|
94
|
+
expect(mjd).toBeCloseTo(51544.5, 5);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
test('getDateFromMJD', () => {
|
|
98
|
+
const date: Date = getDateFromMJD(51544.5, Scale.GPS);
|
|
99
|
+
expect(date.toISOString()).toBe('2000-01-01T12:00:00.000Z');
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
test('getMJD2000', () => {
|
|
103
|
+
const date: Date = new Date('2000-01-01T12:00:00.000Z');
|
|
104
|
+
const mjd2000: number = getMJD2000(date, Scale.GPS);
|
|
105
|
+
expect(mjd2000).toBeCloseTo(0, 5);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
test('getDateFromMJD2000', () => {
|
|
109
|
+
const date: Date = getDateFromMJD2000(0, Scale.GPS);
|
|
110
|
+
expect(date.toISOString()).toBe('2000-01-01T12:00:00.000Z');
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// UTC scale
|
|
114
|
+
test('getJulianDate', () => {
|
|
115
|
+
const date: Date = new Date('2000-01-01T12:00:13.000Z');
|
|
116
|
+
const julian_date: number = getJulianDate(date, Scale.UTC);
|
|
117
|
+
expect(julian_date).toBeCloseTo(2451545.0, 5);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
test('getDateFromJulianDate', () => {
|
|
121
|
+
const date: Date = getDateFromJulianDate(2451545.0, Scale.UTC);
|
|
122
|
+
expect(date.toISOString()).toBe('2000-01-01T12:00:13.000Z');
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
test('getMJD', () => {
|
|
126
|
+
const date: Date = new Date('2000-01-01T12:00:13.000Z');
|
|
127
|
+
const mjd = getMJD(date, Scale.UTC);
|
|
128
|
+
expect(mjd).toBeCloseTo(51544.5, 5);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
test('getDateFromMJD', () => {
|
|
132
|
+
const date: Date = getDateFromMJD(51544.5, Scale.UTC);
|
|
133
|
+
expect(date.toISOString()).toBe('2000-01-01T12:00:13.000Z');
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
test('getMJD2000', () => {
|
|
137
|
+
const date: Date = new Date('2000-01-01T12:00:13.000Z');
|
|
138
|
+
const mjd2000: number = getMJD2000(date, Scale.UTC);
|
|
139
|
+
expect(mjd2000).toBeCloseTo(0, 5);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
test('getDateFromMJD2000', () => {
|
|
143
|
+
const date: Date = getDateFromMJD2000(0, Scale.UTC);
|
|
144
|
+
expect(date.toISOString()).toBe('2000-01-01T12:00:13.000Z');
|
|
145
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getRINEX, getDateFromRINEX } from '../src/index';
|
|
2
|
+
|
|
3
|
+
test('getRINEX', () => {
|
|
4
|
+
const rinex: string = getRINEX(new Date('1980-01-06T00:00:00Z'));
|
|
5
|
+
expect(rinex).toBe('> 1980 01 06 00 00 00.0000000');
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
test('getDateFromRINEX', () => {
|
|
9
|
+
const date: Date = getDateFromRINEX('> 1980 01 06 00 00 00.0000000');
|
|
10
|
+
expect(date.getTime()).toBe(new Date('1980-01-06T00:00:00Z').getTime());
|
|
11
|
+
});
|
package/test/{test.js → test.ts}
RENAMED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
// To run: npx
|
|
1
|
+
// To run: npx ts-node test/test.ts
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { getTaiDate, getDateFromUtc } from '../src/index';
|
|
4
4
|
|
|
5
5
|
const utc_date = new Date('2017-01-01T00:00:01.000Z');
|
|
6
|
-
// const utc_date = new Date('2016-12-31T23:59:59.000Z');
|
|
7
6
|
const gps_date = getDateFromUtc(utc_date);
|
|
8
7
|
|
|
9
8
|
console.log('TAI Date:', getTaiDate(gps_date).toISOString());
|
package/test/utc.test.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getLeap, getGpsLeap, getUtcDate, getDateFromUtc } from '../src/index';
|
|
2
|
+
|
|
3
|
+
test('getLeap', () => {
|
|
4
|
+
const gps_date: Date = new Date('2017-01-01T00:00:31Z');
|
|
5
|
+
const leap_seconds: number = getLeap(gps_date);
|
|
6
|
+
expect(leap_seconds).toBe(37);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
test('getGpsLeap', () => {
|
|
10
|
+
const gps_date: Date = new Date('2017-01-01T00:00:31Z');
|
|
11
|
+
const leap_seconds: number = getGpsLeap(gps_date);
|
|
12
|
+
expect(leap_seconds).toBe(18);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
test('getUtcDate', () => {
|
|
16
|
+
const gps_date: Date = new Date('2017-01-01T00:00:31Z');
|
|
17
|
+
const utc_date: Date = getUtcDate(gps_date);
|
|
18
|
+
expect(utc_date.toISOString()).toBe('2017-01-01T00:00:13.000Z');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test('getDateFromUtc', () => {
|
|
22
|
+
const utc_date: Date = new Date('2017-01-01T00:00:01.000Z');
|
|
23
|
+
const gps_date: Date = getDateFromUtc(utc_date);
|
|
24
|
+
expect(gps_date.toISOString()).toBe('2017-01-01T00:00:19.000Z');
|
|
25
|
+
});
|
package/jest.config.js
DELETED
package/test/functions.test.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
const {
|
|
2
|
-
getHourCode,
|
|
3
|
-
getDayOfYear,
|
|
4
|
-
getDateFromHourCode,
|
|
5
|
-
getDayOfWeek,
|
|
6
|
-
getDateFromDayOfWeek,
|
|
7
|
-
getTimeOfDay,
|
|
8
|
-
getDateFromTimeOfDay,
|
|
9
|
-
getDateFromDayOfYear,
|
|
10
|
-
getWeekOfYear,
|
|
11
|
-
} = require('../src/index');
|
|
12
|
-
|
|
13
|
-
test('getTimeOfDay', () => {
|
|
14
|
-
const date = new Date('1980-01-06T23:09:00Z');
|
|
15
|
-
const time_of_day = getTimeOfDay(date);
|
|
16
|
-
expect(time_of_day).toBe(83340);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test('getDateFromTimeOfDay', () => {
|
|
20
|
-
const date = new Date('1980-01-06T00:00:00Z');
|
|
21
|
-
const new_date = getDateFromTimeOfDay(83340, date);
|
|
22
|
-
expect(new_date.toISOString()).toBe('1980-01-06T23:09:00.000Z');
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
test('getDayOfYear', () => {
|
|
26
|
-
const date = new Date('1980-01-06T23:09:00Z');
|
|
27
|
-
const day_of_year = getDayOfYear(date);
|
|
28
|
-
expect(day_of_year).toBe(6);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
test('getDateFromDayOfYear', () => {
|
|
32
|
-
const date = new Date('1980-01-06T00:00:00Z');
|
|
33
|
-
const new_date = getDateFromDayOfYear(100, date);
|
|
34
|
-
expect(new_date.toISOString()).toBe('1980-04-09T00:00:00.000Z');
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
test('getHourCode', () => {
|
|
38
|
-
const date = new Date('1980-01-06T00:00:00Z');
|
|
39
|
-
const hour_code = getHourCode(date);
|
|
40
|
-
expect(hour_code).toBe('a');
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test('getDateFromHourCode', () => {
|
|
44
|
-
const date = new Date('1980-01-06T00:00:00Z');
|
|
45
|
-
const new_date = getDateFromHourCode('c', date);
|
|
46
|
-
expect(new_date.toISOString()).toBe('1980-01-06T02:00:00.000Z');
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
test('getDayOfWeek', () => {
|
|
50
|
-
const date = new Date('1980-01-06T00:00:00Z');
|
|
51
|
-
expect(getDayOfWeek(date)).toBe(0);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
test('getDateFromDayOfWeek', () => {
|
|
55
|
-
const date = new Date('1980-01-06T00:00:00Z');
|
|
56
|
-
const new_date = getDateFromDayOfWeek(1, date);
|
|
57
|
-
expect(new_date.toISOString()).toBe('1980-01-07T00:00:00.000Z');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
test('getWeekOfYear', () => {
|
|
61
|
-
const date = new Date('2025-05-05T00:00:00Z');
|
|
62
|
-
expect(getWeekOfYear(date)).toBe(19);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// test('getDateFromDayOfWeek', () => {
|
|
66
|
-
// const date = new Date('1980-01-06T00:00:00Z')
|
|
67
|
-
// const new_date = getDateFromDayOfWeek(1, date);
|
|
68
|
-
// expect(new_date.toISOString()).toBe('1980-01-07T00:00:00.000Z');
|
|
69
|
-
// });
|
package/test/julian.test.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
const {
|
|
2
|
-
getJulianDate,
|
|
3
|
-
getDateFromJulianDate,
|
|
4
|
-
getMJD,
|
|
5
|
-
getDateFromMJD,
|
|
6
|
-
getMJD2000,
|
|
7
|
-
getDateFromMJD2000,
|
|
8
|
-
} = require('../src/index');
|
|
9
|
-
|
|
10
|
-
test('getJulianDate', () => {
|
|
11
|
-
date = new Date('2024-01-01T00:00:00Z');
|
|
12
|
-
const julian_date = getJulianDate(date);
|
|
13
|
-
expect(julian_date).toBeCloseTo(2460310.5002199076, 5);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test('getDateFromJulianDate', () => {
|
|
17
|
-
date = getDateFromJulianDate(2460310.5002199076);
|
|
18
|
-
expect(date.toISOString()).toBe('2024-01-01T00:00:00.000Z');
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
test('getMJD', () => {
|
|
22
|
-
date = new Date('2024-01-01T00:00:00Z');
|
|
23
|
-
const mjd = getMJD(date);
|
|
24
|
-
expect(mjd).toBeCloseTo(60310.00021990741, 5);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test('getDateFromMJD', () => {
|
|
28
|
-
date = getDateFromMJD(60310.00021990761);
|
|
29
|
-
expect(date.toISOString()).toBe('2024-01-01T00:00:00.000Z');
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test('getMJD2000', () => {
|
|
33
|
-
date = new Date('2024-01-01T00:00:00Z');
|
|
34
|
-
const mjd = getMJD2000(date);
|
|
35
|
-
expect(mjd).toBeCloseTo(8765.500219907612, 5);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
test('getDateFromMJD2000', () => {
|
|
39
|
-
date = getDateFromMJD2000(8765.500219907612);
|
|
40
|
-
expect(date.toISOString()).toBe('2024-01-01T00:00:00.000Z');
|
|
41
|
-
});
|
package/test/rinex.test.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const { getRINEX, getDateFromRINEX } = require('../src/index');
|
|
2
|
-
|
|
3
|
-
test('getRINEX', () => {
|
|
4
|
-
const rinex = getRINEX(new Date('1980-01-06T00:00:00Z'));
|
|
5
|
-
expect(rinex).toBe('> 1980 01 06 00 00 00.0000000');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
test('getDateFromRINEX', () => {
|
|
9
|
-
const date = getDateFromRINEX('> 1980 01 06 00 00 00.0000000');
|
|
10
|
-
expect(date.getTime()).toBe(new Date('1980-01-06T00:00:00Z').getTime());
|
|
11
|
-
});
|
package/test/utc.test.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const {
|
|
2
|
-
getLeap,
|
|
3
|
-
getGpsLeap,
|
|
4
|
-
getUtcDate,
|
|
5
|
-
getDateFromUtc,
|
|
6
|
-
} = require('../src/index');
|
|
7
|
-
|
|
8
|
-
test('getLeap', () => {
|
|
9
|
-
const gps_date = new Date('2017-01-01T00:00:31Z');
|
|
10
|
-
const leap_seconds = getLeap(gps_date);
|
|
11
|
-
expect(leap_seconds).toBe(37);
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
test('getLeap', () => {
|
|
15
|
-
const gps_date = new Date('2017-01-01T00:00:31Z');
|
|
16
|
-
const leap_seconds = getGpsLeap(gps_date);
|
|
17
|
-
expect(leap_seconds).toBe(18);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
test('getUtcDate', () => {
|
|
21
|
-
const gps_date = new Date('2017-01-01T00:00:31Z');
|
|
22
|
-
const utc_date = getUtcDate(gps_date);
|
|
23
|
-
expect(utc_date.toISOString()).toBe('2017-01-01T00:00:13.000Z');
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
test('getDateFromUtc', () => {
|
|
27
|
-
const utc_date = new Date('2017-01-01T00:00:01.000Z');
|
|
28
|
-
const gps_date = getDateFromUtc(utc_date);
|
|
29
|
-
expect(gps_date.toISOString()).toBe('2017-01-01T00:00:19.000Z');
|
|
30
|
-
});
|