gnss-js 0.1.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +171 -5
  3. package/dist/analysis.cjs +1488 -0
  4. package/dist/analysis.d.cts +211 -0
  5. package/dist/analysis.d.ts +211 -0
  6. package/dist/analysis.js +14 -0
  7. package/dist/antex.cjs +239 -0
  8. package/dist/antex.d.cts +77 -0
  9. package/dist/antex.d.ts +77 -0
  10. package/dist/antex.js +8 -0
  11. package/dist/chunk-37QNKGTC.js +65 -0
  12. package/dist/chunk-4YN353Q7.js +440 -0
  13. package/dist/chunk-5CMSYIYM.js +214 -0
  14. package/dist/chunk-5S5MONFK.js +0 -0
  15. package/dist/chunk-6FAL6P4G.js +12 -0
  16. package/dist/chunk-7NOFXKET.js +433 -0
  17. package/dist/chunk-BJHTBYNG.js +154 -0
  18. package/dist/chunk-HBLU2EJ4.js +802 -0
  19. package/dist/chunk-HKN3PUGN.js +800 -0
  20. package/dist/chunk-LEEU5OIO.js +75 -0
  21. package/dist/chunk-LWNTWBHB.js +268 -0
  22. package/dist/chunk-MIIM4LDY.js +239 -0
  23. package/dist/chunk-SO3POWWR.js +502 -0
  24. package/dist/chunk-W4YMQKWH.js +622 -0
  25. package/dist/chunk-WP2JFDLA.js +1475 -0
  26. package/dist/chunk-YDMYO3YK.js +220 -0
  27. package/dist/constants.cjs +423 -0
  28. package/dist/constants.d.cts +14 -0
  29. package/dist/constants.d.ts +14 -0
  30. package/dist/constants.js +103 -0
  31. package/dist/coordinates.cjs +337 -0
  32. package/dist/coordinates.d.cts +81 -0
  33. package/dist/coordinates.d.ts +81 -0
  34. package/dist/coordinates.js +39 -0
  35. package/dist/ecef-CF0uAysr.d.cts +40 -0
  36. package/dist/ecef-CF0uAysr.d.ts +40 -0
  37. package/dist/ephemeris-C10stHhM.d.cts +114 -0
  38. package/dist/ephemeris-C10stHhM.d.ts +114 -0
  39. package/dist/gnss-BT6ulR17.d.cts +56 -0
  40. package/dist/gnss-C-tgoYNa.d.ts +56 -0
  41. package/dist/index.cjs +5940 -78
  42. package/dist/index.d.cts +17 -96
  43. package/dist/index.d.ts +17 -96
  44. package/dist/index.js +352 -415
  45. package/dist/nav-BAI1a9vK.d.cts +108 -0
  46. package/dist/nav-BAI1a9vK.d.ts +108 -0
  47. package/dist/nmea.cjs +247 -0
  48. package/dist/nmea.d.cts +37 -0
  49. package/dist/nmea.d.ts +37 -0
  50. package/dist/nmea.js +12 -0
  51. package/dist/ntrip.cjs +180 -0
  52. package/dist/ntrip.d.cts +98 -0
  53. package/dist/ntrip.d.ts +98 -0
  54. package/dist/ntrip.js +10 -0
  55. package/dist/orbit.cjs +511 -0
  56. package/dist/orbit.d.cts +117 -0
  57. package/dist/orbit.d.ts +117 -0
  58. package/dist/orbit.js +29 -0
  59. package/dist/parser-JPjjFgeP.d.cts +73 -0
  60. package/dist/parser-JPjjFgeP.d.ts +73 -0
  61. package/dist/rinex.cjs +1469 -0
  62. package/dist/rinex.d.cts +116 -0
  63. package/dist/rinex.d.ts +116 -0
  64. package/dist/rinex.js +37 -0
  65. package/dist/rtcm3.cjs +1512 -0
  66. package/dist/rtcm3.d.cts +143 -0
  67. package/dist/rtcm3.d.ts +143 -0
  68. package/dist/rtcm3.js +31 -0
  69. package/dist/signals.cjs +858 -0
  70. package/dist/signals.d.cts +93 -0
  71. package/dist/signals.d.ts +93 -0
  72. package/dist/signals.js +70 -0
  73. package/dist/time-DnI1VpE8.d.cts +33 -0
  74. package/dist/time-DnI1VpE8.d.ts +33 -0
  75. package/dist/time.cjs +585 -0
  76. package/dist/time.d.cts +307 -0
  77. package/dist/time.d.ts +307 -0
  78. package/dist/time.js +154 -0
  79. package/package.json +112 -14
  80. package/.prettierrc +0 -5
  81. package/jest.config.ts +0 -9
  82. package/test/functions.test.ts +0 -63
  83. package/test/gnss-scales.test.ts +0 -95
  84. package/test/julian.test.ts +0 -145
  85. package/test/rinex.test.ts +0 -11
  86. package/test/test.ts +0 -10
  87. package/test/utc.test.ts +0 -25
package/dist/time.js ADDED
@@ -0,0 +1,154 @@
1
+ import {
2
+ Scale,
3
+ getBdsTime,
4
+ getDateFromBdsTime,
5
+ getDateFromDayOfWeek,
6
+ getDateFromDayOfYear,
7
+ getDateFromGalTime,
8
+ getDateFromGloN,
9
+ getDateFromGpsData,
10
+ getDateFromGpsTime,
11
+ getDateFromHourCode,
12
+ getDateFromJulianDate,
13
+ getDateFromMJD,
14
+ getDateFromMJD2000,
15
+ getDateFromRINEX,
16
+ getDateFromTai,
17
+ getDateFromTimeOfDay,
18
+ getDateFromTt,
19
+ getDateFromUnixTime,
20
+ getDateFromUtc,
21
+ getDayOfWeek,
22
+ getDayOfYear,
23
+ getGalTime,
24
+ getGloN4,
25
+ getGloNA,
26
+ getGpsLeap,
27
+ getGpsTime,
28
+ getHourCode,
29
+ getHoursFromTimeDifference,
30
+ getJulianDate,
31
+ getLeap,
32
+ getMJD,
33
+ getMJD2000,
34
+ getMinutesFromTimeDifference,
35
+ getNtpTime,
36
+ getRINEX,
37
+ getSecondsFromTimeDifference,
38
+ getTaiDate,
39
+ getTimeDifference,
40
+ getTimeDifferenceFromDays,
41
+ getTimeDifferenceFromHours,
42
+ getTimeDifferenceFromMinutes,
43
+ getTimeDifferenceFromObject,
44
+ getTimeDifferenceFromSeconds,
45
+ getTimeOfDay,
46
+ getTimeOfWeek,
47
+ getTotalDaysFromTimeDifference,
48
+ getTtDate,
49
+ getUnixTime,
50
+ getUtcDate,
51
+ getWeekNumber,
52
+ getWeekOfYear
53
+ } from "./chunk-7NOFXKET.js";
54
+ import {
55
+ DAYS_MJD2000_MJD,
56
+ DAYS_MJD_JULIAN,
57
+ MILLISECONDS_GPS_TAI,
58
+ MILLISECONDS_IN_DAY,
59
+ MILLISECONDS_IN_HOUR,
60
+ MILLISECONDS_IN_MINUTE,
61
+ MILLISECONDS_IN_SECOND,
62
+ MILLISECONDS_IN_WEEK,
63
+ MILLISECONDS_TT_TAI,
64
+ RINEX_CODES,
65
+ SECONDS_IN_DAY,
66
+ SECONDS_IN_HOUR,
67
+ SECONDS_IN_MINUTE,
68
+ SECONDS_IN_WEEK,
69
+ START_BDS_TIME,
70
+ START_GAL_TIME,
71
+ START_GLO_LEAP,
72
+ START_GPS_TIME,
73
+ START_JULIAN_TAI,
74
+ START_MJD_UNIX_SECONDS,
75
+ START_NTP_TIME,
76
+ START_TAI_TIME,
77
+ START_UNIX_TIME
78
+ } from "./chunk-LEEU5OIO.js";
79
+ export {
80
+ DAYS_MJD2000_MJD,
81
+ DAYS_MJD_JULIAN,
82
+ MILLISECONDS_GPS_TAI,
83
+ MILLISECONDS_IN_DAY,
84
+ MILLISECONDS_IN_HOUR,
85
+ MILLISECONDS_IN_MINUTE,
86
+ MILLISECONDS_IN_SECOND,
87
+ MILLISECONDS_IN_WEEK,
88
+ MILLISECONDS_TT_TAI,
89
+ RINEX_CODES,
90
+ SECONDS_IN_DAY,
91
+ SECONDS_IN_HOUR,
92
+ SECONDS_IN_MINUTE,
93
+ SECONDS_IN_WEEK,
94
+ START_BDS_TIME,
95
+ START_GAL_TIME,
96
+ START_GLO_LEAP,
97
+ START_GPS_TIME,
98
+ START_JULIAN_TAI,
99
+ START_MJD_UNIX_SECONDS,
100
+ START_NTP_TIME,
101
+ START_TAI_TIME,
102
+ START_UNIX_TIME,
103
+ Scale,
104
+ getBdsTime,
105
+ getDateFromBdsTime,
106
+ getDateFromDayOfWeek,
107
+ getDateFromDayOfYear,
108
+ getDateFromGalTime,
109
+ getDateFromGloN,
110
+ getDateFromGpsData,
111
+ getDateFromGpsTime,
112
+ getDateFromHourCode,
113
+ getDateFromJulianDate,
114
+ getDateFromMJD,
115
+ getDateFromMJD2000,
116
+ getDateFromRINEX,
117
+ getDateFromTai,
118
+ getDateFromTimeOfDay,
119
+ getDateFromTt,
120
+ getDateFromUnixTime,
121
+ getDateFromUtc,
122
+ getDayOfWeek,
123
+ getDayOfYear,
124
+ getGalTime,
125
+ getGloN4,
126
+ getGloNA,
127
+ getGpsLeap,
128
+ getGpsTime,
129
+ getHourCode,
130
+ getHoursFromTimeDifference,
131
+ getJulianDate,
132
+ getLeap,
133
+ getMJD,
134
+ getMJD2000,
135
+ getMinutesFromTimeDifference,
136
+ getNtpTime,
137
+ getRINEX,
138
+ getSecondsFromTimeDifference,
139
+ getTaiDate,
140
+ getTimeDifference,
141
+ getTimeDifferenceFromDays,
142
+ getTimeDifferenceFromHours,
143
+ getTimeDifferenceFromMinutes,
144
+ getTimeDifferenceFromObject,
145
+ getTimeDifferenceFromSeconds,
146
+ getTimeOfDay,
147
+ getTimeOfWeek,
148
+ getTotalDaysFromTimeDifference,
149
+ getTtDate,
150
+ getUnixTime,
151
+ getUtcDate,
152
+ getWeekNumber,
153
+ getWeekOfYear
154
+ };
package/package.json CHANGED
@@ -1,30 +1,128 @@
1
1
  {
2
2
  "name": "gnss-js",
3
- "version": "0.1.2",
4
- "description": "Tool to peform GNSS-related computations",
5
- "main": "./dist/index.js",
6
- "module": "./dist/index.mjs",
7
- "types": "./dist/index.d.ts",
3
+ "version": "1.0.1",
4
+ "description": "Comprehensive GNSS library for JavaScript — time scales, coordinates, RINEX parsing, RTCM3 decoding, orbit computation, and signal analysis",
8
5
  "type": "module",
6
+ "sideEffects": false,
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.cjs"
12
+ },
13
+ "./time": {
14
+ "types": "./dist/time.d.ts",
15
+ "import": "./dist/time.js",
16
+ "require": "./dist/time.cjs"
17
+ },
18
+ "./coordinates": {
19
+ "types": "./dist/coordinates.d.ts",
20
+ "import": "./dist/coordinates.js",
21
+ "require": "./dist/coordinates.cjs"
22
+ },
23
+ "./constants": {
24
+ "types": "./dist/constants.d.ts",
25
+ "import": "./dist/constants.js",
26
+ "require": "./dist/constants.cjs"
27
+ },
28
+ "./rinex": {
29
+ "types": "./dist/rinex.d.ts",
30
+ "import": "./dist/rinex.js",
31
+ "require": "./dist/rinex.cjs"
32
+ },
33
+ "./rtcm3": {
34
+ "types": "./dist/rtcm3.d.ts",
35
+ "import": "./dist/rtcm3.js",
36
+ "require": "./dist/rtcm3.cjs"
37
+ },
38
+ "./orbit": {
39
+ "types": "./dist/orbit.d.ts",
40
+ "import": "./dist/orbit.js",
41
+ "require": "./dist/orbit.cjs"
42
+ },
43
+ "./ntrip": {
44
+ "types": "./dist/ntrip.d.ts",
45
+ "import": "./dist/ntrip.js",
46
+ "require": "./dist/ntrip.cjs"
47
+ },
48
+ "./analysis": {
49
+ "types": "./dist/analysis.d.ts",
50
+ "import": "./dist/analysis.js",
51
+ "require": "./dist/analysis.cjs"
52
+ },
53
+ "./antex": {
54
+ "types": "./dist/antex.d.ts",
55
+ "import": "./dist/antex.js",
56
+ "require": "./dist/antex.cjs"
57
+ },
58
+ "./nmea": {
59
+ "types": "./dist/nmea.d.ts",
60
+ "import": "./dist/nmea.js",
61
+ "require": "./dist/nmea.cjs"
62
+ },
63
+ "./signals": {
64
+ "types": "./dist/signals.d.ts",
65
+ "import": "./dist/signals.js",
66
+ "require": "./dist/signals.cjs"
67
+ }
68
+ },
69
+ "main": "./dist/index.cjs",
70
+ "module": "./dist/index.js",
71
+ "types": "./dist/index.d.ts",
72
+ "files": [
73
+ "dist"
74
+ ],
9
75
  "scripts": {
10
76
  "build": "tsup",
11
- "test": "jest",
12
- "format": "prettier --write ."
77
+ "test": "vitest run",
78
+ "lint": "eslint .",
79
+ "format": "prettier --write .",
80
+ "prepare": "husky"
13
81
  },
14
82
  "keywords": [
15
83
  "gnss",
16
- "gps"
84
+ "gps",
85
+ "galileo",
86
+ "glonass",
87
+ "beidou",
88
+ "qzss",
89
+ "rinex",
90
+ "rtcm3",
91
+ "ntrip",
92
+ "coordinates",
93
+ "geodesy",
94
+ "satellite",
95
+ "navigation",
96
+ "positioning"
17
97
  ],
18
98
  "author": "Miguel González <work@miguel.es>",
19
- "license": "ISC",
99
+ "license": "AGPL-3.0-only",
100
+ "repository": {
101
+ "type": "git",
102
+ "url": "https://github.com/MiguelPuntoEs/gnss-js"
103
+ },
104
+ "homepage": "https://github.com/MiguelPuntoEs/gnss-js#readme",
105
+ "bugs": {
106
+ "url": "https://github.com/MiguelPuntoEs/gnss-js/issues"
107
+ },
20
108
  "devDependencies": {
21
- "@types/jest": "^29.5.14",
109
+ "@eslint/js": "^10.0.1",
22
110
  "@types/node": "^20.11.17",
23
- "jest": "^29.7.0",
111
+ "eslint": "^10.1.0",
112
+ "eslint-plugin-unused-imports": "^4.4.1",
113
+ "husky": "^9.1.7",
114
+ "lint-staged": "^16.4.0",
24
115
  "prettier": "^3.5.3",
25
- "ts-jest": "^29.3.2",
26
- "ts-node": "^10.9.2",
27
116
  "tsup": "^8.0.2",
28
- "typescript": "^5.8.3"
117
+ "typescript": "^5.8.3",
118
+ "typescript-eslint": "^8.57.2",
119
+ "vitest": "^4.0.0"
120
+ },
121
+ "lint-staged": {
122
+ "*.{ts,js}": [
123
+ "eslint --fix",
124
+ "prettier --write"
125
+ ],
126
+ "*.{json,md}": "prettier --write"
29
127
  }
30
128
  }
package/.prettierrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "semi": true,
3
- "singleQuote": true,
4
- "trailingComma": "es5"
5
- }
package/jest.config.ts DELETED
@@ -1,9 +0,0 @@
1
- import type { Config } from 'jest';
2
-
3
- const config: Config = {
4
- preset: 'ts-jest',
5
- testEnvironment: 'node',
6
- testMatch: ['**/test/**/*.test.ts'],
7
- };
8
-
9
- export default config;
@@ -1,63 +0,0 @@
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,95 +0,0 @@
1
- import {
2
- getGpsTime,
3
- getDateFromGpsTime,
4
- getGalTime,
5
- getDateFromGalTime,
6
- getBdsTime,
7
- getDateFromBdsTime,
8
- getUnixTime,
9
- getDateFromUnixTime,
10
- getTaiDate,
11
- getTtDate,
12
- getDateFromTai,
13
- getDateFromTt,
14
- getWeekNumber,
15
- getDateFromGpsData,
16
- } from '../src/index';
17
-
18
- test('getGpsTime', () => {
19
- const gps_time: number = getGpsTime(new Date('1980-01-06T00:00:00Z'));
20
- expect(gps_time).toBe(0);
21
- });
22
-
23
- test('getDateFromGpsTime', () => {
24
- const date: Date = getDateFromGpsTime(0);
25
- expect(date.getTime()).toBe(new Date('1980-01-06T00:00:00Z').getTime());
26
- });
27
-
28
- test('getWeekNumber', () => {
29
- const week_no: number = getWeekNumber(new Date('1980-01-06T00:00:00Z'));
30
- expect(week_no).toBe(0);
31
- });
32
-
33
- test('getTimeOfWeek', () => {
34
- const tow: number = getWeekNumber(new Date('1980-01-06T00:00:00Z'));
35
- expect(tow).toBe(0);
36
- });
37
-
38
- test('getDateFromGpsData', () => {
39
- const date: Date = getDateFromGpsData(0, 0);
40
- expect(date.getTime()).toBe(new Date('1980-01-06T00:00:00Z').getTime());
41
- });
42
-
43
- test('getGalTime', () => {
44
- const gal_time: number = getGalTime(new Date('1999-08-22T00:00:00Z'));
45
- expect(gal_time).toBe(0);
46
- });
47
-
48
- test('getDateFromGalTime', () => {
49
- const date: Date = getDateFromGalTime(0);
50
- expect(date.getTime()).toBe(new Date('1999-08-22T00:00:00Z').getTime());
51
- });
52
-
53
- test('getBdsTime', () => {
54
- const bds_time: number = getBdsTime(new Date('2006-01-01T00:00:13Z'));
55
- expect(bds_time).toBe(0);
56
- });
57
-
58
- test('getDateFromBdsTime', () => {
59
- const date: Date = getDateFromBdsTime(0);
60
- expect(date.getTime()).toBe(new Date('2006-01-01T00:00:13Z').getTime());
61
- });
62
-
63
- test('getUnixTime', () => {
64
- const unix_time = getUnixTime(new Date('2025-01-01T00:00:18Z'));
65
- expect(unix_time).toBe(1735689600000);
66
- });
67
-
68
- test('getDateFromUnixTime', () => {
69
- const date: Date = getDateFromUnixTime(0);
70
- expect(date.toISOString()).toBe('1969-12-31T23:59:49.000Z');
71
- });
72
-
73
- test('getTaiDate', () => {
74
- const date: Date = getDateFromGpsTime(0);
75
- const tai_date: Date = getTaiDate(date);
76
- expect(tai_date.getTime()).toBe(new Date('1980-01-06T00:00:19Z').getTime());
77
- });
78
-
79
- test('getDateFromTai', () => {
80
- const date: Date = getDateFromTai(new Date('1980-01-06T00:00:19Z'));
81
- expect(getGpsTime(date)).toBe(0);
82
- });
83
-
84
- test('getTtDate', () => {
85
- const date: Date = getDateFromGpsTime(0);
86
- const tt_date: Date = getTtDate(date);
87
- expect(tt_date.getTime()).toBe(
88
- new Date('1980-01-06T00:00:51.184Z').getTime()
89
- );
90
- });
91
-
92
- test('getDateFromTt', () => {
93
- const date: Date = getDateFromTt(new Date('1980-01-06T00:00:51.184Z'));
94
- expect(getGpsTime(date)).toBe(0);
95
- });
@@ -1,145 +0,0 @@
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
- });
@@ -1,11 +0,0 @@
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.ts DELETED
@@ -1,10 +0,0 @@
1
- // To run: npx ts-node test/test.ts
2
-
3
- import { getTaiDate, getDateFromUtc } from '../src/index';
4
-
5
- const utc_date = new Date('2017-01-01T00:00:01.000Z');
6
- const gps_date = getDateFromUtc(utc_date);
7
-
8
- console.log('TAI Date:', getTaiDate(gps_date).toISOString());
9
- console.log('UTC Date:', utc_date.toISOString());
10
- console.log('GPS Date:', gps_date.toISOString());
package/test/utc.test.ts DELETED
@@ -1,25 +0,0 @@
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
- });