@xyo-network/quadkey 5.3.30 → 5.4.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.
- package/README.md +0 -752
- package/dist/neutral/index.mjs +2 -2
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +14 -18
package/README.md
CHANGED
|
@@ -38,758 +38,6 @@ bun add {{name}}
|
|
|
38
38
|
|
|
39
39
|
See the [LICENSE](LICENSE) file for license rights and limitations (LGPL-3.0-only).
|
|
40
40
|
|
|
41
|
-
## Reference
|
|
42
|
-
|
|
43
|
-
### packages
|
|
44
|
-
|
|
45
|
-
### sdk-utils
|
|
46
|
-
|
|
47
|
-
### packages
|
|
48
|
-
|
|
49
|
-
### quadkey
|
|
50
|
-
|
|
51
|
-
### .temp-typedoc
|
|
52
|
-
|
|
53
|
-
### classes
|
|
54
|
-
|
|
55
|
-
### <a id="Quadkey"></a>Quadkey
|
|
56
|
-
|
|
57
|
-
[**@xyo-network/quadkey**](#../README)
|
|
58
|
-
|
|
59
|
-
***
|
|
60
|
-
|
|
61
|
-
## Constructors
|
|
62
|
-
|
|
63
|
-
### Constructor
|
|
64
|
-
|
|
65
|
-
```ts
|
|
66
|
-
new Quadkey(key?): Quadkey;
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Parameters
|
|
70
|
-
|
|
71
|
-
#### key?
|
|
72
|
-
|
|
73
|
-
`bigint` = `0n`
|
|
74
|
-
|
|
75
|
-
### Returns
|
|
76
|
-
|
|
77
|
-
`Quadkey`
|
|
78
|
-
|
|
79
|
-
## Properties
|
|
80
|
-
|
|
81
|
-
### Zero
|
|
82
|
-
|
|
83
|
-
```ts
|
|
84
|
-
readonly static Zero: Quadkey;
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
***
|
|
88
|
-
|
|
89
|
-
### root
|
|
90
|
-
|
|
91
|
-
```ts
|
|
92
|
-
readonly static root: Quadkey;
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
***
|
|
96
|
-
|
|
97
|
-
### type
|
|
98
|
-
|
|
99
|
-
```ts
|
|
100
|
-
readonly static type: "Quadkey" = 'Quadkey';
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
***
|
|
104
|
-
|
|
105
|
-
### key
|
|
106
|
-
|
|
107
|
-
```ts
|
|
108
|
-
key: bigint;
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
***
|
|
112
|
-
|
|
113
|
-
### type
|
|
114
|
-
|
|
115
|
-
```ts
|
|
116
|
-
type: string = Quadkey.type;
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Accessors
|
|
120
|
-
|
|
121
|
-
### base10String
|
|
122
|
-
|
|
123
|
-
### Get Signature
|
|
124
|
-
|
|
125
|
-
```ts
|
|
126
|
-
get base10String(): string;
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
#### Returns
|
|
130
|
-
|
|
131
|
-
`string`
|
|
132
|
-
|
|
133
|
-
***
|
|
134
|
-
|
|
135
|
-
### base16String
|
|
136
|
-
|
|
137
|
-
### Get Signature
|
|
138
|
-
|
|
139
|
-
```ts
|
|
140
|
-
get base16String(): string;
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
#### Returns
|
|
144
|
-
|
|
145
|
-
`string`
|
|
146
|
-
|
|
147
|
-
***
|
|
148
|
-
|
|
149
|
-
### base4Hash
|
|
150
|
-
|
|
151
|
-
### Get Signature
|
|
152
|
-
|
|
153
|
-
```ts
|
|
154
|
-
get base4Hash(): string;
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
#### Returns
|
|
158
|
-
|
|
159
|
-
`string`
|
|
160
|
-
|
|
161
|
-
***
|
|
162
|
-
|
|
163
|
-
### base4HashLabel
|
|
164
|
-
|
|
165
|
-
### Get Signature
|
|
166
|
-
|
|
167
|
-
```ts
|
|
168
|
-
get base4HashLabel(): string;
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
#### Returns
|
|
172
|
-
|
|
173
|
-
`string`
|
|
174
|
-
|
|
175
|
-
***
|
|
176
|
-
|
|
177
|
-
### boundingBox
|
|
178
|
-
|
|
179
|
-
### Get Signature
|
|
180
|
-
|
|
181
|
-
```ts
|
|
182
|
-
get boundingBox(): MercatorBoundingBox;
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
#### Returns
|
|
186
|
-
|
|
187
|
-
`MercatorBoundingBox`
|
|
188
|
-
|
|
189
|
-
***
|
|
190
|
-
|
|
191
|
-
### center
|
|
192
|
-
|
|
193
|
-
### Get Signature
|
|
194
|
-
|
|
195
|
-
```ts
|
|
196
|
-
get center(): LngLat;
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
#### Returns
|
|
200
|
-
|
|
201
|
-
`LngLat`
|
|
202
|
-
|
|
203
|
-
***
|
|
204
|
-
|
|
205
|
-
### children
|
|
206
|
-
|
|
207
|
-
### Get Signature
|
|
208
|
-
|
|
209
|
-
```ts
|
|
210
|
-
get children(): Quadkey[];
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
#### Returns
|
|
214
|
-
|
|
215
|
-
`Quadkey`[]
|
|
216
|
-
|
|
217
|
-
***
|
|
218
|
-
|
|
219
|
-
### gridLocation
|
|
220
|
-
|
|
221
|
-
### Get Signature
|
|
222
|
-
|
|
223
|
-
```ts
|
|
224
|
-
get gridLocation(): object;
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
#### Returns
|
|
228
|
-
|
|
229
|
-
`object`
|
|
230
|
-
|
|
231
|
-
##### col
|
|
232
|
-
|
|
233
|
-
```ts
|
|
234
|
-
col: number;
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
##### row
|
|
238
|
-
|
|
239
|
-
```ts
|
|
240
|
-
row: number;
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
##### zoom
|
|
244
|
-
|
|
245
|
-
```ts
|
|
246
|
-
zoom: number;
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
***
|
|
250
|
-
|
|
251
|
-
### id
|
|
252
|
-
|
|
253
|
-
### Get Signature
|
|
254
|
-
|
|
255
|
-
```ts
|
|
256
|
-
get id(): bigint;
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
#### Returns
|
|
260
|
-
|
|
261
|
-
`bigint`
|
|
262
|
-
|
|
263
|
-
***
|
|
264
|
-
|
|
265
|
-
### parent
|
|
266
|
-
|
|
267
|
-
### Get Signature
|
|
268
|
-
|
|
269
|
-
```ts
|
|
270
|
-
get parent(): Quadkey | undefined;
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
#### Returns
|
|
274
|
-
|
|
275
|
-
`Quadkey` \| `undefined`
|
|
276
|
-
|
|
277
|
-
***
|
|
278
|
-
|
|
279
|
-
### siblings
|
|
280
|
-
|
|
281
|
-
### Get Signature
|
|
282
|
-
|
|
283
|
-
```ts
|
|
284
|
-
get siblings(): Quadkey[];
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
#### Returns
|
|
288
|
-
|
|
289
|
-
`Quadkey`[]
|
|
290
|
-
|
|
291
|
-
***
|
|
292
|
-
|
|
293
|
-
### tile
|
|
294
|
-
|
|
295
|
-
### Get Signature
|
|
296
|
-
|
|
297
|
-
```ts
|
|
298
|
-
get tile(): MercatorTile;
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
#### Returns
|
|
302
|
-
|
|
303
|
-
`MercatorTile`
|
|
304
|
-
|
|
305
|
-
***
|
|
306
|
-
|
|
307
|
-
### valid
|
|
308
|
-
|
|
309
|
-
### Get Signature
|
|
310
|
-
|
|
311
|
-
```ts
|
|
312
|
-
get valid(): boolean;
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
#### Returns
|
|
316
|
-
|
|
317
|
-
`boolean`
|
|
318
|
-
|
|
319
|
-
***
|
|
320
|
-
|
|
321
|
-
### zoom
|
|
322
|
-
|
|
323
|
-
### Get Signature
|
|
324
|
-
|
|
325
|
-
```ts
|
|
326
|
-
get zoom(): number;
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
#### Returns
|
|
330
|
-
|
|
331
|
-
`number`
|
|
332
|
-
|
|
333
|
-
## Methods
|
|
334
|
-
|
|
335
|
-
### from()
|
|
336
|
-
|
|
337
|
-
```ts
|
|
338
|
-
static from(zoom, id): Quadkey;
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
### Parameters
|
|
342
|
-
|
|
343
|
-
#### zoom
|
|
344
|
-
|
|
345
|
-
`number`
|
|
346
|
-
|
|
347
|
-
#### id
|
|
348
|
-
|
|
349
|
-
`bigint`
|
|
350
|
-
|
|
351
|
-
### Returns
|
|
352
|
-
|
|
353
|
-
`Quadkey`
|
|
354
|
-
|
|
355
|
-
***
|
|
356
|
-
|
|
357
|
-
### fromArrayBuffer()
|
|
358
|
-
|
|
359
|
-
```ts
|
|
360
|
-
static fromArrayBuffer(zoom, id): Quadkey;
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
### Parameters
|
|
364
|
-
|
|
365
|
-
#### zoom
|
|
366
|
-
|
|
367
|
-
`number`
|
|
368
|
-
|
|
369
|
-
#### id
|
|
370
|
-
|
|
371
|
-
`ArrayBuffer`
|
|
372
|
-
|
|
373
|
-
### Returns
|
|
374
|
-
|
|
375
|
-
`Quadkey`
|
|
376
|
-
|
|
377
|
-
***
|
|
378
|
-
|
|
379
|
-
### fromBase16String()
|
|
380
|
-
|
|
381
|
-
```ts
|
|
382
|
-
static fromBase16String(value): Quadkey;
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
### Parameters
|
|
386
|
-
|
|
387
|
-
#### value
|
|
388
|
-
|
|
389
|
-
`string`
|
|
390
|
-
|
|
391
|
-
### Returns
|
|
392
|
-
|
|
393
|
-
`Quadkey`
|
|
394
|
-
|
|
395
|
-
***
|
|
396
|
-
|
|
397
|
-
### fromBase4String()
|
|
398
|
-
|
|
399
|
-
```ts
|
|
400
|
-
static fromBase4String(value?): Quadkey;
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
### Parameters
|
|
404
|
-
|
|
405
|
-
#### value?
|
|
406
|
-
|
|
407
|
-
`string`
|
|
408
|
-
|
|
409
|
-
### Returns
|
|
410
|
-
|
|
411
|
-
`Quadkey`
|
|
412
|
-
|
|
413
|
-
***
|
|
414
|
-
|
|
415
|
-
### fromBoundingBox()
|
|
416
|
-
|
|
417
|
-
```ts
|
|
418
|
-
static fromBoundingBox(boundingBox, zoom): Quadkey[];
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
### Parameters
|
|
422
|
-
|
|
423
|
-
#### boundingBox
|
|
424
|
-
|
|
425
|
-
`MercatorBoundingBox`
|
|
426
|
-
|
|
427
|
-
#### zoom
|
|
428
|
-
|
|
429
|
-
`number`
|
|
430
|
-
|
|
431
|
-
### Returns
|
|
432
|
-
|
|
433
|
-
`Quadkey`[]
|
|
434
|
-
|
|
435
|
-
***
|
|
436
|
-
|
|
437
|
-
### fromLngLat()
|
|
438
|
-
|
|
439
|
-
```ts
|
|
440
|
-
static fromLngLat(point, zoom): Quadkey;
|
|
441
|
-
```
|
|
442
|
-
|
|
443
|
-
### Parameters
|
|
444
|
-
|
|
445
|
-
#### point
|
|
446
|
-
|
|
447
|
-
`LngLatLike`
|
|
448
|
-
|
|
449
|
-
#### zoom
|
|
450
|
-
|
|
451
|
-
`number`
|
|
452
|
-
|
|
453
|
-
### Returns
|
|
454
|
-
|
|
455
|
-
`Quadkey`
|
|
456
|
-
|
|
457
|
-
***
|
|
458
|
-
|
|
459
|
-
### fromString()
|
|
460
|
-
|
|
461
|
-
```ts
|
|
462
|
-
static fromString(
|
|
463
|
-
zoom,
|
|
464
|
-
id,
|
|
465
|
-
base?): Quadkey;
|
|
466
|
-
```
|
|
467
|
-
|
|
468
|
-
### Parameters
|
|
469
|
-
|
|
470
|
-
#### zoom
|
|
471
|
-
|
|
472
|
-
`number`
|
|
473
|
-
|
|
474
|
-
#### id
|
|
475
|
-
|
|
476
|
-
`string`
|
|
477
|
-
|
|
478
|
-
#### base?
|
|
479
|
-
|
|
480
|
-
`number` = `16`
|
|
481
|
-
|
|
482
|
-
### Returns
|
|
483
|
-
|
|
484
|
-
`Quadkey`
|
|
485
|
-
|
|
486
|
-
***
|
|
487
|
-
|
|
488
|
-
### fromTile()
|
|
489
|
-
|
|
490
|
-
```ts
|
|
491
|
-
static fromTile(tile): Quadkey;
|
|
492
|
-
```
|
|
493
|
-
|
|
494
|
-
### Parameters
|
|
495
|
-
|
|
496
|
-
#### tile
|
|
497
|
-
|
|
498
|
-
`MercatorTile`
|
|
499
|
-
|
|
500
|
-
### Returns
|
|
501
|
-
|
|
502
|
-
`Quadkey`
|
|
503
|
-
|
|
504
|
-
***
|
|
505
|
-
|
|
506
|
-
### childrenByZoom()
|
|
507
|
-
|
|
508
|
-
```ts
|
|
509
|
-
childrenByZoom(zoom): Quadkey[];
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
### Parameters
|
|
513
|
-
|
|
514
|
-
#### zoom
|
|
515
|
-
|
|
516
|
-
`number`
|
|
517
|
-
|
|
518
|
-
### Returns
|
|
519
|
-
|
|
520
|
-
`Quadkey`[]
|
|
521
|
-
|
|
522
|
-
***
|
|
523
|
-
|
|
524
|
-
### clone()
|
|
525
|
-
|
|
526
|
-
```ts
|
|
527
|
-
clone(): Quadkey;
|
|
528
|
-
```
|
|
529
|
-
|
|
530
|
-
### Returns
|
|
531
|
-
|
|
532
|
-
`Quadkey`
|
|
533
|
-
|
|
534
|
-
***
|
|
535
|
-
|
|
536
|
-
### equals()
|
|
537
|
-
|
|
538
|
-
```ts
|
|
539
|
-
equals(obj): boolean;
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
### Parameters
|
|
543
|
-
|
|
544
|
-
#### obj
|
|
545
|
-
|
|
546
|
-
`Quadkey`
|
|
547
|
-
|
|
548
|
-
### Returns
|
|
549
|
-
|
|
550
|
-
`boolean`
|
|
551
|
-
|
|
552
|
-
***
|
|
553
|
-
|
|
554
|
-
### geoJson()
|
|
555
|
-
|
|
556
|
-
```ts
|
|
557
|
-
geoJson(): GeoJson;
|
|
558
|
-
```
|
|
559
|
-
|
|
560
|
-
### Returns
|
|
561
|
-
|
|
562
|
-
`GeoJson`
|
|
563
|
-
|
|
564
|
-
***
|
|
565
|
-
|
|
566
|
-
### getGridBoundingBox()
|
|
567
|
-
|
|
568
|
-
```ts
|
|
569
|
-
getGridBoundingBox(size): object;
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
### Parameters
|
|
573
|
-
|
|
574
|
-
#### size
|
|
575
|
-
|
|
576
|
-
`number`
|
|
577
|
-
|
|
578
|
-
### Returns
|
|
579
|
-
|
|
580
|
-
`object`
|
|
581
|
-
|
|
582
|
-
#### height
|
|
583
|
-
|
|
584
|
-
```ts
|
|
585
|
-
height: number = blockSize;
|
|
586
|
-
```
|
|
587
|
-
|
|
588
|
-
#### left
|
|
589
|
-
|
|
590
|
-
```ts
|
|
591
|
-
left: number;
|
|
592
|
-
```
|
|
593
|
-
|
|
594
|
-
#### top
|
|
595
|
-
|
|
596
|
-
```ts
|
|
597
|
-
top: number;
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
#### width
|
|
601
|
-
|
|
602
|
-
```ts
|
|
603
|
-
width: number = blockSize;
|
|
604
|
-
```
|
|
605
|
-
|
|
606
|
-
***
|
|
607
|
-
|
|
608
|
-
### ~~getGridLocation()~~
|
|
609
|
-
|
|
610
|
-
```ts
|
|
611
|
-
getGridLocation(): object;
|
|
612
|
-
```
|
|
613
|
-
|
|
614
|
-
### Returns
|
|
615
|
-
|
|
616
|
-
`object`
|
|
617
|
-
|
|
618
|
-
#### ~~col~~
|
|
619
|
-
|
|
620
|
-
```ts
|
|
621
|
-
col: number;
|
|
622
|
-
```
|
|
623
|
-
|
|
624
|
-
#### ~~row~~
|
|
625
|
-
|
|
626
|
-
```ts
|
|
627
|
-
row: number;
|
|
628
|
-
```
|
|
629
|
-
|
|
630
|
-
#### ~~zoom~~
|
|
631
|
-
|
|
632
|
-
```ts
|
|
633
|
-
zoom: number;
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
### Deprecated
|
|
637
|
-
|
|
638
|
-
use .gridLocation instead
|
|
639
|
-
|
|
640
|
-
***
|
|
641
|
-
|
|
642
|
-
### isInBoundingBox()
|
|
643
|
-
|
|
644
|
-
```ts
|
|
645
|
-
isInBoundingBox(boundingBox): boolean;
|
|
646
|
-
```
|
|
647
|
-
|
|
648
|
-
### Parameters
|
|
649
|
-
|
|
650
|
-
#### boundingBox
|
|
651
|
-
|
|
652
|
-
`MercatorBoundingBox`
|
|
653
|
-
|
|
654
|
-
### Returns
|
|
655
|
-
|
|
656
|
-
`boolean`
|
|
657
|
-
|
|
658
|
-
***
|
|
659
|
-
|
|
660
|
-
### relative()
|
|
661
|
-
|
|
662
|
-
```ts
|
|
663
|
-
relative(direction): Quadkey;
|
|
664
|
-
```
|
|
665
|
-
|
|
666
|
-
### Parameters
|
|
667
|
-
|
|
668
|
-
#### direction
|
|
669
|
-
|
|
670
|
-
`string`
|
|
671
|
-
|
|
672
|
-
### Returns
|
|
673
|
-
|
|
674
|
-
`Quadkey`
|
|
675
|
-
|
|
676
|
-
***
|
|
677
|
-
|
|
678
|
-
### setId()
|
|
679
|
-
|
|
680
|
-
```ts
|
|
681
|
-
setId(id): Quadkey;
|
|
682
|
-
```
|
|
683
|
-
|
|
684
|
-
### Parameters
|
|
685
|
-
|
|
686
|
-
#### id
|
|
687
|
-
|
|
688
|
-
`bigint`
|
|
689
|
-
|
|
690
|
-
### Returns
|
|
691
|
-
|
|
692
|
-
`Quadkey`
|
|
693
|
-
|
|
694
|
-
***
|
|
695
|
-
|
|
696
|
-
### setKey()
|
|
697
|
-
|
|
698
|
-
```ts
|
|
699
|
-
setKey(zoom, key): Quadkey;
|
|
700
|
-
```
|
|
701
|
-
|
|
702
|
-
### Parameters
|
|
703
|
-
|
|
704
|
-
#### zoom
|
|
705
|
-
|
|
706
|
-
`number`
|
|
707
|
-
|
|
708
|
-
#### key
|
|
709
|
-
|
|
710
|
-
`bigint`
|
|
711
|
-
|
|
712
|
-
### Returns
|
|
713
|
-
|
|
714
|
-
`Quadkey`
|
|
715
|
-
|
|
716
|
-
***
|
|
717
|
-
|
|
718
|
-
### setZoom()
|
|
719
|
-
|
|
720
|
-
```ts
|
|
721
|
-
setZoom(zoom): Quadkey;
|
|
722
|
-
```
|
|
723
|
-
|
|
724
|
-
### Parameters
|
|
725
|
-
|
|
726
|
-
#### zoom
|
|
727
|
-
|
|
728
|
-
`number`
|
|
729
|
-
|
|
730
|
-
### Returns
|
|
731
|
-
|
|
732
|
-
`Quadkey`
|
|
733
|
-
|
|
734
|
-
***
|
|
735
|
-
|
|
736
|
-
### toJSON()
|
|
737
|
-
|
|
738
|
-
```ts
|
|
739
|
-
toJSON(): string;
|
|
740
|
-
```
|
|
741
|
-
|
|
742
|
-
### Returns
|
|
743
|
-
|
|
744
|
-
`string`
|
|
745
|
-
|
|
746
|
-
***
|
|
747
|
-
|
|
748
|
-
### toString()
|
|
749
|
-
|
|
750
|
-
```ts
|
|
751
|
-
toString(): string;
|
|
752
|
-
```
|
|
753
|
-
|
|
754
|
-
### Returns
|
|
755
|
-
|
|
756
|
-
`string`
|
|
757
|
-
|
|
758
|
-
***
|
|
759
|
-
|
|
760
|
-
### guessZoom()
|
|
761
|
-
|
|
762
|
-
```ts
|
|
763
|
-
protected guessZoom(): void;
|
|
764
|
-
```
|
|
765
|
-
|
|
766
|
-
### Returns
|
|
767
|
-
|
|
768
|
-
`void`
|
|
769
|
-
|
|
770
|
-
### functions
|
|
771
|
-
|
|
772
|
-
### <a id="isQuadkey"></a>isQuadkey
|
|
773
|
-
|
|
774
|
-
[**@xyo-network/quadkey**](#../README)
|
|
775
|
-
|
|
776
|
-
***
|
|
777
|
-
|
|
778
|
-
```ts
|
|
779
|
-
function isQuadkey(obj): boolean;
|
|
780
|
-
```
|
|
781
|
-
|
|
782
|
-
## Parameters
|
|
783
|
-
|
|
784
|
-
### obj
|
|
785
|
-
|
|
786
|
-
### type
|
|
787
|
-
|
|
788
|
-
`string`
|
|
789
|
-
|
|
790
|
-
## Returns
|
|
791
|
-
|
|
792
|
-
`boolean`
|
|
793
41
|
|
|
794
42
|
|
|
795
43
|
[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -122,8 +122,8 @@ var Quadkey = class _Quadkey {
|
|
|
122
122
|
return _Quadkey.root;
|
|
123
123
|
}
|
|
124
124
|
let id = 0n;
|
|
125
|
-
for (
|
|
126
|
-
const nibble = Number.parseInt(
|
|
125
|
+
for (const digit of value) {
|
|
126
|
+
const nibble = Number.parseInt(digit);
|
|
127
127
|
assertEx(nibble < 4 && nibble >= 0, () => `Invalid Base4 String: ${value}`);
|
|
128
128
|
id = id << 2n | BigInt(nibble);
|
|
129
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Quadkey.ts","../../src/RelativeDirectionConstantLookup.ts"],"sourcesContent":["import type {\n MercatorBoundingBox,\n MercatorLngLat,\n MercatorTile,\n} from '@xylabs/geo'\nimport {\n boundingBoxToCenter,\n GeoJson,\n tileFromPoint,\n tileFromQuadkey,\n tilesFromBoundingBox,\n tileToBoundingBox,\n tileToQuadkey,\n} from '@xylabs/geo'\nimport {\n assertEx, hexFromArrayBuffer, hexFromHexString,\n} from '@xylabs/sdk-js'\nimport type { LngLatLike } from 'mapbox-gl'\nimport mb from 'mapbox-gl'\nconst { LngLat } = mb\n\nimport { RelativeDirectionConstantLookup } from './RelativeDirectionConstantLookup.ts'\n\nconst MAX_ZOOM = 124\n\nexport const isQuadkey = (obj: { type: string }) => obj?.type === Quadkey.type\n\nconst FULL_MASK = 2n ** 256n - 1n\nconst ZOOM_MASK = 0xffn << 248n\nconst ID_MASK = ZOOM_MASK ^ FULL_MASK\n\nconst assertMaxBitUint = (value: bigint, bits = 256n) => {\n assertEx(value < 2n ** bits && value >= 0, () => 'Not a 256 Bit Uint!')\n}\n\nexport class Quadkey {\n static readonly Zero = Quadkey.from(0, 0n)\n static readonly root = new Quadkey()\n static readonly type = 'Quadkey'\n\n key: bigint\n\n type = Quadkey.type\n\n private _geoJson?: GeoJson\n\n constructor(key = 0n) {\n assertMaxBitUint(key)\n this.key = key\n this.guessZoom()\n }\n\n get base10String() {\n return this.id.toString(10)\n }\n\n get base16String() {\n return this.id.toString(16).padStart(62, '0')\n }\n\n get base4Hash() {\n if (this.id === 0n && this.zoom === 0) {\n return ''\n }\n return this.id.toString(4).padStart(this.zoom, '0')\n }\n\n get base4HashLabel() {\n const hash = this.base4Hash\n return hash.length === 0 ? 'fhr' : hash\n }\n\n get boundingBox(): MercatorBoundingBox {\n return tileToBoundingBox(this.tile)\n }\n\n get center() {\n const result = boundingBoxToCenter(this.boundingBox)\n return new LngLat(result[0], result[1])\n }\n\n get children() {\n assertEx(this.zoom < MAX_ZOOM - 1, () => 'Can not get children of bottom tiles')\n const result: Quadkey[] = []\n const shiftedId = this.id << 2n\n for (let i = 0n; i < 4n; i++) {\n result.push(new Quadkey().setId(shiftedId | i).setZoom(this.zoom + 1))\n }\n return result\n }\n\n get gridLocation(): { col: number; row: number; zoom: number } {\n const tileData = tileFromQuadkey(this.base4Hash)\n\n return {\n col: 2 ** tileData[2] - tileData[1] - 1,\n row: tileData[0],\n zoom: tileData[2],\n }\n }\n\n get id() {\n return this.key & ID_MASK\n }\n\n get parent(): Quadkey | undefined {\n if (this.zoom > 0) {\n return new Quadkey().setId(this.id >> 2n).setZoom(this.zoom - 1)\n }\n }\n\n get siblings() {\n const siblings = assertEx(this.parent?.children, () => `siblings: parentChildren ${this.base4Hash}`)\n const filteredSiblings = siblings.filter(quadkey => quadkey.key !== this.key)\n assertEx(filteredSiblings.length === 3, () => `siblings: expected 3 [${filteredSiblings.length}]`)\n return filteredSiblings\n }\n\n get tile(): MercatorTile {\n return tileFromQuadkey(this.base4Hash)\n }\n\n get valid() {\n // check for additional data outside zoom scope\n return this.id.toString(4) === this.base4Hash.padStart(64, '0')\n }\n\n get zoom() {\n // zoom is stored in top byte\n return Number((this.key & ZOOM_MASK) >> 248n)\n }\n\n static from(zoom: number, id: bigint) {\n return new Quadkey().setId(id).setZoom(zoom)\n }\n\n static fromArrayBuffer(zoom: number, id: ArrayBuffer) {\n return new Quadkey().setId(BigInt(hexFromArrayBuffer(id, { prefix: true }))).setZoom(zoom)\n }\n\n static fromBase16String(value: string) {\n return new Quadkey(BigInt(hexFromHexString(value, { prefix: true })))\n }\n\n static fromBase4String(value?: string) {\n if (value === 'fhr' || value === '' || value === undefined) {\n return Quadkey.root\n }\n let id = 0n\n for (let i = 0; i < value.length; i++) {\n const nibble = Number.parseInt(value[i])\n assertEx(nibble < 4 && nibble >= 0, () => `Invalid Base4 String: ${value}`)\n id = (id << 2n) | BigInt(nibble)\n }\n return new Quadkey().setId(id).setZoom(value.length)\n }\n\n static fromBoundingBox(boundingBox: MercatorBoundingBox, zoom: number) {\n const tiles = tilesFromBoundingBox(boundingBox, Math.floor(zoom))\n const result: Quadkey[] = []\n for (const tile of tiles) {\n result.push(assertEx(Quadkey.fromTile(tile), () => 'Bad Quadkey'))\n }\n\n return result\n }\n\n static fromLngLat(point: LngLatLike, zoom: number) {\n const tile = tileFromPoint(point as MercatorLngLat, zoom)\n const quadkeyString = tileToQuadkey(tile)\n return Quadkey.fromBase4String(quadkeyString)\n }\n\n static fromString(zoom: number, id: string, base = 16) {\n switch (base) {\n case 16: {\n return Quadkey.fromBase16String(id).setZoom(zoom)\n }\n default: {\n throw new Error(`Invalid base [${base}]`)\n }\n }\n }\n\n static fromTile(tile: MercatorTile) {\n return Quadkey.fromBase4String(tileToQuadkey(tile))\n }\n\n childrenByZoom(zoom: number) {\n // if we are limiting by zoom, and we are already at that limit, just return this quadkey\n if (zoom > 0 && zoom === this.zoom) {\n return [this]\n }\n\n // recursively get children\n let deepResult: Quadkey[] = []\n for (const quadkey of this.children) {\n deepResult = [...deepResult, ...quadkey.childrenByZoom(zoom)]\n }\n return deepResult\n }\n\n clone() {\n return new Quadkey(this.key)\n }\n\n equals(obj: Quadkey): boolean {\n return obj.key == this.key\n }\n\n geoJson() {\n this._geoJson = this._geoJson ?? new GeoJson(this.base4Hash)\n return this._geoJson\n }\n\n getGridBoundingBox(size: number) {\n const hash = this.base4Hash\n let index = 0\n let left = 0\n let top = 0\n let blockSize = size\n while (index < hash.length) {\n blockSize >>= 1\n switch (hash[index]) {\n case '1': {\n left += blockSize\n break\n }\n case '2': {\n top += blockSize\n break\n }\n case '3': {\n left += blockSize\n top += blockSize\n break\n }\n }\n index++\n }\n if (blockSize < 2) {\n blockSize = 2\n }\n return {\n height: blockSize,\n left,\n top,\n width: blockSize,\n }\n }\n\n /** @deprecated use .gridLocation instead */\n getGridLocation() {\n return this.gridLocation\n }\n\n isInBoundingBox(boundingBox: MercatorBoundingBox) {\n const tileBoundingBox = tileToBoundingBox(this.tile)\n return (\n boundingBox.contains(tileBoundingBox.getNorthEast())\n || boundingBox.contains(tileBoundingBox.getNorthWest())\n || boundingBox.contains(tileBoundingBox.getSouthEast())\n || boundingBox.contains(tileBoundingBox.getSouthWest())\n )\n }\n\n relative(direction: string) {\n const directionConstant = assertEx(RelativeDirectionConstantLookup[direction], () => 'Invalid direction')\n let quadkey = this.base4Hash\n if (quadkey.length === 0) {\n return this\n }\n let index = quadkey.length - 1\n while (index >= 0) {\n let number = Number.parseInt(quadkey.charAt(index))\n number += directionConstant\n if (number > 3) {\n number -= 4\n quadkey = quadkey.slice(0, Math.max(0, index)) + number.toString() + quadkey.slice(Math.max(0, index + 1))\n index--\n } else if (number < 0) {\n number += 4\n quadkey = quadkey.slice(0, Math.max(0, index)) + number.toString() + quadkey.slice(Math.max(0, index + 1))\n index--\n } else {\n index = -1\n }\n }\n return Quadkey.fromBase4String(quadkey)\n }\n\n setId(id: bigint) {\n assertMaxBitUint(id, 248n)\n this.setKey(this.zoom, id)\n return this\n }\n\n setKey(zoom: number, key: bigint) {\n assertMaxBitUint(key)\n this.key = key\n this.setZoom(zoom)\n return this\n }\n\n setZoom(zoom: number) {\n assertEx(zoom < MAX_ZOOM, () => `Invalid zoom [${zoom}] max=${MAX_ZOOM}`)\n this.key = (this.key & ID_MASK) | (BigInt(zoom) << 248n)\n return this\n }\n\n toJSON(): string {\n return this.base4HashLabel\n }\n\n toString() {\n return this.base4Hash\n }\n\n protected guessZoom() {\n const quadkeySimple = this.id.toString(4)\n this.setZoom(quadkeySimple.length)\n }\n}\n","export const RelativeDirectionConstantLookup: Record<string, number> = {\n e: 1,\n n: -2,\n s: 2,\n w: -1,\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/Quadkey.ts","../../src/RelativeDirectionConstantLookup.ts"],"sourcesContent":["import type {\n MercatorBoundingBox,\n MercatorLngLat,\n MercatorTile,\n} from '@xylabs/geo'\nimport {\n boundingBoxToCenter,\n GeoJson,\n tileFromPoint,\n tileFromQuadkey,\n tilesFromBoundingBox,\n tileToBoundingBox,\n tileToQuadkey,\n} from '@xylabs/geo'\nimport {\n assertEx, hexFromArrayBuffer, hexFromHexString,\n} from '@xylabs/sdk-js'\nimport type { LngLatLike } from 'mapbox-gl'\nimport mb from 'mapbox-gl'\nconst { LngLat } = mb\n\nimport { RelativeDirectionConstantLookup } from './RelativeDirectionConstantLookup.ts'\n\nconst MAX_ZOOM = 124\n\nexport const isQuadkey = (obj: { type: string }) => obj?.type === Quadkey.type\n\nconst FULL_MASK = 2n ** 256n - 1n\nconst ZOOM_MASK = 0xffn << 248n\nconst ID_MASK = ZOOM_MASK ^ FULL_MASK\n\nconst assertMaxBitUint = (value: bigint, bits = 256n) => {\n assertEx(value < 2n ** bits && value >= 0, () => 'Not a 256 Bit Uint!')\n}\n\nexport class Quadkey {\n static readonly Zero = Quadkey.from(0, 0n)\n static readonly root = new Quadkey()\n static readonly type = 'Quadkey'\n\n key: bigint\n\n type = Quadkey.type\n\n private _geoJson?: GeoJson\n\n constructor(key = 0n) {\n assertMaxBitUint(key)\n this.key = key\n this.guessZoom()\n }\n\n get base10String() {\n return this.id.toString(10)\n }\n\n get base16String() {\n return this.id.toString(16).padStart(62, '0')\n }\n\n get base4Hash() {\n if (this.id === 0n && this.zoom === 0) {\n return ''\n }\n return this.id.toString(4).padStart(this.zoom, '0')\n }\n\n get base4HashLabel() {\n const hash = this.base4Hash\n return hash.length === 0 ? 'fhr' : hash\n }\n\n get boundingBox(): MercatorBoundingBox {\n return tileToBoundingBox(this.tile)\n }\n\n get center() {\n const result = boundingBoxToCenter(this.boundingBox)\n return new LngLat(result[0], result[1])\n }\n\n get children() {\n assertEx(this.zoom < MAX_ZOOM - 1, () => 'Can not get children of bottom tiles')\n const result: Quadkey[] = []\n const shiftedId = this.id << 2n\n for (let i = 0n; i < 4n; i++) {\n result.push(new Quadkey().setId(shiftedId | i).setZoom(this.zoom + 1))\n }\n return result\n }\n\n get gridLocation(): { col: number; row: number; zoom: number } {\n const tileData = tileFromQuadkey(this.base4Hash)\n\n return {\n col: 2 ** tileData[2] - tileData[1] - 1,\n row: tileData[0],\n zoom: tileData[2],\n }\n }\n\n get id() {\n return this.key & ID_MASK\n }\n\n get parent(): Quadkey | undefined {\n if (this.zoom > 0) {\n return new Quadkey().setId(this.id >> 2n).setZoom(this.zoom - 1)\n }\n }\n\n get siblings() {\n const siblings = assertEx(this.parent?.children, () => `siblings: parentChildren ${this.base4Hash}`)\n const filteredSiblings = siblings.filter(quadkey => quadkey.key !== this.key)\n assertEx(filteredSiblings.length === 3, () => `siblings: expected 3 [${filteredSiblings.length}]`)\n return filteredSiblings\n }\n\n get tile(): MercatorTile {\n return tileFromQuadkey(this.base4Hash)\n }\n\n get valid() {\n // check for additional data outside zoom scope\n return this.id.toString(4) === this.base4Hash.padStart(64, '0')\n }\n\n get zoom() {\n // zoom is stored in top byte\n return Number((this.key & ZOOM_MASK) >> 248n)\n }\n\n static from(zoom: number, id: bigint) {\n return new Quadkey().setId(id).setZoom(zoom)\n }\n\n static fromArrayBuffer(zoom: number, id: ArrayBuffer) {\n return new Quadkey().setId(BigInt(hexFromArrayBuffer(id, { prefix: true }))).setZoom(zoom)\n }\n\n static fromBase16String(value: string) {\n return new Quadkey(BigInt(hexFromHexString(value, { prefix: true })))\n }\n\n static fromBase4String(value?: string) {\n if (value === 'fhr' || value === '' || value === undefined) {\n return Quadkey.root\n }\n let id = 0n\n for (const digit of value) {\n const nibble = Number.parseInt(digit)\n assertEx(nibble < 4 && nibble >= 0, () => `Invalid Base4 String: ${value}`)\n id = (id << 2n) | BigInt(nibble)\n }\n return new Quadkey().setId(id).setZoom(value.length)\n }\n\n static fromBoundingBox(boundingBox: MercatorBoundingBox, zoom: number) {\n const tiles = tilesFromBoundingBox(boundingBox, Math.floor(zoom))\n const result: Quadkey[] = []\n for (const tile of tiles) {\n result.push(assertEx(Quadkey.fromTile(tile), () => 'Bad Quadkey'))\n }\n\n return result\n }\n\n static fromLngLat(point: LngLatLike, zoom: number) {\n const tile = tileFromPoint(point as MercatorLngLat, zoom)\n const quadkeyString = tileToQuadkey(tile)\n return Quadkey.fromBase4String(quadkeyString)\n }\n\n static fromString(zoom: number, id: string, base = 16) {\n switch (base) {\n case 16: {\n return Quadkey.fromBase16String(id).setZoom(zoom)\n }\n default: {\n throw new Error(`Invalid base [${base}]`)\n }\n }\n }\n\n static fromTile(tile: MercatorTile) {\n return Quadkey.fromBase4String(tileToQuadkey(tile))\n }\n\n childrenByZoom(zoom: number) {\n // if we are limiting by zoom, and we are already at that limit, just return this quadkey\n if (zoom > 0 && zoom === this.zoom) {\n return [this]\n }\n\n // recursively get children\n let deepResult: Quadkey[] = []\n for (const quadkey of this.children) {\n deepResult = [...deepResult, ...quadkey.childrenByZoom(zoom)]\n }\n return deepResult\n }\n\n clone() {\n return new Quadkey(this.key)\n }\n\n equals(obj: Quadkey): boolean {\n return obj.key == this.key\n }\n\n geoJson() {\n this._geoJson = this._geoJson ?? new GeoJson(this.base4Hash)\n return this._geoJson\n }\n\n getGridBoundingBox(size: number) {\n const hash = this.base4Hash\n let index = 0\n let left = 0\n let top = 0\n let blockSize = size\n while (index < hash.length) {\n blockSize >>= 1\n switch (hash[index]) {\n case '1': {\n left += blockSize\n break\n }\n case '2': {\n top += blockSize\n break\n }\n case '3': {\n left += blockSize\n top += blockSize\n break\n }\n }\n index++\n }\n if (blockSize < 2) {\n blockSize = 2\n }\n return {\n height: blockSize,\n left,\n top,\n width: blockSize,\n }\n }\n\n /** @deprecated use .gridLocation instead */\n getGridLocation() {\n return this.gridLocation\n }\n\n isInBoundingBox(boundingBox: MercatorBoundingBox) {\n const tileBoundingBox = tileToBoundingBox(this.tile)\n return (\n boundingBox.contains(tileBoundingBox.getNorthEast())\n || boundingBox.contains(tileBoundingBox.getNorthWest())\n || boundingBox.contains(tileBoundingBox.getSouthEast())\n || boundingBox.contains(tileBoundingBox.getSouthWest())\n )\n }\n\n relative(direction: string) {\n const directionConstant = assertEx(RelativeDirectionConstantLookup[direction], () => 'Invalid direction')\n let quadkey = this.base4Hash\n if (quadkey.length === 0) {\n return this\n }\n let index = quadkey.length - 1\n while (index >= 0) {\n let number = Number.parseInt(quadkey.charAt(index))\n number += directionConstant\n if (number > 3) {\n number -= 4\n quadkey = quadkey.slice(0, Math.max(0, index)) + number.toString() + quadkey.slice(Math.max(0, index + 1))\n index--\n } else if (number < 0) {\n number += 4\n quadkey = quadkey.slice(0, Math.max(0, index)) + number.toString() + quadkey.slice(Math.max(0, index + 1))\n index--\n } else {\n index = -1\n }\n }\n return Quadkey.fromBase4String(quadkey)\n }\n\n setId(id: bigint) {\n assertMaxBitUint(id, 248n)\n this.setKey(this.zoom, id)\n return this\n }\n\n setKey(zoom: number, key: bigint) {\n assertMaxBitUint(key)\n this.key = key\n this.setZoom(zoom)\n return this\n }\n\n setZoom(zoom: number) {\n assertEx(zoom < MAX_ZOOM, () => `Invalid zoom [${zoom}] max=${MAX_ZOOM}`)\n this.key = (this.key & ID_MASK) | (BigInt(zoom) << 248n)\n return this\n }\n\n toJSON(): string {\n return this.base4HashLabel\n }\n\n toString() {\n return this.base4Hash\n }\n\n protected guessZoom() {\n const quadkeySimple = this.id.toString(4)\n this.setZoom(quadkeySimple.length)\n }\n}\n","export const RelativeDirectionConstantLookup: Record<string, number> = {\n e: 1,\n n: -2,\n s: 2,\n w: -1,\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/quadkey",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -22,12 +22,10 @@
|
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
24
|
"types": "./dist/neutral/index.d.ts",
|
|
25
|
-
"import": "./dist/neutral/index.mjs",
|
|
26
25
|
"default": "./dist/neutral/index.mjs"
|
|
27
26
|
},
|
|
28
27
|
"./package.json": "./package.json"
|
|
29
28
|
},
|
|
30
|
-
"types": "dist/neutral/index.d.ts",
|
|
31
29
|
"files": [
|
|
32
30
|
"dist",
|
|
33
31
|
"!**/*.bench.*",
|
|
@@ -37,27 +35,25 @@
|
|
|
37
35
|
],
|
|
38
36
|
"devDependencies": {
|
|
39
37
|
"@opentelemetry/api": "^1.9.1",
|
|
40
|
-
"@types/node": "^25.
|
|
41
|
-
"@xylabs/geo": "^5.0.
|
|
42
|
-
"@xylabs/sdk-js": "^5.0.
|
|
43
|
-
"@xylabs/
|
|
44
|
-
"@xylabs/
|
|
45
|
-
"@xylabs/
|
|
46
|
-
"@xylabs/vitest-
|
|
47
|
-
"@xylabs/vitest-matchers": "~5.0.95",
|
|
48
|
-
"axios": "^1.14.0",
|
|
38
|
+
"@types/node": "^25.6.0",
|
|
39
|
+
"@xylabs/geo": "^5.0.97",
|
|
40
|
+
"@xylabs/sdk-js": "^5.0.97",
|
|
41
|
+
"@xylabs/toolchain": "~7.10.8",
|
|
42
|
+
"@xylabs/tsconfig": "~7.10.8",
|
|
43
|
+
"@xylabs/vitest-extended": "~5.0.97",
|
|
44
|
+
"@xylabs/vitest-matchers": "~5.0.97",
|
|
49
45
|
"esbuild": "^0.28.0",
|
|
50
|
-
"mapbox-gl": "^3.
|
|
46
|
+
"mapbox-gl": "^3.22.0",
|
|
51
47
|
"pako": "~2.1.0",
|
|
52
48
|
"typescript": "~5.9.3",
|
|
53
|
-
"vite": "^8.0.
|
|
54
|
-
"vitest": "~4.1.
|
|
49
|
+
"vite": "^8.0.8",
|
|
50
|
+
"vitest": "~4.1.4",
|
|
55
51
|
"zod": "^4.3.6"
|
|
56
52
|
},
|
|
57
53
|
"peerDependencies": {
|
|
58
|
-
"@xylabs/geo": "^5",
|
|
59
|
-
"@xylabs/sdk-js": "^5",
|
|
60
|
-
"mapbox-gl": "^3"
|
|
54
|
+
"@xylabs/geo": "^5.0.97",
|
|
55
|
+
"@xylabs/sdk-js": "^5.0.97",
|
|
56
|
+
"mapbox-gl": "^3.22.0"
|
|
61
57
|
},
|
|
62
58
|
"publishConfig": {
|
|
63
59
|
"access": "public"
|