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>
3.9 KiB
3.9 KiB
pathval
Tool for Object value retrieval given a string path for node and the browser.
What is pathval?
Pathval is a module which you can use to retrieve or set an Object's property for a given String path.
Installation
Node.js
pathval is available on npm. To install it, type:
$ npm install pathval
Browsers
You can also use it within the browser; install via npm and use the pathval.js file found within the download. For example:
<script src="./node_modules/pathval/pathval.js"></script>
Usage
The primary export of pathval is an object which has the following methods:
hasProperty(object, name)- Checks whether anobjecthasnamed property or numeric array index.getPathInfo(object, path)- Returns an object with info indicating the value of theparentof that path, thenameof the property we're retrieving and itsvalue.getPathValue(object, path)- Retrieves the value of a property at a givenpathinside anobject'.setPathValue(object, path, value)- Sets thevalueof a property at a givenpathinside anobjectand returns the object in which the property has been set.
var pathval = require('pathval');
.hasProperty(object, name)
var pathval = require('pathval');
var obj = { prop: 'a value' };
pathval.hasProperty(obj, 'prop'); // true
.getPathInfo(object, path)
var pathval = require('pathval');
var obj = { earth: { country: 'Brazil' } };
pathval.getPathInfo(obj, 'earth.country'); // { parent: { country: 'Brazil' }, name: 'country', value: 'Brazil', exists: true }
.getPathValue(object, path)
var pathval = require('pathval');
var obj = { earth: { country: 'Brazil' } };
pathval.getPathValue(obj, 'earth.country'); // 'Brazil'
.setPathValue(object, path, value)
var pathval = require('pathval');
var obj = { earth: { country: 'Brazil' } };
pathval.setPathValue(obj, 'earth.country', 'USA');
obj.earth.country; // 'USA'