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>
37 lines
1,007 B
TypeScript
37 lines
1,007 B
TypeScript
import type {Vocabulary} from "../../types"
|
|
import refKeyword from "./ref"
|
|
import typeKeyword, {JTDTypeError} from "./type"
|
|
import enumKeyword, {JTDEnumError} from "./enum"
|
|
import elements, {JTDElementsError} from "./elements"
|
|
import properties, {JTDPropertiesError} from "./properties"
|
|
import optionalProperties from "./optionalProperties"
|
|
import discriminator, {JTDDiscriminatorError} from "./discriminator"
|
|
import values, {JTDValuesError} from "./values"
|
|
import union from "./union"
|
|
import metadata from "./metadata"
|
|
|
|
const jtdVocabulary: Vocabulary = [
|
|
"definitions",
|
|
refKeyword,
|
|
typeKeyword,
|
|
enumKeyword,
|
|
elements,
|
|
properties,
|
|
optionalProperties,
|
|
discriminator,
|
|
values,
|
|
union,
|
|
metadata,
|
|
{keyword: "additionalProperties", schemaType: "boolean"},
|
|
{keyword: "nullable", schemaType: "boolean"},
|
|
]
|
|
|
|
export default jtdVocabulary
|
|
|
|
export type JTDErrorObject =
|
|
| JTDTypeError
|
|
| JTDEnumError
|
|
| JTDElementsError
|
|
| JTDPropertiesError
|
|
| JTDDiscriminatorError
|
|
| JTDValuesError
|