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,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Copyright 2005 Google Inc.
3
4
  *
@@ -13,7 +14,8 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- "use strict";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.S2Projections = void 0;
17
19
  /**
18
20
  * This class specifies the details of how the cube faces are projected onto the
19
21
  * unit sphere. This includes getting the face ordering and orientation correct
@@ -65,19 +67,19 @@
65
67
  * This data was produced using s2cell_unittest and s2cellid_unittest.
66
68
  *
67
69
  */
68
- var S2_1 = require("./S2");
69
- var S2Point_1 = require("./S2Point");
70
- var R2Vector_1 = require("./R2Vector");
70
+ const S2_1 = require("./S2");
71
+ const S2CellId_1 = require("./S2CellId");
72
+ const S2Point_1 = require("./S2Point");
73
+ const R2Vector_1 = require("./R2Vector");
74
+ const Long = require("long");
75
+ var Projections;
71
76
  (function (Projections) {
72
77
  Projections[Projections["S2_LINEAR_PROJECTION"] = 0] = "S2_LINEAR_PROJECTION";
73
78
  Projections[Projections["S2_TAN_PROJECTION"] = 1] = "S2_TAN_PROJECTION";
74
79
  Projections[Projections["S2_QUADRATIC_PROJECTION"] = 2] = "S2_QUADRATIC_PROJECTION";
75
- })(exports.Projections || (exports.Projections = {}));
76
- var Projections = exports.Projections;
77
- var S2Projections = (function () {
78
- function S2Projections() {
79
- }
80
- S2Projections.getUNorm = function (face, u) {
80
+ })(Projections || (Projections = {}));
81
+ class S2Projections {
82
+ static getUNorm(face, u) {
81
83
  switch (face) {
82
84
  case 0:
83
85
  return new S2Point_1.S2Point(u, -1, 0);
@@ -92,8 +94,8 @@ var S2Projections = (function () {
92
94
  default:
93
95
  return new S2Point_1.S2Point(0, -1, -u);
94
96
  }
95
- };
96
- S2Projections.getVNorm = function (face, v) {
97
+ }
98
+ static getVNorm(face, v) {
97
99
  switch (face) {
98
100
  case 0:
99
101
  return new S2Point_1.S2Point(-v, 0, 1);
@@ -108,45 +110,222 @@ var S2Projections = (function () {
108
110
  default:
109
111
  return new S2Point_1.S2Point(1, 0, v);
110
112
  }
111
- };
112
- S2Projections.getUAxis = function (face) {
113
- switch (face) {
114
- case 0:
115
- return new S2Point_1.S2Point(0, 1, 0);
116
- case 1:
117
- return new S2Point_1.S2Point(-1, 0, 0);
118
- case 2:
119
- return new S2Point_1.S2Point(-1, 0, 0);
120
- case 3:
121
- return new S2Point_1.S2Point(0, 0, -1);
122
- case 4:
123
- return new S2Point_1.S2Point(0, 0, -1);
124
- default:
125
- return new S2Point_1.S2Point(0, 1, 0);
113
+ }
114
+ static getUAxis(face) {
115
+ return S2Projections.getUVWAxis(face, 0);
116
+ }
117
+ static getVAxis(face) {
118
+ return S2Projections.getUVWAxis(face, 1);
119
+ }
120
+ static getNorm(face) {
121
+ return S2Projections.getUVWAxis(face, 2);
122
+ }
123
+ /** Returns the given axis of the given face (u=0, v=1, w=2). */
124
+ static getUVWAxis(face, axis) {
125
+ return S2Projections.FACE_UVW_AXES[face][axis];
126
+ }
127
+ /**
128
+ * Convert (face, si, ti) coordinates (see s2.h) to a direction vector (not
129
+ * necessarily unit length).
130
+ */
131
+ static faceSiTiToXYZ(face, si, ti) {
132
+ const u = R2Vector_1.R2Vector.singleStTOUV(this.siTiToSt(si));
133
+ const v = R2Vector_1.R2Vector.singleStTOUV(this.siTiToSt(ti));
134
+ return this.faceUvToXyz(face, u, v);
135
+ }
136
+ static faceUvToXyz(face, u, v) {
137
+ const t = this.faceToXyzTransform(face);
138
+ return new S2Point_1.S2Point(t.uvToX(u, v), t.uvToY(u, v), t.uvToZ(u, v));
139
+ }
140
+ static faceXyzToUv(face, p) {
141
+ if (face < 3) {
142
+ if (p.get(face) <= 0) {
143
+ return null;
144
+ }
126
145
  }
127
- };
128
- S2Projections.getVAxis = function (face) {
129
- switch (face) {
146
+ else {
147
+ if (p.get(face - 3) >= 0) {
148
+ return null;
149
+ }
150
+ }
151
+ return S2Projections.validFaceXyzToUv(face, p);
152
+ }
153
+ static validFaceXyzToUv(face, p) {
154
+ const t = S2Projections.faceToUvTransform(face);
155
+ return new R2Vector_1.R2Vector(t.xyzToU(p.x, p.y, p.z), t.xyzToV(p.x, p.y, p.z));
156
+ }
157
+ static ijToStMin(i) {
158
+ // assert (i >= 0 && i <= S2CellId.MAX_SIZE);
159
+ return (1.0 / S2CellId_1.S2CellId.MAX_SIZE) * i;
160
+ }
161
+ static stToIj(s) {
162
+ return Math.max(0, Math.min(S2CellId_1.S2CellId.MAX_SIZE - 1, Math.round(S2CellId_1.S2CellId.MAX_SIZE * s - 0.5)));
163
+ }
164
+ static siTiToSt(si) {
165
+ return 1.0 / this.MAX_SITI.toNumber() * si;
166
+ }
167
+ static ijToUV(ij, cellSize) {
168
+ return R2Vector_1.R2Vector.singleStTOUV(S2Projections.ijToStMin(ij & -cellSize));
169
+ }
170
+ static xyzToFaceP(p) {
171
+ return this.xyzToFace(p.x, p.y, p.z);
172
+ }
173
+ static xyzToFace(x, y, z) {
174
+ switch (S2Point_1.S2Point.largestAbsComponent(x, y, z)) {
130
175
  case 0:
131
- return new S2Point_1.S2Point(0, 0, 1);
176
+ return (x < 0) ? 3 : 0;
132
177
  case 1:
133
- return new S2Point_1.S2Point(0, 0, 1);
134
- case 2:
135
- return new S2Point_1.S2Point(0, -1, 0);
136
- case 3:
137
- return new S2Point_1.S2Point(0, -1, 0);
138
- case 4:
139
- return new S2Point_1.S2Point(1, 0, 0);
178
+ return (y < 0) ? 4 : 1;
140
179
  default:
141
- return new S2Point_1.S2Point(1, 0, 0);
180
+ return (z < 0) ? 5 : 2;
142
181
  }
143
- };
144
- S2Projections.faceUvToXyz = function (face, u, v) {
145
- return new R2Vector_1.R2Vector(u, v).toPoint(face);
146
- };
147
- S2Projections.MIN_WIDTH = new S2_1.S2Metric(1, S2_1.S2.M_SQRT2 / 3);
148
- S2Projections.AVG_AREA = new S2_1.S2Metric(2, S2_1.S2.M_PI / 6); // 0.524)
149
- return S2Projections;
150
- }());
182
+ }
183
+ static faceToUvTransform(face) {
184
+ return S2Projections.UV_TRANSFORMS[face];
185
+ }
186
+ static faceToXyzTransform(face) {
187
+ // We map illegal face indices to the largest face index to preserve legacy behavior, i.e., we
188
+ // do not (yet) want to throw an index out of bounds exception. Note that S2CellId.face() is
189
+ // guaranteed to return a non-negative face index even for invalid S2 cells, so it is sufficient
190
+ // to just map all face indices greater than 5 to a face index of 5.
191
+ //
192
+ // TODO(bjj): Remove this legacy behavior.
193
+ return S2Projections.XYZ_TRANSFORMS[Math.min(5, face)];
194
+ }
195
+ }
151
196
  exports.S2Projections = S2Projections;
197
+ S2Projections.MIN_WIDTH = new S2_1.S2Metric(1, 2 * S2_1.S2.M_SQRT2 / 3); // 0.943
198
+ S2Projections.AVG_AREA = new S2_1.S2Metric(2, 4 * S2_1.S2.M_PI / 6); // ~2.094
199
+ S2Projections.MAX_LEVEL = 30;
200
+ S2Projections.FACE_UVW_AXES = [
201
+ [S2Point_1.S2Point.Y_POS, S2Point_1.S2Point.Z_POS, S2Point_1.S2Point.X_POS],
202
+ [S2Point_1.S2Point.X_NEG, S2Point_1.S2Point.Z_POS, S2Point_1.S2Point.Y_POS],
203
+ [S2Point_1.S2Point.X_NEG, S2Point_1.S2Point.Y_NEG, S2Point_1.S2Point.Z_POS],
204
+ [S2Point_1.S2Point.Z_NEG, S2Point_1.S2Point.Y_NEG, S2Point_1.S2Point.X_NEG],
205
+ [S2Point_1.S2Point.Z_NEG, S2Point_1.S2Point.X_POS, S2Point_1.S2Point.Y_NEG],
206
+ [S2Point_1.S2Point.Y_POS, S2Point_1.S2Point.X_POS, S2Point_1.S2Point.Z_NEG]
207
+ ];
208
+ S2Projections.UV_TRANSFORMS = [
209
+ {
210
+ xyzToU: function xyzToU(x, y, z) {
211
+ return y / x;
212
+ },
213
+ xyzToV: function xyzToV(x, y, z) {
214
+ return z / x;
215
+ },
216
+ },
217
+ {
218
+ xyzToU: function xyzToU(x, y, z) {
219
+ return -x / y;
220
+ },
221
+ xyzToV: function xyzToV(x, y, z) {
222
+ return z / y;
223
+ },
224
+ },
225
+ {
226
+ xyzToU: function xyzToU(x, y, z) {
227
+ return -x / z;
228
+ },
229
+ xyzToV: function xyzToV(x, y, z) {
230
+ return -y / z;
231
+ },
232
+ },
233
+ {
234
+ xyzToU: function xyzToU(x, y, z) {
235
+ return z / x;
236
+ },
237
+ xyzToV: function xyzToV(x, y, z) {
238
+ return y / x;
239
+ },
240
+ },
241
+ {
242
+ xyzToU: function xyzToU(x, y, z) {
243
+ return z / y;
244
+ },
245
+ xyzToV: function xyzToV(x, y, z) {
246
+ return -x / y;
247
+ },
248
+ },
249
+ {
250
+ xyzToU: function xyzToU(x, y, z) {
251
+ return -y / z;
252
+ },
253
+ xyzToV: function xyzToV(x, y, z) {
254
+ return -x / z;
255
+ },
256
+ }
257
+ ];
258
+ S2Projections.XYZ_TRANSFORMS = [
259
+ {
260
+ uvToX: function uvToX(u, v) {
261
+ return 1;
262
+ },
263
+ uvToY: function uvToY(u, v) {
264
+ return u;
265
+ },
266
+ uvToZ: function uvToZ(u, v) {
267
+ return v;
268
+ },
269
+ },
270
+ {
271
+ uvToX: function uvToX(u, v) {
272
+ return -u;
273
+ },
274
+ uvToY: function uvToY(u, v) {
275
+ return 1;
276
+ },
277
+ uvToZ: function uvToZ(u, v) {
278
+ return v;
279
+ },
280
+ },
281
+ {
282
+ uvToX: function uvToX(u, v) {
283
+ return -u;
284
+ },
285
+ uvToY: function uvToY(u, v) {
286
+ return -v;
287
+ },
288
+ uvToZ: function uvToZ(u, v) {
289
+ return 1;
290
+ },
291
+ },
292
+ {
293
+ uvToX: function uvToX(u, v) {
294
+ return -1;
295
+ },
296
+ uvToY: function uvToY(u, v) {
297
+ return -v;
298
+ },
299
+ uvToZ: function uvToZ(u, v) {
300
+ return -u;
301
+ },
302
+ },
303
+ {
304
+ uvToX: function uvToX(u, v) {
305
+ return v;
306
+ },
307
+ uvToY: function uvToY(u, v) {
308
+ return -1;
309
+ },
310
+ uvToZ: function uvToZ(u, v) {
311
+ return -u;
312
+ },
313
+ },
314
+ {
315
+ uvToX: function uvToX(u, v) {
316
+ return v;
317
+ },
318
+ uvToY: function uvToY(u, v) {
319
+ return u;
320
+ },
321
+ uvToZ: function uvToZ(u, v) {
322
+ return -1;
323
+ },
324
+ }
325
+ ];
326
+ /**
327
+ * The maximum value of an si- or ti-coordinate. The range of valid (si,ti) values is
328
+ * [0..MAX_SiTi].
329
+ */
330
+ S2Projections.MAX_SITI = Long.fromInt(1).shiftLeft(S2Projections.MAX_LEVEL + 1);
152
331
  //# sourceMappingURL=S2Projections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"S2Projections.js","sourceRoot":"","sources":["../src/S2Projections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S2Projections.js","sourceRoot":"","sources":["../src/S2Projections.ts"],"names":[],"mappings":"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"}
package/dist/S2Region.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Copyright 2005 Google Inc.
3
4
  *
@@ -13,5 +14,5 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- "use strict";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
17
18
  //# sourceMappingURL=S2Region.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"S2Region.js","sourceRoot":"","sources":["../src/S2Region.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"S2Region.js","sourceRoot":"","sources":["../src/S2Region.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -1,6 +1,7 @@
1
1
  import { S2Region } from "./S2Region";
2
2
  import { S2CellId } from "./S2CellId";
3
3
  import { S2CellUnion } from "./S2CellUnion";
4
+ import { S2Point } from "./S2Point";
4
5
  /**
5
6
  * An S2RegionCoverer is a class that allows arbitrary regions to be
6
7
  * approximated as unions of cells (S2CellUnion). This is useful for
@@ -114,6 +115,10 @@ export declare class S2RegionCoverer {
114
115
  * </pre>
115
116
  */
116
117
  setMaxCells(maxCells: number): S2RegionCoverer;
118
+ getMinLevel(): number;
119
+ getMaxLevel(): number;
120
+ getMaxCells(): number;
121
+ getLevelMod(): number;
117
122
  /**
118
123
  * Computes a list of cell ids that covers the given region and satisfies the
119
124
  * various restrictions specified above.
@@ -144,28 +149,38 @@ export declare class S2RegionCoverer {
144
149
  * and satisfies the restrictions *EXCEPT* for min_level() and level_mod().
145
150
  */
146
151
  getInteriorCoveringUnion(region: S2Region, covering?: S2CellUnion): S2CellUnion;
152
+ /**
153
+ * Given a connected region and a starting point, return a set of cells at the given level that
154
+ * cover the region.
155
+ */
156
+ static getSimpleCovering(region: S2Region, start: S2Point, level: number): S2CellId[];
147
157
  /**
148
158
  * If the cell intersects the given region, return a new candidate with no
149
159
  * children, otherwise return null. Also marks the candidate as "terminal" if
150
160
  * it should not be expanded further.
151
161
  */
152
- private newCandidate(cell);
162
+ private newCandidate;
153
163
  /** Return the log base 2 of the maximum number of children of a candidate. */
154
- private maxChildrenShift();
164
+ private maxChildrenShift;
155
165
  /**
156
166
  * Process a candidate by either adding it to the result list or expanding its
157
167
  * children and inserting it into the priority queue. Passing an argument of
158
168
  * NULL does nothing.
159
169
  */
160
- private addCandidate(candidate);
170
+ private addCandidate;
161
171
  /**
162
172
  * Populate the children of "candidate" by expanding the given number of
163
173
  * levels from the given cell. Returns the number of children that were marked
164
174
  * "terminal".
165
175
  */
166
- private expandChildren(candidate, cell, numLevels);
176
+ private expandChildren;
167
177
  /** Computes a set of initial candidates that cover the given region. */
168
- private getInitialCandidates();
178
+ private getInitialCandidates;
169
179
  /** Generates a covering and stores it in result. */
170
- private getCoveringInternal(region);
180
+ private getCoveringInternal;
181
+ /**
182
+ * Given a region and a starting cell, return the set of all the edge-connected cells at the same
183
+ * level that intersect "region". The output cells are returned in arbitrary order.
184
+ */
185
+ private static floodFill;
171
186
  }