@chauffleet/expo-custom-map
Version:
Open source custom map library for Expo/React Native. Use your own tiles without Google Maps, Mapbox, or API keys. Created by ChaufFleet.
58 lines • 4.43 kB
JavaScript
;
// src/utils/index.ts
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FAST_ANIMATION_DURATION = exports.SMOOTH_ANIMATION_DURATION = exports.DEFAULT_ANIMATION_DURATION = exports.DEFAULT_CACHE_SIZE_MB = exports.DEFAULT_DEBOUNCE_MS = exports.DEFAULT_THROTTLE_MS = exports.DEFAULT_MIN_ZOOM = exports.DEFAULT_MAX_ZOOM = exports.DEFAULT_TILE_SIZE = exports.RADIANS_PER_DEGREE = exports.DEGREES_PER_RADIAN = exports.EARTH_RADIUS_MILES = exports.EARTH_RADIUS_KM = exports.normalizeRadians = exports.normalizeDegrees = exports.roundTo = exports.isPointInRectangle = exports.getDistance2D = exports.interpolate = exports.clampValue = exports.interpolateCoords = exports.normalizeCoordinates = exports.tileToCoordinate = exports.coordinateToTile = exports.getBearingBetween = exports.getDistanceBetween = exports.radiansToDegrees = exports.degreesToRadians = void 0;
// Export all geographical utilities
__exportStar(require("./geoUtils"), exports);
// Export all mathematical utilities
__exportStar(require("./mathUtils"), exports);
// Re-export commonly used functions with cleaner names
var geoUtils_1 = require("./geoUtils");
Object.defineProperty(exports, "degreesToRadians", { enumerable: true, get: function () { return geoUtils_1.deg2rad; } });
Object.defineProperty(exports, "radiansToDegrees", { enumerable: true, get: function () { return geoUtils_1.rad2deg; } });
Object.defineProperty(exports, "getDistanceBetween", { enumerable: true, get: function () { return geoUtils_1.calculateDistance; } });
Object.defineProperty(exports, "getBearingBetween", { enumerable: true, get: function () { return geoUtils_1.calculateBearing; } });
Object.defineProperty(exports, "coordinateToTile", { enumerable: true, get: function () { return geoUtils_1.latLonToTile; } });
Object.defineProperty(exports, "tileToCoordinate", { enumerable: true, get: function () { return geoUtils_1.tileToLatLon; } });
Object.defineProperty(exports, "normalizeCoordinates", { enumerable: true, get: function () { return geoUtils_1.normalizeCoordinate; } });
Object.defineProperty(exports, "interpolateCoords", { enumerable: true, get: function () { return geoUtils_1.interpolateCoordinates; } });
var mathUtils_1 = require("./mathUtils");
Object.defineProperty(exports, "clampValue", { enumerable: true, get: function () { return mathUtils_1.clamp; } });
Object.defineProperty(exports, "interpolate", { enumerable: true, get: function () { return mathUtils_1.lerp; } });
Object.defineProperty(exports, "getDistance2D", { enumerable: true, get: function () { return mathUtils_1.distance2D; } });
Object.defineProperty(exports, "isPointInRectangle", { enumerable: true, get: function () { return mathUtils_1.isPointInRect; } });
Object.defineProperty(exports, "roundTo", { enumerable: true, get: function () { return mathUtils_1.roundToDecimals; } });
Object.defineProperty(exports, "normalizeDegrees", { enumerable: true, get: function () { return mathUtils_1.normalizeAngleDegrees; } });
Object.defineProperty(exports, "normalizeRadians", { enumerable: true, get: function () { return mathUtils_1.normalizeAngleRadians; } });
// Utility constants
exports.EARTH_RADIUS_KM = 6371;
exports.EARTH_RADIUS_MILES = 3959;
exports.DEGREES_PER_RADIAN = 180 / Math.PI;
exports.RADIANS_PER_DEGREE = Math.PI / 180;
// Default tile configurations
exports.DEFAULT_TILE_SIZE = 256;
exports.DEFAULT_MAX_ZOOM = 18;
exports.DEFAULT_MIN_ZOOM = 1;
// Performance constants
exports.DEFAULT_THROTTLE_MS = 16; // ~60fps
exports.DEFAULT_DEBOUNCE_MS = 100;
exports.DEFAULT_CACHE_SIZE_MB = 100;
// Animation constants
exports.DEFAULT_ANIMATION_DURATION = 300;
exports.SMOOTH_ANIMATION_DURATION = 500;
exports.FAST_ANIMATION_DURATION = 150;
//# sourceMappingURL=index.js.map