✨ MAJOR FEATURES: • Auto-zoom intelligence với smart bounds fitting • Enhanced 3D GPS markers với pulsing effects • Professional route display với 6-layer rendering • Status-based parking icons với availability indicators • Production-ready build optimizations 🗺️ AUTO-ZOOM FEATURES: • Smart bounds fitting cho GPS + selected parking • Adaptive padding (50px) cho visual balance • Max zoom control (level 16) để tránh quá gần • Dynamic centering khi không có selection 🎨 ENHANCED VISUALS: • 3D GPS marker với multi-layer pulse effects • Advanced parking icons với status colors • Selection highlighting với animation • Dimming system cho non-selected items 🛣️ ROUTE SYSTEM: • OpenRouteService API integration • Multi-layer route rendering (glow, shadow, main, animated) • Real-time distance & duration calculation • Visual route info trong popup 📱 PRODUCTION READY: • SSR safe với dynamic imports • Build errors resolved • Global deployment via Vercel • Optimized performance 🌍 DEPLOYMENT: • Vercel: https://whatever-ctk2auuxr-phong12hexdockworks-projects.vercel.app • Bundle size: 22.8 kB optimized • Global CDN distribution • HTTPS enabled 💾 VERSION CONTROL: • MapView-v2.0.tsx backup created • MAPVIEW_VERSIONS.md documentation • Full version history tracking
54 lines
1.7 KiB
TypeScript
54 lines
1.7 KiB
TypeScript
import type { ParserContext } from './ParserContext';
|
|
import type { Token } from './Token';
|
|
import { TextRange } from './TextRange';
|
|
/**
|
|
* Constructor parameters for {@link TokenSequence}
|
|
*/
|
|
export interface ITokenSequenceParameters {
|
|
parserContext: ParserContext;
|
|
startIndex: number;
|
|
endIndex: number;
|
|
}
|
|
/**
|
|
* Represents a sequence of tokens extracted from `ParserContext.tokens`.
|
|
* This sequence is defined by a starting index and ending index into that array.
|
|
*/
|
|
export declare class TokenSequence {
|
|
/**
|
|
* The associated parser context that the tokens come from.
|
|
*/
|
|
readonly parserContext: ParserContext;
|
|
private _startIndex;
|
|
private _endIndex;
|
|
constructor(parameters: ITokenSequenceParameters);
|
|
/**
|
|
* Constructs a TokenSequence object with no tokens.
|
|
*/
|
|
static createEmpty(parserContext: ParserContext): TokenSequence;
|
|
/**
|
|
* The starting index into the associated `ParserContext.tokens` list.
|
|
*/
|
|
get startIndex(): number;
|
|
/**
|
|
* The (non-inclusive) ending index into the associated `ParserContext.tokens` list.
|
|
*/
|
|
get endIndex(): number;
|
|
get tokens(): ReadonlyArray<Token>;
|
|
/**
|
|
* Constructs a TokenSequence that corresponds to a different range of tokens,
|
|
* e.g. a subrange.
|
|
*/
|
|
getNewSequence(startIndex: number, endIndex: number): TokenSequence;
|
|
/**
|
|
* Returns a TextRange that includes all tokens in the sequence (including any additional
|
|
* characters between doc comment lines).
|
|
*/
|
|
getContainingTextRange(): TextRange;
|
|
isEmpty(): boolean;
|
|
/**
|
|
* Returns the concatenated text of all the tokens.
|
|
*/
|
|
toString(): string;
|
|
private _validateBounds;
|
|
}
|
|
//# sourceMappingURL=TokenSequence.d.ts.map
|