nodes2ts 1.1.9 → 3.0.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 (105) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +11 -0
  3. package/.github/workflows/lint.js.yml +22 -0
  4. package/.github/workflows/node.js.yml +22 -0
  5. package/.mocharc.js +7 -0
  6. package/README.md +22 -5
  7. package/dist/Interval.d.ts +7 -8
  8. package/dist/Interval.js +12 -12
  9. package/dist/Interval.js.map +1 -1
  10. package/dist/MutableInteger.js +5 -4
  11. package/dist/MutableInteger.js.map +1 -1
  12. package/dist/Platform.d.ts +15 -0
  13. package/dist/Platform.js +53 -0
  14. package/dist/Platform.js.map +1 -0
  15. package/dist/R1Interval.d.ts +8 -9
  16. package/dist/R1Interval.js +59 -78
  17. package/dist/R1Interval.js.map +1 -1
  18. package/dist/R2Vector.d.ts +12 -13
  19. package/dist/R2Vector.js +65 -85
  20. package/dist/R2Vector.js.map +1 -1
  21. package/dist/S1Angle.d.ts +38 -5
  22. package/dist/S1Angle.js +89 -37
  23. package/dist/S1Angle.js.map +1 -1
  24. package/dist/S1ChordAngle.d.ts +166 -0
  25. package/dist/S1ChordAngle.js +318 -0
  26. package/dist/S1ChordAngle.js.map +1 -0
  27. package/dist/S1Interval.d.ts +11 -12
  28. package/dist/S1Interval.js +134 -140
  29. package/dist/S1Interval.js.map +1 -1
  30. package/dist/S2.d.ts +8 -5
  31. package/dist/S2.js +91 -108
  32. package/dist/S2.js.map +1 -1
  33. package/dist/S2Cap.d.ts +33 -25
  34. package/dist/S2Cap.js +199 -203
  35. package/dist/S2Cap.js.map +1 -1
  36. package/dist/S2Cell.d.ts +15 -13
  37. package/dist/S2Cell.js +196 -206
  38. package/dist/S2Cell.js.map +1 -1
  39. package/dist/S2CellId.d.ts +37 -14
  40. package/dist/S2CellId.js +407 -359
  41. package/dist/S2CellId.js.map +1 -1
  42. package/dist/S2CellUnion.d.ts +1 -2
  43. package/dist/S2CellUnion.js +137 -133
  44. package/dist/S2CellUnion.js.map +1 -1
  45. package/dist/S2EdgeUtil.js +14 -17
  46. package/dist/S2EdgeUtil.js.map +1 -1
  47. package/dist/S2LatLng.d.ts +15 -11
  48. package/dist/S2LatLng.js +100 -114
  49. package/dist/S2LatLng.js.map +1 -1
  50. package/dist/S2LatLngRect.d.ts +8 -4
  51. package/dist/S2LatLngRect.js +215 -197
  52. package/dist/S2LatLngRect.js.map +1 -1
  53. package/dist/S2Metric.d.ts +4 -5
  54. package/dist/S2Metric.js +30 -27
  55. package/dist/S2Metric.js.map +1 -1
  56. package/dist/S2Point.d.ts +48 -14
  57. package/dist/S2Point.js +156 -109
  58. package/dist/S2Point.js.map +1 -1
  59. package/dist/S2Projections.d.ts +43 -9
  60. package/dist/S2Projections.js +226 -47
  61. package/dist/S2Projections.js.map +1 -1
  62. package/dist/S2Region.js +2 -1
  63. package/dist/S2Region.js.map +1 -1
  64. package/dist/S2RegionCoverer.d.ts +21 -6
  65. package/dist/S2RegionCoverer.js +144 -109
  66. package/dist/S2RegionCoverer.js.map +1 -1
  67. package/dist/export.d.ts +0 -1
  68. package/dist/export.js +42 -32
  69. package/dist/export.js.map +1 -1
  70. package/dist/utils/preconditions.d.ts +2 -0
  71. package/dist/utils/preconditions.js +16 -0
  72. package/dist/utils/preconditions.js.map +1 -0
  73. package/package.json +28 -34
  74. package/.npmignore +0 -8
  75. package/.nyc_output/1eb1f420a13c15f529aac41a40bcaa21.json +0 -1
  76. package/.nyc_output/5ff62256eb1c111254ba0b469fb547da.json +0 -1
  77. package/.nyc_output/949d6e8c2061067f3bdfd27dfff5ba83.json +0 -1
  78. package/coverage/Interval.ts.html +0 -203
  79. package/coverage/MutableInteger.ts.html +0 -77
  80. package/coverage/R1Interval.ts.html +0 -647
  81. package/coverage/R2Vector.ts.html +0 -587
  82. package/coverage/S1Angle.ts.html +0 -344
  83. package/coverage/S1Interval.ts.html +0 -1349
  84. package/coverage/S2.ts.html +0 -1178
  85. package/coverage/S2Cap.ts.html +0 -1433
  86. package/coverage/S2Cell.ts.html +0 -1415
  87. package/coverage/S2CellId.ts.html +0 -3329
  88. package/coverage/S2EdgeUtil.ts.html +0 -2534
  89. package/coverage/S2LatLng.ts.html +0 -848
  90. package/coverage/S2LatLngRect.ts.html +0 -2222
  91. package/coverage/S2Point.ts.html +0 -758
  92. package/coverage/S2Projections.ts.html +0 -518
  93. package/coverage/base.css +0 -212
  94. package/coverage/decimal.ts.html +0 -68
  95. package/coverage/index.html +0 -288
  96. package/coverage/prettify.css +0 -1
  97. package/coverage/prettify.js +0 -1
  98. package/coverage/sort-arrow-sprite.png +0 -0
  99. package/coverage/sorter.js +0 -158
  100. package/dist/decimal.d.ts +0 -3
  101. package/dist/decimal.js +0 -4
  102. package/dist/decimal.js.map +0 -1
  103. package/dist/decimal_augmentation.d.ts +0 -24
  104. package/dist/decimal_augmentation.js +0 -2
  105. package/dist/decimal_augmentation.js.map +0 -1
@@ -1,22 +1,18 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var Interval_1 = require("./Interval");
8
- var S2_1 = require("./S2");
9
- var S1Interval = (function (_super) {
10
- __extends(S1Interval, _super);
11
- function S1Interval(lo, hi, checked) {
12
- if (checked === void 0) { checked = false; }
13
- _super.call(this, lo, hi);
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S1Interval = void 0;
4
+ const Interval_1 = require("./Interval");
5
+ const S2_1 = require("./S2");
6
+ const Platform_1 = require("./Platform");
7
+ class S1Interval extends Interval_1.Interval {
8
+ constructor(lo, hi, checked = false) {
9
+ super(lo, hi);
14
10
  if (!checked) {
15
- if (this.lo.eq(-S2_1.S2.M_PI) && !this.hi.eq(S2_1.S2.M_PI)) {
16
- this.lo = S2_1.S2.toDecimal(S2_1.S2.M_PI);
11
+ if (this.lo == (-S2_1.S2.M_PI) && this.hi != (S2_1.S2.M_PI)) {
12
+ this.lo = (S2_1.S2.M_PI);
17
13
  }
18
- if (this.hi.eq(-S2_1.S2.M_PI) && !this.lo.eq(S2_1.S2.M_PI)) {
19
- this.hi = S2_1.S2.toDecimal(S2_1.S2.M_PI);
14
+ if (this.hi == (-S2_1.S2.M_PI) && this.lo != (S2_1.S2.M_PI)) {
15
+ this.hi = (S2_1.S2.M_PI);
20
16
  }
21
17
  }
22
18
  }
@@ -24,52 +20,52 @@ var S1Interval = (function (_super) {
24
20
  * An interval is valid if neither bound exceeds Pi in absolute value, and the
25
21
  * value -Pi appears only in the Empty() and Full() intervals.
26
22
  */
27
- S1Interval.prototype.isValid = function () {
28
- return this.lo.abs().lte(S2_1.S2.M_PI) && this.hi.abs().lte(S2_1.S2.M_PI)
29
- && !(this.lo.eq(-S2_1.S2.M_PI) && !this.hi.eq(S2_1.S2.M_PI))
30
- && !(this.hi.eq(-S2_1.S2.M_PI) && !this.lo.eq(S2_1.S2.M_PI));
23
+ isValid() {
24
+ return Math.abs(this.lo) <= (S2_1.S2.M_PI) && Math.abs(this.hi) <= (S2_1.S2.M_PI)
25
+ && !(this.lo == (-S2_1.S2.M_PI) && this.hi != (S2_1.S2.M_PI))
26
+ && !(this.hi == (-S2_1.S2.M_PI) && this.lo != (S2_1.S2.M_PI));
31
27
  // return (Math.abs(this.lo) <= S2.M_PI && Math.abs(this.hi) <= S2.M_PI
32
28
  // && !(this.lo == -S2.M_PI && this.hi != S2.M_PI) && !(this.hi == -S2.M_PI && this.lo != S2.M_PI));
33
- };
29
+ }
34
30
  /** Return true if the interval contains all points on the unit circle. */
35
- S1Interval.prototype.isFull = function () {
36
- // console.log(this.hi.minus(this.lo).eq(2 * S2.M_PI));
37
- return this.hi.minus(this.lo).eq(2 * S2_1.S2.M_PI);
38
- };
31
+ isFull() {
32
+ // console.log(this.hi - (this.lo) == (2 * S2.M_PI));
33
+ return this.hi - (this.lo) == (2 * S2_1.S2.M_PI);
34
+ }
39
35
  /** Return true if the interval is empty, i.e. it contains no points. */
40
- S1Interval.prototype.isEmpty = function () {
41
- return this.lo.minus(this.hi).eq(2 * S2_1.S2.M_PI);
42
- };
36
+ isEmpty() {
37
+ return this.lo - (this.hi) == (2 * S2_1.S2.M_PI);
38
+ }
43
39
  /* Return true if this.lo > this.hi. (This is true for empty intervals.) */
44
- S1Interval.prototype.isInverted = function () {
45
- return this.lo.gt(this.hi);
46
- };
40
+ isInverted() {
41
+ return this.lo > (this.hi);
42
+ }
47
43
  /**
48
44
  * Return the midpoint of the interval. For full and empty intervals, the
49
45
  * result is arbitrary.
50
46
  */
51
- S1Interval.prototype.getCenter = function () {
52
- var center = this.lo.plus(this.hi).dividedBy(2);
47
+ getCenter() {
48
+ const center = (this.lo + this.hi) / 2;
53
49
  // let center = 0.5 * (this.lo + this.hi);
54
50
  if (!this.isInverted()) {
55
51
  return center;
56
52
  }
57
53
  // Return the center in the range (-Pi, Pi].
58
- return (center.lte(0)) ? (center.plus(S2_1.S2.M_PI)) : (center.minus(S2_1.S2.M_PI));
59
- };
54
+ return (center <= (0)) ? (center + (S2_1.S2.M_PI)) : (center - (S2_1.S2.M_PI));
55
+ }
60
56
  /**
61
57
  * Return the length of the interval. The length of an empty interval is
62
58
  * negative.
63
59
  */
64
- S1Interval.prototype.getLength = function () {
65
- var length = this.hi.minus(this.lo);
66
- if (length.gte(0)) {
60
+ getLength() {
61
+ let length = this.hi - (this.lo);
62
+ if (length >= (0)) {
67
63
  return length;
68
64
  }
69
- length = length.plus(2 * S2_1.S2.M_PI);
65
+ length = length + (2 * S2_1.S2.M_PI);
70
66
  // Empty intervals have a negative length.
71
- return (length.gt(0)) ? length : S2_1.S2.toDecimal(-1);
72
- };
67
+ return (length > (0)) ? length : (-1);
68
+ }
73
69
  /**
74
70
  * Return the complement of the interior of the interval. An interval and its
75
71
  * complement have the same boundary but do not share any interior values. The
@@ -77,141 +73,141 @@ var S1Interval = (function (_super) {
77
73
  * interval (containing a single value) is the same as the complement of an
78
74
  * empty interval.
79
75
  */
80
- S1Interval.prototype.complement = function () {
81
- if (this.lo.eq(this.hi)) {
76
+ complement() {
77
+ if (this.lo == (this.hi)) {
82
78
  return S1Interval.full(); // Singleton.
83
79
  }
84
80
  return new S1Interval(this.hi, this.lo, true); // Handles
85
81
  // empty and
86
82
  // full.
87
- };
83
+ }
88
84
  /** Return true if the interval (which is closed) contains the point 'p'. */
89
- S1Interval.prototype.contains = function (_p) {
90
- var p = S2_1.S2.toDecimal(_p);
85
+ contains(_p) {
86
+ let p = (_p);
91
87
  // Works for empty, full, and singleton intervals.
92
88
  // assert (Math.abs(p) <= S2.M_PI);
93
- if (p.eq(-S2_1.S2.M_PI)) {
94
- p = S2_1.S2.toDecimal(S2_1.S2.M_PI);
89
+ if (p == (-S2_1.S2.M_PI)) {
90
+ p = (S2_1.S2.M_PI);
95
91
  }
96
92
  return this.fastContains(p);
97
- };
93
+ }
98
94
  /**
99
95
  * Return true if the interval (which is closed) contains the point 'p'. Skips
100
96
  * the normalization of 'p' from -Pi to Pi.
101
97
  *
102
98
  */
103
- S1Interval.prototype.fastContains = function (_p) {
104
- var p = S2_1.S2.toDecimal(_p);
99
+ fastContains(_p) {
100
+ const p = (_p);
105
101
  if (this.isInverted()) {
106
- return (p.gte(this.lo) || p.lte(this.hi)) && !this.isEmpty();
102
+ return (p >= (this.lo) || p <= (this.hi)) && !this.isEmpty();
107
103
  }
108
104
  else {
109
- return p.gte(this.lo) && p.lte(this.hi);
105
+ return p >= (this.lo) && p <= (this.hi);
110
106
  }
111
- };
107
+ }
112
108
  /** Return true if the interior of the interval contains the point 'p'. */
113
- S1Interval.prototype.interiorContains = function (_p) {
109
+ interiorContains(_p) {
114
110
  // Works for empty, full, and singleton intervals.
115
111
  // assert (Math.abs(p) <= S2.M_PI);
116
- var p = S2_1.S2.toDecimal(_p);
117
- if (p.eq(-S2_1.S2.M_PI)) {
118
- p = S2_1.S2.toDecimal(S2_1.S2.M_PI);
112
+ let p = (_p);
113
+ if (p == (-S2_1.S2.M_PI)) {
114
+ p = (S2_1.S2.M_PI);
119
115
  }
120
116
  if (this.isInverted()) {
121
- return p.gt(this.lo) || p.lt(this.hi);
117
+ return p > (this.lo) || p < (this.hi);
122
118
  }
123
119
  else {
124
- return (p.gt(this.lo) && p.lt(this.hi)) || this.isFull();
120
+ return (p > (this.lo) && p < (this.hi)) || this.isFull();
125
121
  }
126
- };
122
+ }
127
123
  /**
128
124
  * Return true if the interval contains the given interval 'y'. Works for
129
125
  * empty, full, and singleton intervals.
130
126
  */
131
- S1Interval.prototype.containsI = function (y) {
127
+ containsI(y) {
132
128
  // It might be helpful to compare the structure of these tests to
133
129
  // the simpler Contains(number) method above.
134
130
  if (this.isInverted()) {
135
131
  if (y.isInverted()) {
136
- return y.lo.gte(this.lo) && y.hi.lte(this.hi);
132
+ return y.lo >= (this.lo) && y.hi <= (this.hi);
137
133
  }
138
- return (y.lo.gte(this.lo) || y.hi.lte(this.hi)) && !this.isEmpty();
134
+ return (y.lo >= (this.lo) || y.hi <= (this.hi)) && !this.isEmpty();
139
135
  }
140
136
  else {
141
137
  if (y.isInverted()) {
142
138
  return this.isFull() || y.isEmpty();
143
139
  }
144
- return y.lo.gte(this.lo) && y.hi.lte(this.hi);
140
+ return y.lo >= (this.lo) && y.hi <= (this.hi);
145
141
  }
146
- };
142
+ }
147
143
  /**
148
144
  * Returns true if the interior of this interval contains the entire interval
149
145
  * 'y'. Note that x.InteriorContains(x) is true only when x is the empty or
150
146
  * full interval, and x.InteriorContains(S1Interval(p,p)) is equivalent to
151
147
  * x.InteriorContains(p).
152
148
  */
153
- S1Interval.prototype.interiorContainsI = function (y) {
149
+ interiorContainsI(y) {
154
150
  if (this.isInverted()) {
155
151
  if (!y.isInverted()) {
156
- return this.lo.gt(this.lo) || y.hi.lt(this.hi);
152
+ return this.lo > (this.lo) || y.hi < (this.hi);
157
153
  }
158
- return (y.lo.gt(this.lo) && y.hi.lt(this.hi)) || y.isEmpty();
154
+ return (y.lo > (this.lo) && y.hi < (this.hi)) || y.isEmpty();
159
155
  }
160
156
  else {
161
157
  if (y.isInverted()) {
162
158
  return this.isFull() || y.isEmpty();
163
159
  }
164
- return (y.lo.gt(this.lo) && y.hi.lt(this.hi)) || this.isFull();
160
+ return (y.lo > (this.lo) && y.hi < (this.hi)) || this.isFull();
165
161
  }
166
- };
162
+ }
167
163
  /**
168
164
  * Return true if the two intervals contain any points in common. Note that
169
165
  * the point +/-Pi has two representations, so the intervals [-Pi,-3] and
170
166
  * [2,Pi] intersect, for example.
171
167
  */
172
- S1Interval.prototype.intersects = function (y) {
168
+ intersects(y) {
173
169
  if (this.isEmpty() || y.isEmpty()) {
174
170
  return false;
175
171
  }
176
172
  if (this.isInverted()) {
177
173
  // Every non-empty inverted interval contains Pi.
178
- return y.isInverted() || y.lo.lte(this.hi) || y.hi.gte(this.lo);
174
+ return y.isInverted() || y.lo <= (this.hi) || y.hi >= (this.lo);
179
175
  }
180
176
  else {
181
177
  if (y.isInverted()) {
182
- return y.lo.lte(this.hi) || y.hi.gte(this.lo);
178
+ return y.lo <= (this.hi) || y.hi >= (this.lo);
183
179
  }
184
- return y.lo.lte(this.hi) && y.hi.gte(this.lo);
180
+ return y.lo <= (this.hi) && y.hi >= (this.lo);
185
181
  }
186
- };
182
+ }
187
183
  /**
188
184
  * Return true if the interior of this interval contains any point of the
189
185
  * interval 'y' (including its boundary). Works for empty, full, and singleton
190
186
  * intervals.
191
187
  */
192
- S1Interval.prototype.interiorIntersects = function (y) {
193
- if (this.isEmpty() || y.isEmpty() || this.lo.eq(this.hi)) {
188
+ interiorIntersects(y) {
189
+ if (this.isEmpty() || y.isEmpty() || this.lo == (this.hi)) {
194
190
  return false;
195
191
  }
196
192
  if (this.isInverted()) {
197
- return y.isInverted() || y.lo.lt(this.hi) || y.hi.gt(this.lo);
193
+ return y.isInverted() || y.lo < (this.hi) || y.hi > (this.lo);
198
194
  }
199
195
  else {
200
196
  if (y.isInverted()) {
201
- return y.lo.lt(this.hi) || y.hi.gt(this.lo);
197
+ return y.lo < (this.hi) || y.hi > (this.lo);
202
198
  }
203
- return (y.lo.lt(this.hi) && y.hi.gt(this.lo)) || this.isFull();
199
+ return (y.lo < (this.hi) && y.hi > (this.lo)) || this.isFull();
204
200
  }
205
- };
201
+ }
206
202
  /**
207
203
  * Expand the interval by the minimum amount necessary so that it contains the
208
204
  * given point "p" (an angle in the range [-Pi, Pi]).
209
205
  */
210
- S1Interval.prototype.addPoint = function (_p) {
211
- var p = S2_1.S2.toDecimal(_p);
206
+ addPoint(_p) {
207
+ let p = (_p);
212
208
  // assert (Math.abs(p) <= S2.M_PI);
213
- if (p.eq(-S2_1.S2.M_PI)) {
214
- p = S2_1.S2.toDecimal(S2_1.S2.M_PI);
209
+ if (p == (-S2_1.S2.M_PI)) {
210
+ p = (S2_1.S2.M_PI);
215
211
  }
216
212
  if (this.fastContains(p)) {
217
213
  return new S1Interval(this.lo, this.hi);
@@ -221,45 +217,45 @@ var S1Interval = (function (_super) {
221
217
  }
222
218
  else {
223
219
  // Compute distance from p to each endpoint.
224
- var dlo = S1Interval.positiveDistance(p, this.lo);
225
- var dhi = S1Interval.positiveDistance(this.hi, p);
226
- if (dlo.lt(dhi)) {
220
+ const dlo = S1Interval.positiveDistance(p, this.lo);
221
+ const dhi = S1Interval.positiveDistance(this.hi, p);
222
+ if (dlo < (dhi)) {
227
223
  return new S1Interval(p, this.hi);
228
224
  }
229
225
  else {
230
226
  return new S1Interval(this.lo, p);
231
227
  }
228
+ // Adding a point can never turn a non-full interval into a full one.
232
229
  }
233
- };
230
+ }
234
231
  /**
235
232
  * Return an interval that contains all points within a distance "radius" of
236
233
  * a point in this interval. Note that the expansion of an empty interval is
237
234
  * always empty. The radius must be non-negative.
238
235
  */
239
- S1Interval.prototype.expanded = function (_radius) {
240
- var radius = S2_1.S2.toDecimal(_radius);
236
+ expanded(radius) {
241
237
  // assert (radius >= 0);
242
238
  if (this.isEmpty()) {
243
239
  return this;
244
240
  }
245
241
  // Check whether this interval will be full after expansion, allowing
246
242
  // for a 1-bit rounding error when computing each endpoint.
247
- if (this.getLength().plus(radius.times(2)).gte(2 * S2_1.S2.M_PI - 1e-15)) {
243
+ if (this.getLength() + (radius * 2) >= (2 * S2_1.S2.M_PI - 1e-15)) {
248
244
  return S1Interval.full();
249
245
  }
250
246
  // NOTE(dbeaumont): Should this remainder be 2 * M_PI or just M_PI ??
251
- var lo = S2_1.S2.IEEEremainder(this.lo.minus(radius), 2 * S2_1.S2.M_PI);
252
- var hi = S2_1.S2.IEEEremainder(this.hi.plus(radius), 2 * S2_1.S2.M_PI);
253
- if (lo.eq(-S2_1.S2.M_PI)) {
254
- lo = S2_1.S2.toDecimal(S2_1.S2.M_PI);
247
+ let lo = Platform_1.Platform.IEEEremainder(this.lo - (radius), 2 * S2_1.S2.M_PI);
248
+ const hi = Platform_1.Platform.IEEEremainder(this.hi + (radius), 2 * S2_1.S2.M_PI);
249
+ if (lo == (-S2_1.S2.M_PI)) {
250
+ lo = (S2_1.S2.M_PI);
255
251
  }
256
252
  return new S1Interval(lo, hi);
257
- };
253
+ }
258
254
  /**
259
255
  * Return the smallest interval that contains this interval and the given
260
256
  * interval "y".
261
257
  */
262
- S1Interval.prototype.union = function (y) {
258
+ union(y) {
263
259
  // The y.is_full() case is handled correctly in all cases by the code
264
260
  // below, but can follow three separate code paths depending on whether
265
261
  // this interval is inverted, is non-inverted but contains Pi, or neither.
@@ -286,21 +282,21 @@ var S1Interval = (function (_super) {
286
282
  return y;
287
283
  }
288
284
  // Check which pair of endpoints are closer together.
289
- var dlo = S1Interval.positiveDistance(y.hi, this.lo);
290
- var dhi = S1Interval.positiveDistance(this.hi, y.lo);
285
+ const dlo = S1Interval.positiveDistance(y.hi, this.lo);
286
+ const dhi = S1Interval.positiveDistance(this.hi, y.lo);
291
287
  if (dlo < dhi) {
292
288
  return new S1Interval(y.lo, this.hi, true);
293
289
  }
294
290
  else {
295
291
  return new S1Interval(this.lo, y.hi, true);
296
292
  }
297
- };
293
+ }
298
294
  /**
299
295
  * Return the smallest interval that contains the intersection of this
300
296
  * interval with "y". Note that the region of intersection may consist of two
301
297
  * disjoint intervals.
302
298
  */
303
- S1Interval.prototype.intersection = function (y) {
299
+ intersection(y) {
304
300
  // The y.is_full() case is handled correctly in all cases by the code
305
301
  // below, but can follow three separate code paths depending on whether
306
302
  // this interval is inverted, is non-inverted but contains Pi, or neither.
@@ -312,7 +308,7 @@ var S1Interval = (function (_super) {
312
308
  // Either this interval contains y, or the region of intersection
313
309
  // consists of two disjoint subintervals. In either case, we want
314
310
  // to return the shorter of the two original intervals.
315
- if (y.getLength().lt(this.getLength())) {
311
+ if (y.getLength() < (this.getLength())) {
316
312
  return y; // is_full() code path
317
313
  }
318
314
  return this;
@@ -329,76 +325,74 @@ var S1Interval = (function (_super) {
329
325
  }
330
326
  // assert (!intersects(y));
331
327
  return S1Interval.empty();
332
- };
328
+ }
333
329
  /**
334
330
  * Return true if the length of the symmetric difference between the two
335
331
  * intervals is at most the given tolerance.
336
332
  */
337
- S1Interval.prototype.approxEquals = function (y, maxError) {
338
- if (maxError === void 0) { maxError = 1e-9; }
333
+ approxEquals(y, maxError = 1e-9) {
339
334
  if (this.isEmpty()) {
340
- return y.getLength().lte(maxError);
335
+ return y.getLength() <= (maxError);
341
336
  }
342
337
  if (y.isEmpty()) {
343
- return this.getLength().lte(maxError);
338
+ return this.getLength() <= (maxError);
344
339
  }
345
- return S2_1.S2.IEEEremainder(y.lo.minus(this.lo), 2 * S2_1.S2.M_PI).abs()
346
- .plus(S2_1.S2.IEEEremainder(y.hi.minus(this.hi), 2 * S2_1.S2.M_PI).abs())
347
- .lte(maxError);
348
- };
349
- S1Interval.empty = function () {
340
+ return Math.abs(Platform_1.Platform.IEEEremainder(y.lo - (this.lo), 2 * S2_1.S2.M_PI))
341
+ + (Math.abs(Platform_1.Platform.IEEEremainder(y.hi - (this.hi), 2 * S2_1.S2.M_PI)))
342
+ <= (maxError);
343
+ }
344
+ static empty() {
350
345
  return new S1Interval(S2_1.S2.M_PI, -S2_1.S2.M_PI, true);
351
- };
352
- S1Interval.full = function () {
346
+ }
347
+ static full() {
353
348
  return new S1Interval(-S2_1.S2.M_PI, S2_1.S2.M_PI, true);
354
- };
355
- S1Interval.fromPoint = function (_p) {
356
- var p = S2_1.S2.toDecimal(_p);
357
- if (p.eq(-S2_1.S2.M_PI)) {
358
- p = S2_1.S2.toDecimal(S2_1.S2.M_PI);
349
+ }
350
+ static fromPoint(_p) {
351
+ let p = (_p);
352
+ if (p == (-S2_1.S2.M_PI)) {
353
+ p = (S2_1.S2.M_PI);
359
354
  }
360
355
  return new S1Interval(p, p, true);
361
- };
356
+ }
362
357
  /**
363
358
  * Convenience method to construct the minimal interval containing the two
364
359
  * given points. This is equivalent to starting with an empty interval and
365
360
  * calling AddPoint() twice, but it is more efficient.
366
361
  */
367
- S1Interval.fromPointPair = function (_p1, _p2) {
362
+ static fromPointPair(_p1, _p2) {
368
363
  // assert (Math.abs(p1) <= S2.M_PI && Math.abs(p2) <= S2.M_PI);
369
- var p1 = S2_1.S2.toDecimal(_p1);
370
- var p2 = S2_1.S2.toDecimal(_p2);
371
- if (p1.eq(-S2_1.S2.M_PI)) {
372
- p1 = S2_1.S2.toDecimal(S2_1.S2.M_PI);
364
+ let p1 = (_p1);
365
+ let p2 = (_p2);
366
+ if (p1 == (-S2_1.S2.M_PI)) {
367
+ p1 = (S2_1.S2.M_PI);
373
368
  }
374
- if (p2.eq(-S2_1.S2.M_PI)) {
375
- p2 = S2_1.S2.toDecimal(S2_1.S2.M_PI);
369
+ if (p2 == (-S2_1.S2.M_PI)) {
370
+ p2 = (S2_1.S2.M_PI);
376
371
  }
377
- if (S1Interval.positiveDistance(p1, p2).lte(S2_1.S2.M_PI)) {
372
+ if (S1Interval.positiveDistance(p1, p2) <= (S2_1.S2.M_PI)) {
378
373
  return new S1Interval(p1, p2, true);
379
374
  }
380
375
  else {
381
376
  return new S1Interval(p2, p1, true);
382
377
  }
383
- };
378
+ }
384
379
  /**
385
380
  * Compute the distance from "a" to "b" in the range [0, 2*Pi). This is
386
381
  * equivalent to (drem(b - a - S2.M_PI, 2 * S2.M_PI) + S2.M_PI), except that
387
382
  * it is more numerically stable (it does not lose precision for very small
388
383
  * positive distances).
389
384
  */
390
- S1Interval.positiveDistance = function (_a, _b) {
391
- var a = S2_1.S2.toDecimal(_a);
392
- var b = S2_1.S2.toDecimal(_b);
393
- var d = b.minus(a);
394
- if (d.gte(0)) {
385
+ static positiveDistance(_a, _b) {
386
+ const a = (_a);
387
+ const b = (_b);
388
+ const d = b - (a);
389
+ if (d >= (0)) {
395
390
  return d;
396
391
  }
397
392
  // We want to ensure that if b == Pi and a == (-Pi + eps),
398
393
  // the return result is approximately 2*Pi and not zero.
399
- return b.plus(S2_1.S2.M_PI).minus(a.minus(S2_1.S2.M_PI));
400
- };
401
- return S1Interval;
402
- }(Interval_1.Interval));
394
+ return b + (S2_1.S2.M_PI) - (a - (S2_1.S2.M_PI));
395
+ }
396
+ }
403
397
  exports.S1Interval = S1Interval;
404
398
  //# sourceMappingURL=S1Interval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"S1Interval.js","sourceRoot":"","sources":["../src/S1Interval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S1Interval.js","sourceRoot":"","sources":["../src/S1Interval.ts"],"names":[],"mappings":"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"}
package/dist/S2.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="decimal.js" />
2
1
  import { S2Point } from "./S2Point";
3
2
  import { S2Metric } from "./S2Metric";
4
3
  export declare class S2 {
@@ -14,9 +13,10 @@ export declare class S2 {
14
13
  private static EXPONENT_MASK;
15
14
  /** Mapping from cell orientation + Hilbert traversal to IJ-index. */
16
15
  static POS_TO_ORIENTATION: number[];
16
+ static DBL_EPSILON: number;
17
17
  static POS_TO_IJ: number[][];
18
18
  static MAX_LEVEL: number;
19
- static IEEEremainder(_f1: number | decimal.Decimal, _f2: number | decimal.Decimal): decimal.Decimal;
19
+ static IEEEremainder(f1: number, f2: number): number;
20
20
  /**
21
21
  * Return true if the given point is approximately unit length (this is mainly
22
22
  * useful for assertions).
@@ -57,14 +57,13 @@ export declare class S2 {
57
57
  * becomes numerically unstable as the length of any edge approaches 180
58
58
  * degrees.
59
59
  */
60
- static area(a: S2Point, b: S2Point, c: S2Point): decimal.Decimal;
60
+ static area(a: S2Point, b: S2Point, c: S2Point): number;
61
61
  /**
62
62
  * Return the area of the triangle computed using Girard's formula. This is
63
63
  * slightly faster than the Area() method above is not accurate for very small
64
64
  * triangles.
65
65
  */
66
- static girardArea(a: S2Point, b: S2Point, c: S2Point): decimal.Decimal;
67
- static toDecimal(value: number | decimal.Decimal | string): decimal.Decimal;
66
+ static girardArea(a: S2Point, b: S2Point, c: S2Point): number;
68
67
  /**
69
68
  * Return true if the points A, B, C are strictly counterclockwise. Return
70
69
  * false if the points are clockwise or colinear (i.e. if they are all
@@ -88,6 +87,10 @@ export declare class S2 {
88
87
  * SimpleCrossing(c,d,a,b) == SimpleCrossing(a,b,c,d)
89
88
  */
90
89
  static simpleCrossing(a: S2Point, b: S2Point, c: S2Point, d: S2Point): boolean;
90
+ static approxEqualsPointError(a: S2Point, b: S2Point, maxError: number): boolean;
91
+ static approxEqualsPoint(a: S2Point, b: S2Point): boolean;
92
+ static approxEqualsNumberError(a: number, b: number, maxError: number): boolean;
93
+ static approxEqualsNumber(a: number, b: number): boolean;
91
94
  static Metric: typeof S2Metric;
92
95
  }
93
96
  export { S2Metric };