@bhushanpawar/sqldb 1.0.7 → 1.0.9

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-search-manager.js","sourceRoot":"","sources":["../../src/search/geo-search-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Geospatial utility functions for distance calculations and geographic operations
3
+ */
4
+ import { GeoPoint, GeoDistance, GeoBounds, GeoBucket } from '../types/geo-search';
5
+ /**
6
+ * Calculate distance between two geographic points using Haversine formula
7
+ * This is accurate for most use cases and performs well
8
+ */
9
+ export declare function calculateDistance(point1: GeoPoint, point2: GeoPoint, unit?: 'km' | 'mi' | 'm'): number;
10
+ /**
11
+ * Check if a point is within a given radius from center
12
+ */
13
+ export declare function isWithinRadius(point: GeoPoint, center: GeoPoint, radius: GeoDistance): boolean;
14
+ /**
15
+ * Check if a point is within geographic bounds
16
+ */
17
+ export declare function isWithinBounds(point: GeoPoint, bounds: GeoBounds): boolean;
18
+ /**
19
+ * Calculate bounding box from center point and radius
20
+ * Returns GeoBounds that can be used for efficient filtering
21
+ */
22
+ export declare function calculateBounds(center: GeoPoint, radius: GeoDistance): GeoBounds;
23
+ /**
24
+ * Find which bucket a point belongs to
25
+ */
26
+ export declare function findBucket(point: GeoPoint, buckets: GeoBucket[]): GeoBucket | null;
27
+ /**
28
+ * Find all buckets that intersect with a search area
29
+ */
30
+ export declare function findIntersectingBuckets(center: GeoPoint, radius: GeoDistance, buckets: GeoBucket[]): GeoBucket[];
31
+ /**
32
+ * Convert distance between units
33
+ */
34
+ export declare function convertDistance(distance: number, fromUnit: 'km' | 'mi' | 'm', toUnit: 'km' | 'mi' | 'm'): number;
35
+ /**
36
+ * Format distance for display
37
+ */
38
+ export declare function formatDistance(distance: GeoDistance): string;
39
+ /**
40
+ * Calculate the center point of multiple geographic points
41
+ */
42
+ export declare function calculateCenterPoint(points: GeoPoint[]): GeoPoint;
43
+ /**
44
+ * Calculate bounding box that contains all points
45
+ */
46
+ export declare function calculateBoundingBox(points: GeoPoint[]): GeoBounds | null;
47
+ /**
48
+ * Sort points by distance from a center point
49
+ */
50
+ export declare function sortByDistance<T extends {
51
+ location: GeoPoint;
52
+ }>(items: T[], center: GeoPoint, unit?: 'km' | 'mi' | 'm'): Array<T & {
53
+ distance: number;
54
+ }>;
55
+ /**
56
+ * Validate geographic coordinates
57
+ */
58
+ export declare function isValidCoordinates(point: GeoPoint): boolean;
59
+ //# sourceMappingURL=geo-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-utils.d.ts","sourceRoot":"","sources":["../../src/search/geo-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAoBlF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,GAAE,IAAI,GAAG,IAAI,GAAG,GAAU,GAC7B,MAAM,CAyBR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAO1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CA+BhF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAWlF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,SAAS,EAAE,GACnB,SAAS,EAAE,CAwBb;AAcD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAC3B,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GACxB,MAAM,CAyBR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAmCjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,GAAG,IAAI,CAmBzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,EAC7D,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,QAAQ,EAChB,IAAI,GAAE,IAAI,GAAG,IAAI,GAAG,GAAU,GAC7B,KAAK,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAW3D"}
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ /**
3
+ * Geospatial utility functions for distance calculations and geographic operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.calculateDistance = calculateDistance;
7
+ exports.isWithinRadius = isWithinRadius;
8
+ exports.isWithinBounds = isWithinBounds;
9
+ exports.calculateBounds = calculateBounds;
10
+ exports.findBucket = findBucket;
11
+ exports.findIntersectingBuckets = findIntersectingBuckets;
12
+ exports.convertDistance = convertDistance;
13
+ exports.formatDistance = formatDistance;
14
+ exports.calculateCenterPoint = calculateCenterPoint;
15
+ exports.calculateBoundingBox = calculateBoundingBox;
16
+ exports.sortByDistance = sortByDistance;
17
+ exports.isValidCoordinates = isValidCoordinates;
18
+ const EARTH_RADIUS_KM = 6371;
19
+ const EARTH_RADIUS_MI = 3959;
20
+ const EARTH_RADIUS_M = 6371000;
21
+ /**
22
+ * Convert degrees to radians
23
+ */
24
+ function toRadians(degrees) {
25
+ return (degrees * Math.PI) / 180;
26
+ }
27
+ /**
28
+ * Convert radians to degrees
29
+ */
30
+ function toDegrees(radians) {
31
+ return (radians * 180) / Math.PI;
32
+ }
33
+ /**
34
+ * Calculate distance between two geographic points using Haversine formula
35
+ * This is accurate for most use cases and performs well
36
+ */
37
+ function calculateDistance(point1, point2, unit = 'km') {
38
+ const lat1 = toRadians(point1.lat);
39
+ const lat2 = toRadians(point2.lat);
40
+ const deltaLat = toRadians(point2.lat - point1.lat);
41
+ const deltaLng = toRadians(point2.lng - point1.lng);
42
+ const a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) +
43
+ Math.cos(lat1) * Math.cos(lat2) * Math.sin(deltaLng / 2) * Math.sin(deltaLng / 2);
44
+ const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
45
+ let radius;
46
+ switch (unit) {
47
+ case 'mi':
48
+ radius = EARTH_RADIUS_MI;
49
+ break;
50
+ case 'm':
51
+ radius = EARTH_RADIUS_M;
52
+ break;
53
+ default:
54
+ radius = EARTH_RADIUS_KM;
55
+ }
56
+ return radius * c;
57
+ }
58
+ /**
59
+ * Check if a point is within a given radius from center
60
+ */
61
+ function isWithinRadius(point, center, radius) {
62
+ const distance = calculateDistance(point, center, radius.unit);
63
+ return distance <= radius.value;
64
+ }
65
+ /**
66
+ * Check if a point is within geographic bounds
67
+ */
68
+ function isWithinBounds(point, bounds) {
69
+ return (point.lat >= bounds.southWest.lat &&
70
+ point.lat <= bounds.northEast.lat &&
71
+ point.lng >= bounds.southWest.lng &&
72
+ point.lng <= bounds.northEast.lng);
73
+ }
74
+ /**
75
+ * Calculate bounding box from center point and radius
76
+ * Returns GeoBounds that can be used for efficient filtering
77
+ */
78
+ function calculateBounds(center, radius) {
79
+ // Convert radius to kilometers for calculation
80
+ let radiusKm;
81
+ switch (radius.unit) {
82
+ case 'mi':
83
+ radiusKm = radius.value * 1.60934;
84
+ break;
85
+ case 'm':
86
+ radiusKm = radius.value / 1000;
87
+ break;
88
+ default:
89
+ radiusKm = radius.value;
90
+ }
91
+ // Calculate latitude offset
92
+ const latOffset = (radiusKm / EARTH_RADIUS_KM) * (180 / Math.PI);
93
+ // Calculate longitude offset (varies by latitude)
94
+ const lngOffset = ((radiusKm / EARTH_RADIUS_KM) * (180 / Math.PI)) / Math.cos(toRadians(center.lat));
95
+ return {
96
+ northEast: {
97
+ lat: center.lat + latOffset,
98
+ lng: center.lng + lngOffset,
99
+ },
100
+ southWest: {
101
+ lat: center.lat - latOffset,
102
+ lng: center.lng - lngOffset,
103
+ },
104
+ };
105
+ }
106
+ /**
107
+ * Find which bucket a point belongs to
108
+ */
109
+ function findBucket(point, buckets) {
110
+ for (const bucket of buckets) {
111
+ if (isWithinRadius(point, bucket.center, bucket.radius)) {
112
+ return bucket;
113
+ }
114
+ // Also check bounds if provided
115
+ if (bucket.bounds && isWithinBounds(point, bucket.bounds)) {
116
+ return bucket;
117
+ }
118
+ }
119
+ return null;
120
+ }
121
+ /**
122
+ * Find all buckets that intersect with a search area
123
+ */
124
+ function findIntersectingBuckets(center, radius, buckets) {
125
+ const searchBounds = calculateBounds(center, radius);
126
+ const intersecting = [];
127
+ for (const bucket of buckets) {
128
+ // Check if bucket center is within search radius
129
+ if (isWithinRadius(bucket.center, center, radius)) {
130
+ intersecting.push(bucket);
131
+ continue;
132
+ }
133
+ // Check if search center is within bucket
134
+ if (isWithinRadius(center, bucket.center, bucket.radius)) {
135
+ intersecting.push(bucket);
136
+ continue;
137
+ }
138
+ // Check for bounds intersection if bucket has bounds
139
+ if (bucket.bounds && boundsIntersect(searchBounds, bucket.bounds)) {
140
+ intersecting.push(bucket);
141
+ }
142
+ }
143
+ return intersecting;
144
+ }
145
+ /**
146
+ * Check if two bounding boxes intersect
147
+ */
148
+ function boundsIntersect(bounds1, bounds2) {
149
+ return !(bounds1.northEast.lat < bounds2.southWest.lat ||
150
+ bounds1.southWest.lat > bounds2.northEast.lat ||
151
+ bounds1.northEast.lng < bounds2.southWest.lng ||
152
+ bounds1.southWest.lng > bounds2.northEast.lng);
153
+ }
154
+ /**
155
+ * Convert distance between units
156
+ */
157
+ function convertDistance(distance, fromUnit, toUnit) {
158
+ if (fromUnit === toUnit)
159
+ return distance;
160
+ // Convert to km first
161
+ let km;
162
+ switch (fromUnit) {
163
+ case 'mi':
164
+ km = distance * 1.60934;
165
+ break;
166
+ case 'm':
167
+ km = distance / 1000;
168
+ break;
169
+ default:
170
+ km = distance;
171
+ }
172
+ // Convert from km to target unit
173
+ switch (toUnit) {
174
+ case 'mi':
175
+ return km / 1.60934;
176
+ case 'm':
177
+ return km * 1000;
178
+ default:
179
+ return km;
180
+ }
181
+ }
182
+ /**
183
+ * Format distance for display
184
+ */
185
+ function formatDistance(distance) {
186
+ const formatted = distance.value.toFixed(2);
187
+ return `${formatted} ${distance.unit}`;
188
+ }
189
+ /**
190
+ * Calculate the center point of multiple geographic points
191
+ */
192
+ function calculateCenterPoint(points) {
193
+ if (points.length === 0) {
194
+ throw new Error('Cannot calculate center of empty points array');
195
+ }
196
+ if (points.length === 1) {
197
+ return points[0];
198
+ }
199
+ let x = 0;
200
+ let y = 0;
201
+ let z = 0;
202
+ for (const point of points) {
203
+ const lat = toRadians(point.lat);
204
+ const lng = toRadians(point.lng);
205
+ x += Math.cos(lat) * Math.cos(lng);
206
+ y += Math.cos(lat) * Math.sin(lng);
207
+ z += Math.sin(lat);
208
+ }
209
+ const total = points.length;
210
+ x /= total;
211
+ y /= total;
212
+ z /= total;
213
+ const centralLng = Math.atan2(y, x);
214
+ const centralSquareRoot = Math.sqrt(x * x + y * y);
215
+ const centralLat = Math.atan2(z, centralSquareRoot);
216
+ return {
217
+ lat: toDegrees(centralLat),
218
+ lng: toDegrees(centralLng),
219
+ };
220
+ }
221
+ /**
222
+ * Calculate bounding box that contains all points
223
+ */
224
+ function calculateBoundingBox(points) {
225
+ if (points.length === 0)
226
+ return null;
227
+ let minLat = points[0].lat;
228
+ let maxLat = points[0].lat;
229
+ let minLng = points[0].lng;
230
+ let maxLng = points[0].lng;
231
+ for (const point of points) {
232
+ minLat = Math.min(minLat, point.lat);
233
+ maxLat = Math.max(maxLat, point.lat);
234
+ minLng = Math.min(minLng, point.lng);
235
+ maxLng = Math.max(maxLng, point.lng);
236
+ }
237
+ return {
238
+ northEast: { lat: maxLat, lng: maxLng },
239
+ southWest: { lat: minLat, lng: minLng },
240
+ };
241
+ }
242
+ /**
243
+ * Sort points by distance from a center point
244
+ */
245
+ function sortByDistance(items, center, unit = 'km') {
246
+ const itemsWithDistance = items.map((item) => ({
247
+ ...item,
248
+ distance: calculateDistance(item.location, center, unit),
249
+ }));
250
+ return itemsWithDistance.sort((a, b) => a.distance - b.distance);
251
+ }
252
+ /**
253
+ * Validate geographic coordinates
254
+ */
255
+ function isValidCoordinates(point) {
256
+ return (typeof point.lat === 'number' &&
257
+ typeof point.lng === 'number' &&
258
+ point.lat >= -90 &&
259
+ point.lat <= 90 &&
260
+ point.lng >= -180 &&
261
+ point.lng <= 180 &&
262
+ !isNaN(point.lat) &&
263
+ !isNaN(point.lng));
264
+ }
265
+ //# sourceMappingURL=geo-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo-utils.js","sourceRoot":"","sources":["../../src/search/geo-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Location normalization for handling city name variations, aliases, and canonical forms
3
+ */
4
+ import { LocationNormalization, GeoBucket, GeoPoint } from '../types/geo-search';
5
+ export declare class LocationNormalizer {
6
+ private normalizationMap;
7
+ private aliasMap;
8
+ private buckets;
9
+ constructor(buckets?: GeoBucket[], customMappings?: LocationNormalization[]);
10
+ /**
11
+ * Build normalization maps from buckets and custom mappings
12
+ */
13
+ private buildNormalizationMaps;
14
+ /**
15
+ * Normalize a location string to canonical form
16
+ */
17
+ normalize(location: string): LocationNormalization | null;
18
+ /**
19
+ * Normalize string for comparison (lowercase, trim, remove special chars)
20
+ */
21
+ private normalizeString;
22
+ /**
23
+ * Fuzzy match for common misspellings and variations
24
+ */
25
+ private fuzzyMatch;
26
+ /**
27
+ * Calculate string similarity using Dice coefficient
28
+ */
29
+ private stringSimilarity;
30
+ /**
31
+ * Get bigrams from string
32
+ */
33
+ private getBigrams;
34
+ /**
35
+ * Get coordinates for a location name
36
+ */
37
+ getCoordinates(location: string): GeoPoint | null;
38
+ /**
39
+ * Get bucket for a location name
40
+ */
41
+ getBucket(location: string): GeoBucket | null;
42
+ /**
43
+ * Find all variations of a canonical location name
44
+ */
45
+ getVariations(canonical: string): string[];
46
+ /**
47
+ * Add a custom location mapping
48
+ */
49
+ addMapping(mapping: LocationNormalization): void;
50
+ /**
51
+ * Batch add multiple mappings
52
+ */
53
+ addMappings(mappings: LocationNormalization[]): void;
54
+ /**
55
+ * Get all canonical locations
56
+ */
57
+ getAllCanonicalLocations(): string[];
58
+ /**
59
+ * Check if a location is recognized
60
+ */
61
+ isRecognized(location: string): boolean;
62
+ /**
63
+ * Get statistics about normalization coverage
64
+ */
65
+ getStats(): {
66
+ totalCanonical: number;
67
+ totalAliases: number;
68
+ totalBuckets: number;
69
+ };
70
+ }
71
+ /**
72
+ * Common location aliases for US cities
73
+ */
74
+ export declare const US_CITY_ALIASES: LocationNormalization[];
75
+ /**
76
+ * Common location aliases for international cities
77
+ */
78
+ export declare const INTERNATIONAL_CITY_ALIASES: LocationNormalization[];
79
+ //# sourceMappingURL=location-normalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-normalizer.d.ts","sourceRoot":"","sources":["../../src/search/location-normalizer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,QAAQ,EAET,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,gBAAgB,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAc;gBAG3B,OAAO,GAAE,SAAS,EAAuB,EACzC,cAAc,GAAE,qBAAqB,EAAO;IAM9C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAyCzD;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAKjD;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAO7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAgB1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAahD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAMpD;;OAEG;IACH,wBAAwB,IAAI,MAAM,EAAE;IAQpC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKvC;;OAEG;IACH,QAAQ,IAAI;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB;CAOF;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,qBAAqB,EAmDlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBAAqB,EAqB7D,CAAC"}