routess 1.122.7 → 1.123.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +38 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3734,10 +3734,48 @@ var require_routing = __commonJS((exports) => {
3734
3734
  const { routeDistance: _rd, routeDuration: _rdur, ...rest } = persisted;
3735
3735
  return rest;
3736
3736
  };
3737
+ function createQuotaSafeStorage(logger) {
3738
+ return {
3739
+ getItem: (name) => {
3740
+ try {
3741
+ return localStorage.getItem(name);
3742
+ } catch {
3743
+ return null;
3744
+ }
3745
+ },
3746
+ setItem: (name, value) => {
3747
+ try {
3748
+ localStorage.setItem(name, value);
3749
+ return;
3750
+ } catch (err) {
3751
+ if (!(err instanceof DOMException) || err.name !== "QuotaExceededError") {
3752
+ throw err;
3753
+ }
3754
+ }
3755
+ try {
3756
+ const parsed = JSON.parse(value);
3757
+ if (parsed.state) {
3758
+ parsed.state.routePath = [];
3759
+ parsed.state.elevationProfile = undefined;
3760
+ }
3761
+ localStorage.setItem(name, JSON.stringify(parsed));
3762
+ logger.warn("[RoutingStore] localStorage quota exceeded; dropped routePath/elevationProfile from persisted snapshot");
3763
+ } catch (retryErr) {
3764
+ logger.error("[RoutingStore] Failed to persist trimmed snapshot:", retryErr);
3765
+ }
3766
+ },
3767
+ removeItem: (name) => {
3768
+ try {
3769
+ localStorage.removeItem(name);
3770
+ } catch {}
3771
+ }
3772
+ };
3773
+ }
3737
3774
  function createRoutingStore(logger) {
3738
3775
  const persistConfig = {
3739
3776
  name: "routing-store",
3740
3777
  version: 3,
3778
+ storage: (0, middleware_1.createJSONStorage)(() => createQuotaSafeStorage(logger)),
3741
3779
  migrate: (persisted, version) => {
3742
3780
  let next = persisted ?? {};
3743
3781
  if (version < 1) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "routess",
3
- "version": "1.122.7",
3
+ "version": "1.123.0",
4
4
  "description": "Command-line interface for Routess, the route-planning product for cyclists, runners, and hikers.",
5
5
  "private": false,
6
6
  "type": "module",