Vite + TypeScript PWA that mirrors the Android app's core features: - Pre-processed shelter data (build-time UTM33N→WGS84 conversion) - Leaflet map with shelter markers, user location, and offline tiles - Canvas compass arrow (ported from DirectionArrowView.kt) - IndexedDB shelter cache with 7-day staleness check - Service worker with CacheFirst tiles and precached app shell - i18n for en, nb, nn (ported from Android strings.xml) - iOS/Android compass handling with low-pass filter - Respects user map interaction (no auto-snap on pan/zoom) - Build revision cache-breaker for reliable SW updates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
39 lines
718 B
Markdown
39 lines
718 B
Markdown
# for-each [![build status][1]][2]
|
|
|
|
[![browser support][3]][4]
|
|
|
|
A better forEach.
|
|
|
|
## Example
|
|
|
|
Like `Array.prototype.forEach` but works on objects.
|
|
|
|
```js
|
|
var forEach = require("for-each")
|
|
|
|
forEach({ key: "value" }, function (value, key, object) {
|
|
/* code */
|
|
})
|
|
```
|
|
|
|
As a bonus, it's also a perfectly function shim/polyfill for arrays too!
|
|
|
|
```js
|
|
var forEach = require("for-each")
|
|
|
|
forEach([1, 2, 3], function (value, index, array) {
|
|
/* code */
|
|
})
|
|
```
|
|
|
|
## Installation
|
|
|
|
`npm install for-each`
|
|
|
|
## MIT Licenced
|
|
|
|
[1]: https://secure.travis-ci.org/Raynos/for-each.png
|
|
[2]: http://travis-ci.org/Raynos/for-each
|
|
[3]: https://ci.testling.com/Raynos/for-each.png
|
|
[4]: https://ci.testling.com/Raynos/for-each
|
|
|