✨ 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
3.2 KiB
3.3.0
-
Support EventTarget emitters in
events.oncefrom Node.js 12.11.0.Now you can use the
events.oncefunction with objects that implement the EventTarget interface. This interface is used widely in the DOM and other web APIs.var events = require('events'); var assert = require('assert'); async function connect() { var ws = new WebSocket('wss://example.com'); await events.once(ws, 'open'); assert(ws.readyState === WebSocket.OPEN); } async function onClick() { await events.once(document.body, 'click'); alert('you clicked the page!'); }
3.2.0
-
Add
events.oncefrom Node.js 11.13.0.To use this function, Promises must be supported in the environment. Use a polyfill like
es6-promiseif you support older browsers.
3.1.0 (2020-01-08)
events now matches the Node.js 11.12.0 API.
-
pass through return value in wrapped
emitter.once()listenersNow, this works:
emitter.once('myevent', function () { return 1; }); var listener = emitter.rawListeners('myevent')[0] assert(listener() === 1);Previously,
listener()would return undefined regardless of the implementation.Ported from
acc506c2d2 -
Reduce code duplication in listener type check (#67 by @friederbluemle).
-
Improve
emitter.once()performance in some engines
3.0.0 (2018-05-25)
This version drops support for IE8. events no longer includes polyfills
for ES5 features. If you need to support older environments, use an ES5 shim
like es5-shim. Both the shim and sham
versions of es5-shim are necessary.
- Update to events code from Node.js 10.x
- (semver major) Adds
off()method
- (semver major) Adds
- Port more tests from Node.js
- Switch browser tests to airtap, making things more reliable
2.1.0 (2018-05-25)
- add Emitter#rawListeners from Node.js v9.4
2.0.0 (2018-02-02)
- Update to events code from node.js 8.x
- Adds
prependListener()andprependOnceListener() - Adds
eventNames()method - (semver major) Unwrap
once()listeners inlisteners()
- Adds
- copy tests from node.js
Note that this version doubles the gzipped size, jumping from 1.1KB to 2.1KB, due to new methods and runtime performance improvements. Be aware of that when upgrading.
1.1.1 (2016-06-22)
- add more context to errors if they are not instanceof Error
1.1.0 (2015-09-29)
- add Emitter#listerCount (to match node v4 api)
1.0.2 (2014-08-28)
- remove un-reachable code
- update devDeps
1.0.1 / 2014-05-11
- check for console.trace before using it
1.0.0 / 2013-12-10
- Update to latest events code from node.js 0.10
- copy tests from node.js
0.4.0 / 2011-07-03
- Switching to graphquire@0.8.0
0.3.0 / 2011-07-03
- Switching to URL based module require.
0.2.0 / 2011-06-10
- Simplified package structure.
- Graphquire for dependency management.
0.1.1 / 2011-05-16
- Unhandled errors are logged via console.error
0.1.0 / 2011-04-22
- Initial release