@accelint/geo 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +3 -0
  2. package/dist/cartesian.d.ts +21 -0
  3. package/dist/cartesian.js +11 -0
  4. package/dist/cartesian.js.map +1 -0
  5. package/dist/coordinates/coordinate.d.ts +72 -0
  6. package/dist/coordinates/coordinate.js +87 -0
  7. package/dist/coordinates/coordinate.js.map +1 -0
  8. package/dist/coordinates/latlon/decimal-degrees/parser.d.ts +8 -0
  9. package/dist/coordinates/latlon/decimal-degrees/parser.js +77 -0
  10. package/dist/coordinates/latlon/decimal-degrees/parser.js.map +1 -0
  11. package/dist/coordinates/latlon/decimal-degrees/system.d.ts +8 -0
  12. package/dist/coordinates/latlon/decimal-degrees/system.js +21 -0
  13. package/dist/coordinates/latlon/decimal-degrees/system.js.map +1 -0
  14. package/dist/coordinates/latlon/degrees-decimal-minutes/parser.d.ts +8 -0
  15. package/dist/coordinates/latlon/degrees-decimal-minutes/parser.js +86 -0
  16. package/dist/coordinates/latlon/degrees-decimal-minutes/parser.js.map +1 -0
  17. package/dist/coordinates/latlon/degrees-decimal-minutes/system.d.ts +8 -0
  18. package/dist/coordinates/latlon/degrees-decimal-minutes/system.js +26 -0
  19. package/dist/coordinates/latlon/degrees-decimal-minutes/system.js.map +1 -0
  20. package/dist/coordinates/latlon/degrees-minutes-seconds/parser.d.ts +8 -0
  21. package/dist/coordinates/latlon/degrees-minutes-seconds/parser.js +85 -0
  22. package/dist/coordinates/latlon/degrees-minutes-seconds/parser.js.map +1 -0
  23. package/dist/coordinates/latlon/degrees-minutes-seconds/system.d.ts +8 -0
  24. package/dist/coordinates/latlon/degrees-minutes-seconds/system.js +28 -0
  25. package/dist/coordinates/latlon/degrees-minutes-seconds/system.js.map +1 -0
  26. package/dist/coordinates/latlon/internal/coordinate-system.d.ts +12 -0
  27. package/dist/coordinates/latlon/internal/coordinate-system.js +3 -0
  28. package/dist/coordinates/latlon/internal/coordinate-system.js.map +1 -0
  29. package/dist/coordinates/latlon/internal/create-cache.d.ts +12 -0
  30. package/dist/coordinates/latlon/internal/create-cache.js +15 -0
  31. package/dist/coordinates/latlon/internal/create-cache.js.map +1 -0
  32. package/dist/coordinates/latlon/internal/exhaustive-errors.d.ts +9 -0
  33. package/dist/coordinates/latlon/internal/exhaustive-errors.js +72 -0
  34. package/dist/coordinates/latlon/internal/exhaustive-errors.js.map +1 -0
  35. package/dist/coordinates/latlon/internal/in-range.d.ts +7 -0
  36. package/dist/coordinates/latlon/internal/in-range.js +14 -0
  37. package/dist/coordinates/latlon/internal/in-range.js.map +1 -0
  38. package/dist/coordinates/latlon/internal/index.d.ts +59 -0
  39. package/dist/coordinates/latlon/internal/index.js +117 -0
  40. package/dist/coordinates/latlon/internal/index.js.map +1 -0
  41. package/dist/coordinates/latlon/internal/lexer.d.ts +20 -0
  42. package/dist/coordinates/latlon/internal/lexer.js +46 -0
  43. package/dist/coordinates/latlon/internal/lexer.js.map +1 -0
  44. package/dist/coordinates/latlon/internal/parse-format.d.ts +15 -0
  45. package/dist/coordinates/latlon/internal/parse-format.js +63 -0
  46. package/dist/coordinates/latlon/internal/parse-format.js.map +1 -0
  47. package/dist/coordinates/latlon/internal/parse.d.ts +41 -0
  48. package/dist/coordinates/latlon/internal/parse.js +16 -0
  49. package/dist/coordinates/latlon/internal/parse.js.map +1 -0
  50. package/dist/coordinates/latlon/internal/pipes/check-ambiguous.d.ts +10 -0
  51. package/dist/coordinates/latlon/internal/pipes/check-ambiguous.js +23 -0
  52. package/dist/coordinates/latlon/internal/pipes/check-ambiguous.js.map +1 -0
  53. package/dist/coordinates/latlon/internal/pipes/check-numbers.d.ts +8 -0
  54. package/dist/coordinates/latlon/internal/pipes/check-numbers.js +35 -0
  55. package/dist/coordinates/latlon/internal/pipes/check-numbers.js.map +1 -0
  56. package/dist/coordinates/latlon/internal/pipes/fix-bearings.d.ts +12 -0
  57. package/dist/coordinates/latlon/internal/pipes/fix-bearings.js +68 -0
  58. package/dist/coordinates/latlon/internal/pipes/fix-bearings.js.map +1 -0
  59. package/dist/coordinates/latlon/internal/pipes/fix-dividers.d.ts +15 -0
  60. package/dist/coordinates/latlon/internal/pipes/fix-dividers.js +34 -0
  61. package/dist/coordinates/latlon/internal/pipes/fix-dividers.js.map +1 -0
  62. package/dist/coordinates/latlon/internal/pipes/genome.d.ts +9 -0
  63. package/dist/coordinates/latlon/internal/pipes/genome.js +37 -0
  64. package/dist/coordinates/latlon/internal/pipes/genome.js.map +1 -0
  65. package/dist/coordinates/latlon/internal/pipes/index.d.ts +24 -0
  66. package/dist/coordinates/latlon/internal/pipes/index.js +46 -0
  67. package/dist/coordinates/latlon/internal/pipes/index.js.map +1 -0
  68. package/dist/coordinates/latlon/internal/pipes/simpler.d.ts +15 -0
  69. package/dist/coordinates/latlon/internal/pipes/simpler.js +6 -0
  70. package/dist/coordinates/latlon/internal/pipes/simpler.js.map +1 -0
  71. package/dist/coordinates/latlon/internal/violation.d.ts +3 -0
  72. package/dist/coordinates/latlon/internal/violation.js +6 -0
  73. package/dist/coordinates/latlon/internal/violation.js.map +1 -0
  74. package/dist/coordinates/mgrs/parser.d.ts +7 -0
  75. package/dist/coordinates/mgrs/parser.js +45 -0
  76. package/dist/coordinates/mgrs/parser.js.map +1 -0
  77. package/dist/coordinates/mgrs/system.d.ts +8 -0
  78. package/dist/coordinates/mgrs/system.js +25 -0
  79. package/dist/coordinates/mgrs/system.js.map +1 -0
  80. package/dist/coordinates/utm/parser.d.ts +7 -0
  81. package/dist/coordinates/utm/parser.js +38 -0
  82. package/dist/coordinates/utm/parser.js.map +1 -0
  83. package/dist/coordinates/utm/system.d.ts +8 -0
  84. package/dist/coordinates/utm/system.js +25 -0
  85. package/dist/coordinates/utm/system.js.map +1 -0
  86. package/dist/index.d.ts +10 -5
  87. package/dist/index.js +7 -5
  88. package/dist/index.js.map +1 -1
  89. package/dist/patterning.d.ts +63 -0
  90. package/dist/patterning.js +16 -0
  91. package/dist/patterning.js.map +1 -0
  92. package/package.json +17 -11
  93. package/dist/coordinates/configurations.d.ts +0 -6
  94. package/dist/coordinates/configurations.js +0 -15
  95. package/dist/coordinates/configurations.js.map +0 -1
  96. package/dist/coordinates/index.d.ts +0 -11
  97. package/dist/coordinates/index.js +0 -23
  98. package/dist/coordinates/index.js.map +0 -1
  99. package/dist/coordinates/match.d.ts +0 -34
  100. package/dist/coordinates/match.js +0 -35
  101. package/dist/coordinates/match.js.map +0 -1
  102. package/dist/coordinates/normalize.d.ts +0 -1
  103. package/dist/coordinates/normalize.js +0 -28
  104. package/dist/coordinates/normalize.js.map +0 -1
  105. package/dist/coordinates/regex.d.ts +0 -126
  106. package/dist/coordinates/regex.js +0 -142
  107. package/dist/coordinates/regex.js.map +0 -1
  108. package/dist/coordinates/utils.d.ts +0 -5
  109. package/dist/coordinates/utils.js +0 -27
  110. package/dist/coordinates/utils.js.map +0 -1
@@ -1,142 +0,0 @@
1
- // __private-exports
2
- /*
3
- * Copyright 2024 Hypergiant Galactic Systems Inc. All rights reserved.
4
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License. You may obtain a copy
6
- * of the License at https://www.apache.org/licenses/LICENSE-2.0
7
- *
8
- * Unless required by applicable law or agreed to in writing, software distributed under
9
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
10
- * OF ANY KIND, either express or implied. See the License for the specific language
11
- * governing permissions and limitations under the License.
12
- */
13
- // biome-ignore lint/style/noUnusedTemplateLiteral: makes it easier for future modifications
14
- export const SEPARATORS = `[\\s,\\/]*`;
15
- /**
16
- * @see https://en.wikipedia.org/wiki/ISO_6709
17
- *
18
- * Matches common DD format for longitude values.
19
- *
20
- * NSEW ± DDD.D NSEW
21
- *
22
- * Five capture groups:
23
- * 1. Optional NSEW
24
- * 2. Optional +-
25
- * 3. Degrees
26
- * 4. Optional Decimals
27
- * 5. Optional NSEW
28
- *
29
- * @example
30
- * ```markdown
31
- * 75
32
- * 75.00417
33
- * 075.00417
34
- * -075.00417
35
- * - 075.00417
36
- * W075.00417
37
- * 075.00417W
38
- * W 075.00417
39
- * 075.00417 W
40
- * ```
41
- */
42
- // biome-ignore lint/style/noUnusedTemplateLiteral: makes it easier for future modifications
43
- export const DD_LON = `([NSEW]?)[\\s]*([-+]?)[\\s]*(\\d{1,3})(\\.\\d*)?[\\s°]*([NSEW]?)`;
44
- /**
45
- * @see https://en.wikipedia.org/wiki/ISO_6709
46
- *
47
- * Matches common DD format for latitude values.
48
- *
49
- * NSEW ± DD.D NSEW
50
- *
51
- * Five capture groups:
52
- * 1. Optional NSEW
53
- * 2. Optional +-
54
- * 3. Degrees
55
- * 4. Optional Decimals
56
- * 5. Optional NSEW
57
- *
58
- * @example
59
- * ```markdown
60
- * 40
61
- * 40.20361
62
- * +40.20361
63
- * + 40.20361
64
- * N40.20361
65
- * 40.20361N
66
- * N 40.20361
67
- * 40.20361 N
68
- * ```
69
- */
70
- // biome-ignore lint/style/noUnusedTemplateLiteral: makes it easier for future modifications
71
- export const DD_LAT = `([NSEW]?)[\\s]*([-+]?)[\\s]*(\\d{1,2})(\\.\\d*)?[\\s°]*([NSEW]?)`;
72
- /**
73
- * @see https://en.wikipedia.org/wiki/ISO_6709
74
- *
75
- * Matches common DMS format for longitude values.
76
- *
77
- * Supported delimiters are comma, colon, space, degree, single quote, double quote, and forward slash.
78
- *
79
- * NSEW ± DDD DD DD .D|DDD NSEW
80
- *
81
- * Seven capture groups:
82
- * 1. Optional NSEW
83
- * 2. Optional +-
84
- * 3. Degrees
85
- * 4. Minutes
86
- * 5. Seconds
87
- * 6. Optional decimal seconds or milliarcseconds
88
- * 7. Optional NSEW
89
- *
90
- * @example
91
- * ```markdown
92
- * 403456.45
93
- * 40 34 56.45
94
- * 40/34/56.45
95
- * 40:34:56.45
96
- * 40°34'56.45
97
- * 403456
98
- * 40°34'56"
99
- * +403456.45
100
- * W403456.45
101
- * 403456.45W
102
- * W 40 34 56.45
103
- * 40 34 56.45 W
104
- * ```
105
- */
106
- export const DMS_LON = `([NSEW]?)[\\s]*([-+]?)[\\s]*(\\d{1,3})[\\s,:°'′"″\\/]*(\\d{2})[\\s,:°'′"″\\/]*(\\d{2})[\\s,:°'′"″\\/]*(\\.\\d*|\\d{3})?[\\s,:°'′"″\\/]*([NSEW]?)`;
107
- /**
108
- * @see https://en.wikipedia.org/wiki/ISO_6709
109
- *
110
- * Matches common DMS format for latitude values.
111
- *
112
- * Supported delimiters are comma, colon, space, degree, single quote, double quote, and forward slash.
113
- *
114
- * NSEW ± DD DD DD .D|DDD NSEW
115
- *
116
- * Seven capture groups:
117
- * 1. Optional NSEW
118
- * 2. Optional +-
119
- * 3. Degrees
120
- * 4. Minutes
121
- * 5. Seconds
122
- * 6. Optional decimal seconds or milliarcseconds
123
- * 7. Optional NSEW
124
- *
125
- * @example
126
- * ```markdown
127
- * 403456.45
128
- * 40 34 56.45
129
- * 40/34/56.45
130
- * 40:34:56.45
131
- * 40°34'56.45
132
- * 403456
133
- * 40°34'56"
134
- * +403456.45
135
- * N403456.45
136
- * 403456.45N
137
- * N 40 34 56.45
138
- * 40 34 56.45 N
139
- * ```
140
- */
141
- export const DMS_LAT = `([NSEW]?)[\\s]*([-+]?)[\\s]*(\\d{1,2})[\\s,:°'′"″\\/]*(\\d{2})[\\s,:°'′"″\\/]*(\\d{2})[\\s,:°'′"″\\/]*(\\.\\d*|\\d{3})?[\\s,:°'′"″\\/]*([NSEW]?)`;
142
- //# sourceMappingURL=regex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex.js","sourceRoot":"","sources":["../../src/coordinates/regex.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAEpB;;;;;;;;;;GAUG;AAEH,4FAA4F;AAC5F,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,4FAA4F;AAC5F,MAAM,CAAC,MAAM,MAAM,GAAG,kEAAkE,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,4FAA4F;AAC5F,MAAM,CAAC,MAAM,MAAM,GAAG,kEAAkE,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,kJAAkJ,CAAC;AAE1K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,kJAAkJ,CAAC"}
@@ -1,5 +0,0 @@
1
- type Nullish<T> = T | undefined | null | '';
2
- export declare function normalizeDirection(dir: Nullish<string>): 'N' | 'S' | 'E' | 'W' | '';
3
- export declare function negate(val: number): number;
4
- export declare function isPositiveDirection(dir: Nullish<'N' | 'S' | 'E' | 'W'>, sign: Nullish<'+' | '-'>): boolean;
5
- export {};
@@ -1,27 +0,0 @@
1
- // __private-exports
2
- const supportedDirections = ['N', 'S', 'E', 'W'];
3
- export function normalizeDirection(dir) {
4
- if (!dir) {
5
- return '';
6
- }
7
- const val = dir.toUpperCase();
8
- // Sanity check that the we have a correct direction value
9
- if (!supportedDirections.includes(val)) {
10
- return '';
11
- }
12
- return val;
13
- }
14
- export function negate(val) {
15
- return val * -1;
16
- }
17
- export function isPositiveDirection(dir, sign) {
18
- if (sign === '-') {
19
- return false;
20
- }
21
- if (dir === 'S' || dir === 'W') {
22
- return false;
23
- }
24
- // A positive direction can be assumed from here
25
- return true;
26
- }
27
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/coordinates/utils.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAgBpB,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAChC,GAAoB;IAEpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAE9B,0DAA0D;IAC1D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAA4B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAmC,EACnC,IAAwB;IAExB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gDAAgD;IAChD,OAAO,IAAI,CAAC;AACd,CAAC"}