ropegeo-common 1.10.4 → 1.11.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.
- package/README.md +8 -11
- package/dist/models/api/endpoints/ropewikiPageView.d.ts +6 -4
- package/dist/models/api/endpoints/ropewikiPageView.d.ts.map +1 -1
- package/dist/models/api/endpoints/ropewikiPageView.js +17 -2
- package/dist/models/api/endpoints/ropewikiRegionView.d.ts +3 -3
- package/dist/models/api/endpoints/ropewikiRegionView.d.ts.map +1 -1
- package/dist/models/api/endpoints/ropewikiRegionView.js +1 -1
- package/dist/models/api/results/registerAllResultParsers.d.ts +0 -1
- package/dist/models/api/results/registerAllResultParsers.d.ts.map +1 -1
- package/dist/models/api/results/registerAllResultParsers.js +0 -1
- package/dist/models/api/results/result.d.ts +1 -2
- package/dist/models/api/results/result.d.ts.map +1 -1
- package/dist/models/api/results/result.js +1 -2
- package/dist/models/index.d.ts +3 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +8 -4
- package/dist/models/minimap/centeredRegionMiniMap.d.ts +14 -0
- package/dist/models/minimap/centeredRegionMiniMap.d.ts.map +1 -0
- package/dist/models/minimap/centeredRegionMiniMap.js +40 -0
- package/dist/models/minimap/downloadedCenteredRegionMiniMap.d.ts +14 -0
- package/dist/models/minimap/downloadedCenteredRegionMiniMap.d.ts.map +1 -0
- package/dist/models/minimap/downloadedCenteredRegionMiniMap.js +46 -0
- package/dist/models/minimap/downloadedPageMiniMap.d.ts +17 -0
- package/dist/models/minimap/downloadedPageMiniMap.d.ts.map +1 -0
- package/dist/models/minimap/downloadedPageMiniMap.js +59 -0
- package/dist/models/minimap/miniMap.d.ts +7 -3
- package/dist/models/minimap/miniMap.d.ts.map +1 -1
- package/dist/models/minimap/miniMap.js +36 -6
- package/dist/models/minimap/miniMapType.d.ts +4 -1
- package/dist/models/minimap/miniMapType.d.ts.map +1 -1
- package/dist/models/minimap/miniMapType.js +3 -0
- package/dist/models/minimap/pageMiniMap.d.ts +1 -1
- package/dist/models/minimap/pageMiniMap.d.ts.map +1 -1
- package/dist/models/minimap/pageMiniMap.js +4 -3
- package/dist/models/minimap/regionMiniMap.d.ts +4 -1
- package/dist/models/minimap/regionMiniMap.d.ts.map +1 -1
- package/dist/models/minimap/regionMiniMap.js +11 -3
- package/dist/models/mobile/savedPage.d.ts +5 -2
- package/dist/models/mobile/savedPage.d.ts.map +1 -1
- package/dist/models/mobile/savedPage.js +27 -7
- package/package.json +1 -1
- package/dist/models/api/results/ropewikiRegionBoundsResult.d.ts +0 -11
- package/dist/models/api/results/ropewikiRegionBoundsResult.d.ts.map +0 -1
- package/dist/models/api/results/ropewikiRegionBoundsResult.js +0 -19
package/README.md
CHANGED
|
@@ -149,7 +149,7 @@ Helper tables use columns **Name**, **Description**, **Import**. Model tables ad
|
|
|
149
149
|
|
|
150
150
|
| Name | Base class | Description | Import |
|
|
151
151
|
| --- | --- | --- | --- |
|
|
152
|
-
| `RoutesGeojson` | N/A | GeoJSON FeatureCollection of routes (features only;
|
|
152
|
+
| `RoutesGeojson` | N/A | GeoJSON FeatureCollection of routes (features only; region bbox is on `RegionMiniMap.bounds` in GET /ropewiki/region/{id}). | `import { RoutesGeojson } from 'ropegeo-common/models'` |
|
|
153
153
|
| `RouteResult` | `PaginationResults` | Page of GET /routes (`RouteGeoJsonFeature[]`, `total`, `page`, `resultType` `route`). | `import { RouteResult } from 'ropegeo-common/models'` |
|
|
154
154
|
|
|
155
155
|
### Route preview API (`src/models/api/results/`)
|
|
@@ -190,12 +190,6 @@ Helper tables use columns **Name**, **Description**, **Import**. Model tables ad
|
|
|
190
190
|
| `RopewikiRegionView` | N/A | Region detail view payload. | `import { RopewikiRegionView } from 'ropegeo-common/models'` |
|
|
191
191
|
| `RopewikiRegionViewResult` | `Result` | API result wrapping region view. | `import { RopewikiRegionViewResult } from 'ropegeo-common/models'` |
|
|
192
192
|
|
|
193
|
-
### Ropewiki region bounds API (`src/models/api/results/`)
|
|
194
|
-
|
|
195
|
-
| Name | Base class | Description | Import |
|
|
196
|
-
| --- | --- | --- | --- |
|
|
197
|
-
| `RopewikiRegionBoundsResult` | `Result` | GET /ropewiki/region/{id}/bounds (`Bounds` over route coordinates). | `import { RopewikiRegionBoundsResult } from 'ropegeo-common/models'` |
|
|
198
|
-
|
|
199
193
|
### Ropewiki region previews API (`src/models/api/params/`, `src/models/api/results/`)
|
|
200
194
|
|
|
201
195
|
| Name | Base class | Description | Import |
|
|
@@ -228,9 +222,12 @@ Helper tables use columns **Name**, **Description**, **Import**. Model tables ad
|
|
|
228
222
|
| --- | --- | --- | --- |
|
|
229
223
|
| `Bounds` | N/A | Geographic bounding box. | `import { Bounds } from 'ropegeo-common/models'` |
|
|
230
224
|
| `MiniMapType` | N/A | Minimap discriminator (e.g. GeoJSON). | `import { MiniMapType } from 'ropegeo-common/models'` |
|
|
231
|
-
| `MiniMap` | N/A | Abstract base for
|
|
232
|
-
| `RegionMiniMap` | `MiniMap` | Region minimap
|
|
233
|
-
| `PageMiniMap` | `MiniMap` | Page minimap
|
|
225
|
+
| `MiniMap` | N/A | Abstract base for minimaps; `fromResult` parses API wire types only. | `import { MiniMap } from 'ropegeo-common/models'` |
|
|
226
|
+
| `RegionMiniMap` | `MiniMap` | Region minimap (`geojson`): `routesParams`, `bounds` (or null), `title`. | `import { RegionMiniMap } from 'ropegeo-common/models'` |
|
|
227
|
+
| `PageMiniMap` | `MiniMap` | Page minimap (`tilesTemplate`): tiles URL, `bounds`, `title`. | `import { PageMiniMap } from 'ropegeo-common/models'` |
|
|
228
|
+
| `CenteredRegionMiniMap` | `MiniMap` | Page fallback (`centeredGeojson`): region-scoped `routesParams`, `centeredRouteId`, `title`. | `import { CenteredRegionMiniMap } from 'ropegeo-common/models'` |
|
|
229
|
+
| `DownloadedPageMiniMap` | `MiniMap` | Saved-page offline tiles (`downloadedTilesTemplate`); persisted via `SavedPage`. | `import { DownloadedPageMiniMap } from 'ropegeo-common/models'` |
|
|
230
|
+
| `DownloadedCenteredRegionMiniMap` | `MiniMap` | Saved-page offline routes file (`downloadedCenteredGeojson`); persisted via `SavedPage`. | `import { DownloadedCenteredRegionMiniMap } from 'ropegeo-common/models'` |
|
|
234
231
|
|
|
235
232
|
### Link preview (`src/models/linkPreview/`)
|
|
236
233
|
|
|
@@ -273,7 +270,7 @@ Helper tables use columns **Name**, **Description**, **Import**. Model tables ad
|
|
|
273
270
|
| `ImageVersion` | N/A | Enum of cached image variant kinds. | `import { ImageVersion } from 'ropegeo-common/models'` |
|
|
274
271
|
| `VERSION_FORMAT` | N/A | Format constant for version strings. | `import { VERSION_FORMAT } from 'ropegeo-common/models'` |
|
|
275
272
|
| `ImageVersions` | N/A | Map of image URLs by `ImageVersion`; `fromResult` for persisted JSON. | `import { ImageVersions } from 'ropegeo-common/models'` |
|
|
276
|
-
| `SavedPage` | N/A | Offline saved page record (`PagePreview` +
|
|
273
|
+
| `SavedPage` | N/A | Offline saved page record (`PagePreview` + optional `downloadedMiniMap` for offline minimaps). | `import { SavedPage } from 'ropegeo-common/models'` |
|
|
277
274
|
|
|
278
275
|
### React components (`src/components/`)
|
|
279
276
|
|
|
@@ -3,7 +3,8 @@ import { Difficulty } from '../../difficulty/difficulty';
|
|
|
3
3
|
import { PermitStatus } from '../../permitStatus';
|
|
4
4
|
import { BetaSection } from '../../betaSections/betaSection';
|
|
5
5
|
import { BetaSectionImage } from '../../betaSections/betaSectionImage';
|
|
6
|
-
import {
|
|
6
|
+
import { CenteredRegionMiniMap } from '../../minimap/centeredRegionMiniMap';
|
|
7
|
+
import { PageMiniMap } from '../../minimap/pageMiniMap';
|
|
7
8
|
import { PagePreview } from '../../previews/pagePreview';
|
|
8
9
|
type MinMax = {
|
|
9
10
|
min: number;
|
|
@@ -44,8 +45,8 @@ export declare class RopewikiPageView {
|
|
|
44
45
|
latestRevisionDate: Date;
|
|
45
46
|
bannerImage: BetaSectionImage | null;
|
|
46
47
|
betaSections: BetaSection[];
|
|
47
|
-
/** Minimap for the page route (tiles
|
|
48
|
-
miniMap:
|
|
48
|
+
/** Minimap for the page route (tiles or centered GeoJSON fallback), or null. */
|
|
49
|
+
miniMap: PageMiniMap | CenteredRegionMiniMap | null;
|
|
49
50
|
/** Page centroid in WGS84 degrees when known; otherwise null (same convention as search and Route). */
|
|
50
51
|
coordinates: {
|
|
51
52
|
lat: number;
|
|
@@ -54,7 +55,7 @@ export declare class RopewikiPageView {
|
|
|
54
55
|
constructor(name: string, aka: string[], url: string, quality: number, userVotes: number, regions: {
|
|
55
56
|
name: string;
|
|
56
57
|
id: string;
|
|
57
|
-
}[], difficulty: Difficulty, permit: PermitStatus | null, rappelCount: MinMax | number | null, jumps: number | null, vehicle: string | null, rappelLongest: number | null, shuttleTime: number | null, overallLength: number | null, descentLength: number | null, exitLength: number | null, approachLength: number | null, overallTime: MinMax | number | null, approachTime: MinMax | number | null, descentTime: MinMax | number | null, exitTime: MinMax | number | null, approachElevGain: number | null, descentElevGain: number | null, exitElevGain: number | null, months: string[], latestRevisionDate: Date, bannerImage: BetaSectionImage | null, betaSections: BetaSection[], miniMap:
|
|
58
|
+
}[], difficulty: Difficulty, permit: PermitStatus | null, rappelCount: MinMax | number | null, jumps: number | null, vehicle: string | null, rappelLongest: number | null, shuttleTime: number | null, overallLength: number | null, descentLength: number | null, exitLength: number | null, approachLength: number | null, overallTime: MinMax | number | null, approachTime: MinMax | number | null, descentTime: MinMax | number | null, exitTime: MinMax | number | null, approachElevGain: number | null, descentElevGain: number | null, exitElevGain: number | null, months: string[], latestRevisionDate: Date, bannerImage: BetaSectionImage | null, betaSections: BetaSection[], miniMap: PageMiniMap | CenteredRegionMiniMap | null, coordinates: {
|
|
58
59
|
lat: number;
|
|
59
60
|
lon: number;
|
|
60
61
|
} | null);
|
|
@@ -70,6 +71,7 @@ export declare class RopewikiPageView {
|
|
|
70
71
|
private static assertString;
|
|
71
72
|
private static assertNullableString;
|
|
72
73
|
private static assertNullableMiniMap;
|
|
74
|
+
private static parsePageMiniMap;
|
|
73
75
|
private static parseCoordinateComponent;
|
|
74
76
|
private static assertNullableCoordinates;
|
|
75
77
|
private static assertNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ropewikiPageView.d.ts","sourceRoot":"","sources":["../../../../src/models/api/endpoints/ropewikiPageView.ts"],"names":[],"mappings":"AAAA,OAAO,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ropewikiPageView.d.ts","sourceRoot":"","sources":["../../../../src/models/api/endpoints/ropewikiPageView.ts"],"names":[],"mappings":"AAAA,OAAO,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,KAAK,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C;;GAEG;AACH,qBAAa,gBAAgB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,IAAI,CAAC;IACzB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gFAAgF;IAChF,OAAO,EAAE,WAAW,GAAG,qBAAqB,GAAG,IAAI,CAAC;IACpD,uGAAuG;IACvG,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;gBAG7C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EAAE,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,EACvC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACnC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACnC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACpC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,MAAM,EAAE,MAAM,EAAE,EAChB,kBAAkB,EAAE,IAAI,EACxB,WAAW,EAAE,gBAAgB,GAAG,IAAI,EACpC,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,EAAE,WAAW,GAAG,qBAAqB,GAAG,IAAI,EACnD,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqCpD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB;IAmDpD;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAqB7C,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAapC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAmB/B,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAavC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAyBxC,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA+BjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA+B/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA2BhC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAOnC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAkBtC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAexC,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAczC"}
|
|
@@ -6,6 +6,7 @@ const difficulty_1 = require("../../difficulty/difficulty");
|
|
|
6
6
|
const permitStatus_1 = require("../../permitStatus");
|
|
7
7
|
const betaSection_1 = require("../../betaSections/betaSection");
|
|
8
8
|
const betaSectionImage_1 = require("../../betaSections/betaSectionImage");
|
|
9
|
+
const centeredRegionMiniMap_1 = require("../../minimap/centeredRegionMiniMap");
|
|
9
10
|
const miniMapType_1 = require("../../minimap/miniMapType");
|
|
10
11
|
const pageMiniMap_1 = require("../../minimap/pageMiniMap");
|
|
11
12
|
const pageDataSource_1 = require("../../pageDataSource");
|
|
@@ -90,7 +91,7 @@ class RopewikiPageView {
|
|
|
90
91
|
r.latestRevisionDate = new Date(r.latestRevisionDate);
|
|
91
92
|
r.difficulty = difficulty_1.Difficulty.fromResult(r.difficulty);
|
|
92
93
|
if (r.miniMap != null && r.miniMap !== undefined) {
|
|
93
|
-
r.miniMap =
|
|
94
|
+
r.miniMap = RopewikiPageView.parsePageMiniMap(r.miniMap);
|
|
94
95
|
}
|
|
95
96
|
else {
|
|
96
97
|
r.miniMap = null;
|
|
@@ -126,9 +127,23 @@ class RopewikiPageView {
|
|
|
126
127
|
if (v === null || v === undefined)
|
|
127
128
|
return;
|
|
128
129
|
if (typeof v !== 'object') {
|
|
129
|
-
throw new Error(`RopewikiPageView.${key} must be a PageMiniMap object or null, got: ${typeof v}`);
|
|
130
|
+
throw new Error(`RopewikiPageView.${key} must be a PageMiniMap, CenteredRegionMiniMap object, or null, got: ${typeof v}`);
|
|
130
131
|
}
|
|
131
132
|
}
|
|
133
|
+
static parsePageMiniMap(raw) {
|
|
134
|
+
if (raw == null || typeof raw !== 'object') {
|
|
135
|
+
throw new Error('RopewikiPageView.miniMap must be an object when non-null');
|
|
136
|
+
}
|
|
137
|
+
const o = raw;
|
|
138
|
+
const t = o.miniMapType;
|
|
139
|
+
if (t === miniMapType_1.MiniMapType.TilesTemplate) {
|
|
140
|
+
return pageMiniMap_1.PageMiniMap.fromResult(raw);
|
|
141
|
+
}
|
|
142
|
+
if (t === miniMapType_1.MiniMapType.CenteredGeojson) {
|
|
143
|
+
return centeredRegionMiniMap_1.CenteredRegionMiniMap.fromResult(raw);
|
|
144
|
+
}
|
|
145
|
+
throw new Error(`RopewikiPageView.miniMap must be PageMiniMap or CenteredRegionMiniMap; got miniMapType ${JSON.stringify(t)}`);
|
|
146
|
+
}
|
|
132
147
|
static parseCoordinateComponent(value) {
|
|
133
148
|
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
134
149
|
return value;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BetaSection } from '../../betaSections/betaSection';
|
|
2
|
-
import {
|
|
2
|
+
import { RegionMiniMap } from '../../minimap/regionMiniMap';
|
|
3
3
|
/**
|
|
4
4
|
* Region view for getRopewikiRegionView (GET /ropewiki/region/{id}).
|
|
5
5
|
* Contains all RopewikiRegion info for the region except the region's id.
|
|
@@ -26,8 +26,8 @@ export declare class RopewikiRegionView {
|
|
|
26
26
|
/** When the region was last synced (from updatedAt). */
|
|
27
27
|
syncDate: Date;
|
|
28
28
|
externalLink: string;
|
|
29
|
-
miniMap:
|
|
30
|
-
constructor(name: string, latestRevisionDate: Date, url: string, updatedAt: Date, miniMap:
|
|
29
|
+
miniMap: RegionMiniMap | null;
|
|
30
|
+
constructor(name: string, latestRevisionDate: Date, url: string, updatedAt: Date, miniMap: RegionMiniMap | null, regions?: {
|
|
31
31
|
name: string;
|
|
32
32
|
id: string;
|
|
33
33
|
}[], rawPageCount?: number | null, truePageCount?: number | null, trueRegionCount?: number | null, truePageCountWithDescendents?: number | null, overview?: string | null, bestMonths?: string[] | null, isMajorRegion?: boolean | null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ropewikiRegionView.d.ts","sourceRoot":"","sources":["../../../../src/models/api/endpoints/ropewikiRegionView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ropewikiRegionView.d.ts","sourceRoot":"","sources":["../../../../src/models/api/endpoints/ropewikiRegionView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,gHAAgH;IAChH,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,IAAI,CAAC;IACzB,wDAAwD;IACxD,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;gBAG1B,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,IAAI,EACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,EACxC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,EAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,EAC/B,4BAA4B,CAAC,EAAE,MAAM,GAAG,IAAI,EAC5C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAC5B,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAqBlC;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB;IAmCtD,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAarC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAYtC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA+BjC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,MAAM,CAAC,aAAa;IAY5B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAkBtC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC,OAAO,CAAC,MAAM,CAAC,cAAc;CAkBhC"}
|
|
@@ -141,7 +141,7 @@ class RopewikiRegionView {
|
|
|
141
141
|
if (v === null || v === undefined)
|
|
142
142
|
return;
|
|
143
143
|
if (typeof v !== 'object') {
|
|
144
|
-
throw new Error(`RopewikiRegionView.${key} must be a
|
|
144
|
+
throw new Error(`RopewikiRegionView.${key} must be a RegionMiniMap object or null, got: ${typeof v}`);
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
static assertValidUrl(obj, key) {
|
|
@@ -7,7 +7,6 @@ import './ropewikiPageViewResult';
|
|
|
7
7
|
import './ropewikiPageLinkPreviewResult';
|
|
8
8
|
import './ropewikiRegionViewResult';
|
|
9
9
|
import './routeResult';
|
|
10
|
-
import './ropewikiRegionBoundsResult';
|
|
11
10
|
import './routePreviewResult';
|
|
12
11
|
import './searchResults';
|
|
13
12
|
import './ropewikiRegionPreviewsResult';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerAllResultParsers.d.ts","sourceRoot":"","sources":["../../../../src/models/api/results/registerAllResultParsers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,0BAA0B,CAAC;AAClC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,eAAe,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"registerAllResultParsers.d.ts","sourceRoot":"","sources":["../../../../src/models/api/results/registerAllResultParsers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,0BAA0B,CAAC;AAClC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,eAAe,CAAC;AACvB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,iBAAiB,CAAC;AACzB,OAAO,gCAAgC,CAAC;AACxC,OAAO,8BAA8B,CAAC;AACtC,OAAO,0BAA0B,CAAC"}
|
|
@@ -9,7 +9,6 @@ require("./ropewikiPageViewResult");
|
|
|
9
9
|
require("./ropewikiPageLinkPreviewResult");
|
|
10
10
|
require("./ropewikiRegionViewResult");
|
|
11
11
|
require("./routeResult");
|
|
12
|
-
require("./ropewikiRegionBoundsResult");
|
|
13
12
|
require("./routePreviewResult");
|
|
14
13
|
require("./searchResults");
|
|
15
14
|
require("./ropewikiRegionPreviewsResult");
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Discriminator for single-result API response types (e.g. getRopewikiPageView
|
|
2
|
+
* Discriminator for single-result API response types (e.g. getRopewikiPageView).
|
|
3
3
|
* Used in response body so consumers can identify the result shape.
|
|
4
4
|
*/
|
|
5
5
|
export declare enum ResultType {
|
|
6
6
|
RopewikiPageView = "ropewikiPageView",
|
|
7
7
|
RopewikiRegionView = "ropewikiRegionView",
|
|
8
|
-
RopewikiRegionBounds = "ropewikiRegionBounds",
|
|
9
8
|
RoutePreview = "routePreview",
|
|
10
9
|
RopewikiPageLinkPreview = "ropewikiPageLinkPreview"
|
|
11
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../../src/models/api/results/result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU;IAClB,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../../src/models/api/results/result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU;IAClB,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;CACtD;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,MAAM,GACxC,IAAI,CAEN;AAED;;;;;GAKG;AACH,8BAAsB,MAAM,CAAC,CAAC,GAAG,OAAO;aAEhB,MAAM,EAAE,CAAC;aACT,UAAU,EAAE,UAAU;gBADtB,MAAM,EAAE,CAAC,EACT,UAAU,EAAE,UAAU;IAG1C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;CA2BjD"}
|
|
@@ -3,14 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Result = exports.ResultType = void 0;
|
|
4
4
|
exports.registerResultParser = registerResultParser;
|
|
5
5
|
/**
|
|
6
|
-
* Discriminator for single-result API response types (e.g. getRopewikiPageView
|
|
6
|
+
* Discriminator for single-result API response types (e.g. getRopewikiPageView).
|
|
7
7
|
* Used in response body so consumers can identify the result shape.
|
|
8
8
|
*/
|
|
9
9
|
var ResultType;
|
|
10
10
|
(function (ResultType) {
|
|
11
11
|
ResultType["RopewikiPageView"] = "ropewikiPageView";
|
|
12
12
|
ResultType["RopewikiRegionView"] = "ropewikiRegionView";
|
|
13
|
-
ResultType["RopewikiRegionBounds"] = "ropewikiRegionBounds";
|
|
14
13
|
ResultType["RoutePreview"] = "routePreview";
|
|
15
14
|
ResultType["RopewikiPageLinkPreview"] = "ropewikiPageLinkPreview";
|
|
16
15
|
})(ResultType || (exports.ResultType = ResultType = {}));
|
package/dist/models/index.d.ts
CHANGED
|
@@ -29,7 +29,6 @@ export { RegionPreview } from './previews/regionPreview';
|
|
|
29
29
|
export { Route, RouteGeoJsonFeature, RouteType } from './routes/route';
|
|
30
30
|
export { RoutesGeojson } from './api/results/routeGeojson';
|
|
31
31
|
export { RouteResult } from './api/results/routeResult';
|
|
32
|
-
export { RopewikiRegionBoundsResult } from './api/results/ropewikiRegionBoundsResult';
|
|
33
32
|
export { RoutesParams } from './api/params/routesParams';
|
|
34
33
|
export { BetaSectionImage } from './betaSections/betaSectionImage';
|
|
35
34
|
export { DownloadBytes } from './betaSections/downloadBytes';
|
|
@@ -39,6 +38,9 @@ export { MiniMapType } from './minimap/miniMapType';
|
|
|
39
38
|
export { MiniMap } from './minimap/miniMap';
|
|
40
39
|
export { RegionMiniMap } from './minimap/regionMiniMap';
|
|
41
40
|
export { PageMiniMap } from './minimap/pageMiniMap';
|
|
41
|
+
export { CenteredRegionMiniMap } from './minimap/centeredRegionMiniMap';
|
|
42
|
+
export { DownloadedPageMiniMap } from './minimap/downloadedPageMiniMap';
|
|
43
|
+
export { DownloadedCenteredRegionMiniMap } from './minimap/downloadedCenteredRegionMiniMap';
|
|
42
44
|
export { RopewikiPageView } from './api/endpoints/ropewikiPageView';
|
|
43
45
|
export { RopewikiPageViewResult } from './api/results/ropewikiPageViewResult';
|
|
44
46
|
export { LinkPreview } from './linkPreview/linkPreview';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,cAAc,EACd,UAAU,EACV,wBAAwB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,UAAU,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,yCAAyC;AACzC,OAAO,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACpF,qCAAqC;AACrC,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC5E,oCAAoC;AACpC,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,oCAAoC;AACpC,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EACH,gBAAgB,EAChB,KAAK,2BAA2B,EAChC,sCAAsC,EACtC,mCAAmC,EACnC,wBAAwB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,uBAAuB,EACvB,qCAAqC,GACxC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,0BAA0B,EAC1B,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
|
package/dist/models/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.SavedPage = exports.ImageVersions = exports.VERSION_FORMAT = exports.ImageVersion = exports.RoutePreviewResult = exports.RopewikiRegionImagesResult = exports.RopewikiRegionImagesParams = exports.RopewikiRegionImageView = exports.RegionImagesCursor = exports.RopewikiRegionPreviewsResult = exports.RopewikiRegionPreviewsParams = exports.RegionPreviewsCursor = exports.RopewikiRegionViewResult = exports.RopewikiRegionView = exports.SearchResults = exports.SearchParams = exports.SearchCursor = exports.MapDataTileKeysResults = exports.registerPaginationParser = exports.PaginationResultType = exports.PaginationResults = exports.registerCursorPaginationParser = exports.CursorPaginationResultType = exports.CursorPaginationResults = exports.registerResultParser = exports.ResultType = exports.Result = exports.PaginationParams = exports.CursorPaginationParams = exports.CursorType = exports.Cursor = exports.RopewikiPageLinkPreviewResult = exports.LinkPreviewImage = exports.LinkPreview = exports.RopewikiPageViewResult = exports.RopewikiPageView = exports.PageMiniMap = exports.RegionMiniMap = exports.MiniMap = exports.MiniMapType = exports.Bounds = exports.BetaSection = exports.DownloadBytes = exports.BetaSectionImage =
|
|
3
|
+
exports.RoutesParams = exports.RouteResult = exports.RoutesGeojson = exports.RouteType = exports.RouteGeoJsonFeature = exports.Route = exports.RegionPreview = exports.PagePreview = exports.PreviewType = exports.Preview = exports.PermitStatus = exports.SavedFilters = exports.SavedPagesFilter = exports.SearchFilter = exports.RouteFilter = exports.RiskMinMax = exports.TimeMinMax = exports.WaterMinMax = exports.TechnicalMinMax = exports.AcaDifficultyFilterOptions = exports.registerDifficultyFilterOptionsParser = exports.DifficultyFilterOptions = exports.Q_ACA_RISK = exports.Q_ACA_TIME = exports.Q_ACA_WATER = exports.Q_ACA_TECHNICAL = exports.Q_DIFFICULTY_TYPE = exports.AcaDifficultyParams = exports.isDifficultyParamsActive = exports.registerDifficultyParamsQueryParser = exports.registerDifficultyParamsQueryInference = exports.DifficultyParams = exports.DifficultyRisk = exports.DifficultyTime = exports.DifficultyWater = exports.DifficultyTechnical = exports.AcaDifficulty = exports.RISK_ORDER = exports.AcaWaterRating = exports.AcaTimeRating = exports.AcaTechnicalRating = exports.AcaRiskRating = exports.ACA_WATER_ORDER = exports.ACA_TIME_ORDER = exports.ACA_TECHNICAL_ORDER = exports.ACA_RISK_ORDER = exports.registerDifficultyParser = exports.Difficulty = exports.DifficultyType = exports.PageDataSource = void 0;
|
|
4
|
+
exports.SavedPage = exports.ImageVersions = exports.VERSION_FORMAT = exports.ImageVersion = exports.RoutePreviewResult = exports.RopewikiRegionImagesResult = exports.RopewikiRegionImagesParams = exports.RopewikiRegionImageView = exports.RegionImagesCursor = exports.RopewikiRegionPreviewsResult = exports.RopewikiRegionPreviewsParams = exports.RegionPreviewsCursor = exports.RopewikiRegionViewResult = exports.RopewikiRegionView = exports.SearchResults = exports.SearchParams = exports.SearchCursor = exports.MapDataTileKeysResults = exports.registerPaginationParser = exports.PaginationResultType = exports.PaginationResults = exports.registerCursorPaginationParser = exports.CursorPaginationResultType = exports.CursorPaginationResults = exports.registerResultParser = exports.ResultType = exports.Result = exports.PaginationParams = exports.CursorPaginationParams = exports.CursorType = exports.Cursor = exports.RopewikiPageLinkPreviewResult = exports.LinkPreviewImage = exports.LinkPreview = exports.RopewikiPageViewResult = exports.RopewikiPageView = exports.DownloadedCenteredRegionMiniMap = exports.DownloadedPageMiniMap = exports.CenteredRegionMiniMap = exports.PageMiniMap = exports.RegionMiniMap = exports.MiniMap = exports.MiniMapType = exports.Bounds = exports.BetaSection = exports.DownloadBytes = exports.BetaSectionImage = void 0;
|
|
5
5
|
require("./api/results/registerAllResultParsers");
|
|
6
6
|
require("./difficulty/registerDifficultyParsers");
|
|
7
7
|
require("./filters/registerDifficultyFilterOptionsParsers");
|
|
@@ -82,8 +82,6 @@ var routeGeojson_1 = require("./api/results/routeGeojson");
|
|
|
82
82
|
Object.defineProperty(exports, "RoutesGeojson", { enumerable: true, get: function () { return routeGeojson_1.RoutesGeojson; } });
|
|
83
83
|
var routeResult_1 = require("./api/results/routeResult");
|
|
84
84
|
Object.defineProperty(exports, "RouteResult", { enumerable: true, get: function () { return routeResult_1.RouteResult; } });
|
|
85
|
-
var ropewikiRegionBoundsResult_1 = require("./api/results/ropewikiRegionBoundsResult");
|
|
86
|
-
Object.defineProperty(exports, "RopewikiRegionBoundsResult", { enumerable: true, get: function () { return ropewikiRegionBoundsResult_1.RopewikiRegionBoundsResult; } });
|
|
87
85
|
var routesParams_1 = require("./api/params/routesParams");
|
|
88
86
|
Object.defineProperty(exports, "RoutesParams", { enumerable: true, get: function () { return routesParams_1.RoutesParams; } });
|
|
89
87
|
var betaSectionImage_1 = require("./betaSections/betaSectionImage");
|
|
@@ -102,6 +100,12 @@ var regionMiniMap_1 = require("./minimap/regionMiniMap");
|
|
|
102
100
|
Object.defineProperty(exports, "RegionMiniMap", { enumerable: true, get: function () { return regionMiniMap_1.RegionMiniMap; } });
|
|
103
101
|
var pageMiniMap_1 = require("./minimap/pageMiniMap");
|
|
104
102
|
Object.defineProperty(exports, "PageMiniMap", { enumerable: true, get: function () { return pageMiniMap_1.PageMiniMap; } });
|
|
103
|
+
var centeredRegionMiniMap_1 = require("./minimap/centeredRegionMiniMap");
|
|
104
|
+
Object.defineProperty(exports, "CenteredRegionMiniMap", { enumerable: true, get: function () { return centeredRegionMiniMap_1.CenteredRegionMiniMap; } });
|
|
105
|
+
var downloadedPageMiniMap_1 = require("./minimap/downloadedPageMiniMap");
|
|
106
|
+
Object.defineProperty(exports, "DownloadedPageMiniMap", { enumerable: true, get: function () { return downloadedPageMiniMap_1.DownloadedPageMiniMap; } });
|
|
107
|
+
var downloadedCenteredRegionMiniMap_1 = require("./minimap/downloadedCenteredRegionMiniMap");
|
|
108
|
+
Object.defineProperty(exports, "DownloadedCenteredRegionMiniMap", { enumerable: true, get: function () { return downloadedCenteredRegionMiniMap_1.DownloadedCenteredRegionMiniMap; } });
|
|
105
109
|
var ropewikiPageView_1 = require("./api/endpoints/ropewikiPageView");
|
|
106
110
|
Object.defineProperty(exports, "RopewikiPageView", { enumerable: true, get: function () { return ropewikiPageView_1.RopewikiPageView; } });
|
|
107
111
|
var ropewikiPageViewResult_1 = require("./api/results/ropewikiPageViewResult");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RoutesParams } from '../api/params/routesParams';
|
|
2
|
+
import { MiniMap } from './miniMap';
|
|
3
|
+
import { MiniMapType } from './miniMapType';
|
|
4
|
+
/**
|
|
5
|
+
* Page fallback minimap: centered route GeoJSON via getRoutes using {@link RoutesParams} (region scope).
|
|
6
|
+
*/
|
|
7
|
+
export declare class CenteredRegionMiniMap extends MiniMap {
|
|
8
|
+
readonly miniMapType = MiniMapType.CenteredGeojson;
|
|
9
|
+
routesParams: RoutesParams;
|
|
10
|
+
centeredRouteId: string;
|
|
11
|
+
constructor(routesParams: RoutesParams, centeredRouteId: string, title: string);
|
|
12
|
+
static fromResult(result: unknown): CenteredRegionMiniMap;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=centeredRegionMiniMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"centeredRegionMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/centeredRegionMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IAC9C,QAAQ,CAAC,WAAW,+BAA+B;IACnD,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;gBAEZ,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAM9E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,qBAAqB;CA0B5D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CenteredRegionMiniMap = void 0;
|
|
4
|
+
const routesParams_1 = require("../api/params/routesParams");
|
|
5
|
+
const miniMap_1 = require("./miniMap");
|
|
6
|
+
const miniMapType_1 = require("./miniMapType");
|
|
7
|
+
/** UUID v4 (same rule as {@link RoutesParams} region id). */
|
|
8
|
+
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
9
|
+
/**
|
|
10
|
+
* Page fallback minimap: centered route GeoJSON via getRoutes using {@link RoutesParams} (region scope).
|
|
11
|
+
*/
|
|
12
|
+
class CenteredRegionMiniMap extends miniMap_1.MiniMap {
|
|
13
|
+
constructor(routesParams, centeredRouteId, title) {
|
|
14
|
+
super(title);
|
|
15
|
+
this.miniMapType = miniMapType_1.MiniMapType.CenteredGeojson;
|
|
16
|
+
this.routesParams = routesParams;
|
|
17
|
+
this.centeredRouteId = centeredRouteId;
|
|
18
|
+
}
|
|
19
|
+
static fromResult(result) {
|
|
20
|
+
if (result == null || typeof result !== 'object') {
|
|
21
|
+
throw new Error('CenteredRegionMiniMap result must be an object');
|
|
22
|
+
}
|
|
23
|
+
const r = result;
|
|
24
|
+
if (r.miniMapType !== miniMapType_1.MiniMapType.CenteredGeojson) {
|
|
25
|
+
throw new Error(`CenteredRegionMiniMap.miniMapType must be "${miniMapType_1.MiniMapType.CenteredGeojson}", got: ${JSON.stringify(r.miniMapType)}`);
|
|
26
|
+
}
|
|
27
|
+
const title = miniMap_1.MiniMap.assertNonEmptyTitle(r.title, 'CenteredRegionMiniMap.title');
|
|
28
|
+
const rid = r.centeredRouteId;
|
|
29
|
+
if (typeof rid !== 'string' || !UUID_REGEX.test(rid)) {
|
|
30
|
+
throw new Error(`CenteredRegionMiniMap.centeredRouteId must be a UUID string, got: ${JSON.stringify(rid)}`);
|
|
31
|
+
}
|
|
32
|
+
const rp = r.routesParams;
|
|
33
|
+
if (rp == null || typeof rp !== 'object') {
|
|
34
|
+
throw new Error(`CenteredRegionMiniMap.routesParams must be an object, got: ${typeof rp}`);
|
|
35
|
+
}
|
|
36
|
+
const routesParams = routesParams_1.RoutesParams.fromResult(rp, true);
|
|
37
|
+
return new CenteredRegionMiniMap(routesParams, rid, title);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.CenteredRegionMiniMap = CenteredRegionMiniMap;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MiniMap } from './miniMap';
|
|
2
|
+
import { MiniMapType } from './miniMapType';
|
|
3
|
+
/**
|
|
4
|
+
* Client-persisted centered-region minimap: merged routes GeoJSON on disk (`file://` or absolute path).
|
|
5
|
+
*/
|
|
6
|
+
export declare class DownloadedCenteredRegionMiniMap extends MiniMap {
|
|
7
|
+
readonly miniMapType = MiniMapType.DownloadedCenteredGeojson;
|
|
8
|
+
downloadedGeojson: string;
|
|
9
|
+
centeredRouteId: string;
|
|
10
|
+
constructor(downloadedGeojson: string, centeredRouteId: string, title: string);
|
|
11
|
+
toPlain(): Record<string, unknown>;
|
|
12
|
+
static fromResult(result: unknown): DownloadedCenteredRegionMiniMap;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=downloadedCenteredRegionMiniMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloadedCenteredRegionMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/downloadedCenteredRegionMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,OAAO;IACxD,QAAQ,CAAC,WAAW,yCAAyC;IAC7D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;gBAEZ,iBAAiB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAM7E,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASlC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,+BAA+B;CAyBtE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DownloadedCenteredRegionMiniMap = void 0;
|
|
4
|
+
const miniMap_1 = require("./miniMap");
|
|
5
|
+
const miniMapType_1 = require("./miniMapType");
|
|
6
|
+
/** UUID v4 (same rule as {@link CenteredRegionMiniMap}). */
|
|
7
|
+
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
8
|
+
/**
|
|
9
|
+
* Client-persisted centered-region minimap: merged routes GeoJSON on disk (`file://` or absolute path).
|
|
10
|
+
*/
|
|
11
|
+
class DownloadedCenteredRegionMiniMap extends miniMap_1.MiniMap {
|
|
12
|
+
constructor(downloadedGeojson, centeredRouteId, title) {
|
|
13
|
+
super(title);
|
|
14
|
+
this.miniMapType = miniMapType_1.MiniMapType.DownloadedCenteredGeojson;
|
|
15
|
+
this.downloadedGeojson = downloadedGeojson;
|
|
16
|
+
this.centeredRouteId = centeredRouteId;
|
|
17
|
+
}
|
|
18
|
+
toPlain() {
|
|
19
|
+
return {
|
|
20
|
+
miniMapType: this.miniMapType,
|
|
21
|
+
downloadedGeojson: this.downloadedGeojson,
|
|
22
|
+
centeredRouteId: this.centeredRouteId,
|
|
23
|
+
title: this.title,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static fromResult(result) {
|
|
27
|
+
if (result == null || typeof result !== 'object') {
|
|
28
|
+
throw new Error('DownloadedCenteredRegionMiniMap result must be an object');
|
|
29
|
+
}
|
|
30
|
+
const r = result;
|
|
31
|
+
if (r.miniMapType !== miniMapType_1.MiniMapType.DownloadedCenteredGeojson) {
|
|
32
|
+
throw new Error(`DownloadedCenteredRegionMiniMap.miniMapType must be "${miniMapType_1.MiniMapType.DownloadedCenteredGeojson}", got: ${JSON.stringify(r.miniMapType)}`);
|
|
33
|
+
}
|
|
34
|
+
const title = miniMap_1.MiniMap.assertNonEmptyTitle(r.title, 'DownloadedCenteredRegionMiniMap.title');
|
|
35
|
+
const path = r.downloadedGeojson;
|
|
36
|
+
if (typeof path !== 'string' || path.length === 0) {
|
|
37
|
+
throw new Error(`DownloadedCenteredRegionMiniMap.downloadedGeojson must be a non-empty string, got: ${typeof path}`);
|
|
38
|
+
}
|
|
39
|
+
const rid = r.centeredRouteId;
|
|
40
|
+
if (typeof rid !== 'string' || !UUID_REGEX.test(rid)) {
|
|
41
|
+
throw new Error(`DownloadedCenteredRegionMiniMap.centeredRouteId must be a UUID string, got: ${JSON.stringify(rid)}`);
|
|
42
|
+
}
|
|
43
|
+
return new DownloadedCenteredRegionMiniMap(path, rid, title);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.DownloadedCenteredRegionMiniMap = DownloadedCenteredRegionMiniMap;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Bounds } from './bounds';
|
|
2
|
+
import { MiniMap } from './miniMap';
|
|
3
|
+
import { MiniMapType } from './miniMapType';
|
|
4
|
+
/**
|
|
5
|
+
* Client-persisted page minimap: local vector tile template (e.g. `file://` with `{z}/{x}/{y}`).
|
|
6
|
+
*/
|
|
7
|
+
export declare class DownloadedPageMiniMap extends MiniMap {
|
|
8
|
+
readonly miniMapType = MiniMapType.DownloadedTilesTemplate;
|
|
9
|
+
layerId: string;
|
|
10
|
+
downloadedTilesTemplate: string;
|
|
11
|
+
bounds: Bounds;
|
|
12
|
+
constructor(layerId: string, downloadedTilesTemplate: string, bounds: Bounds, title: string);
|
|
13
|
+
/** Plain object for JSON persistence (matches {@link DownloadedPageMiniMap.fromResult}). */
|
|
14
|
+
toPlain(): Record<string, unknown>;
|
|
15
|
+
static fromResult(result: unknown): DownloadedPageMiniMap;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=downloadedPageMiniMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloadedPageMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/downloadedPageMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IAC9C,QAAQ,CAAC,WAAW,uCAAuC;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;gBAGX,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,MAAM,EAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM;IAQjB,4FAA4F;IAC5F,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAelC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,qBAAqB;CAmC5D"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DownloadedPageMiniMap = void 0;
|
|
4
|
+
const bounds_1 = require("./bounds");
|
|
5
|
+
const miniMap_1 = require("./miniMap");
|
|
6
|
+
const miniMapType_1 = require("./miniMapType");
|
|
7
|
+
/**
|
|
8
|
+
* Client-persisted page minimap: local vector tile template (e.g. `file://` with `{z}/{x}/{y}`).
|
|
9
|
+
*/
|
|
10
|
+
class DownloadedPageMiniMap extends miniMap_1.MiniMap {
|
|
11
|
+
constructor(layerId, downloadedTilesTemplate, bounds, title) {
|
|
12
|
+
super(title);
|
|
13
|
+
this.miniMapType = miniMapType_1.MiniMapType.DownloadedTilesTemplate;
|
|
14
|
+
this.layerId = layerId;
|
|
15
|
+
this.downloadedTilesTemplate = downloadedTilesTemplate;
|
|
16
|
+
this.bounds = bounds;
|
|
17
|
+
}
|
|
18
|
+
/** Plain object for JSON persistence (matches {@link DownloadedPageMiniMap.fromResult}). */
|
|
19
|
+
toPlain() {
|
|
20
|
+
return {
|
|
21
|
+
miniMapType: this.miniMapType,
|
|
22
|
+
layerId: this.layerId,
|
|
23
|
+
downloadedTilesTemplate: this.downloadedTilesTemplate,
|
|
24
|
+
bounds: {
|
|
25
|
+
north: this.bounds.north,
|
|
26
|
+
south: this.bounds.south,
|
|
27
|
+
east: this.bounds.east,
|
|
28
|
+
west: this.bounds.west,
|
|
29
|
+
},
|
|
30
|
+
title: this.title,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
static fromResult(result) {
|
|
34
|
+
if (result == null || typeof result !== 'object') {
|
|
35
|
+
throw new Error('DownloadedPageMiniMap result must be an object');
|
|
36
|
+
}
|
|
37
|
+
const r = result;
|
|
38
|
+
if (r.miniMapType !== miniMapType_1.MiniMapType.DownloadedTilesTemplate) {
|
|
39
|
+
throw new Error(`DownloadedPageMiniMap.miniMapType must be "${miniMapType_1.MiniMapType.DownloadedTilesTemplate}", got: ${JSON.stringify(r.miniMapType)}`);
|
|
40
|
+
}
|
|
41
|
+
const title = miniMap_1.MiniMap.assertNonEmptyTitle(r.title, 'DownloadedPageMiniMap.title');
|
|
42
|
+
const layerId = r.layerId;
|
|
43
|
+
if (typeof layerId !== 'string' || layerId.length === 0) {
|
|
44
|
+
throw new Error(`DownloadedPageMiniMap.layerId must be a non-empty string, got: ${typeof layerId}`);
|
|
45
|
+
}
|
|
46
|
+
const downloadedTilesTemplate = r.downloadedTilesTemplate;
|
|
47
|
+
if (typeof downloadedTilesTemplate !== 'string') {
|
|
48
|
+
throw new Error(`DownloadedPageMiniMap.downloadedTilesTemplate must be a string, got: ${typeof downloadedTilesTemplate}`);
|
|
49
|
+
}
|
|
50
|
+
if (!downloadedTilesTemplate.includes('{z}') ||
|
|
51
|
+
!downloadedTilesTemplate.includes('{x}') ||
|
|
52
|
+
!downloadedTilesTemplate.includes('{y}')) {
|
|
53
|
+
throw new Error(`DownloadedPageMiniMap.downloadedTilesTemplate must contain {z}, {x}, and {y} placeholders, got: ${downloadedTilesTemplate}`);
|
|
54
|
+
}
|
|
55
|
+
const bounds = bounds_1.Bounds.fromResult(r.bounds);
|
|
56
|
+
return new DownloadedPageMiniMap(layerId, downloadedTilesTemplate, bounds, title);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.DownloadedPageMiniMap = DownloadedPageMiniMap;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { MiniMapType } from './miniMapType';
|
|
2
2
|
/**
|
|
3
|
-
* Base type for region/page minimap payloads. Use {@link MiniMap.fromResult} to parse
|
|
3
|
+
* Base type for region/page minimap payloads. Use {@link MiniMap.fromResult} to parse API `miniMapType` values.
|
|
4
|
+
* Persisted {@link MiniMapType.DownloadedTilesTemplate} / {@link MiniMapType.DownloadedCenteredGeojson} objects
|
|
5
|
+
* are parsed only via {@link SavedPage} / their concrete `fromResult` methods.
|
|
4
6
|
*/
|
|
5
7
|
export declare abstract class MiniMap {
|
|
6
8
|
abstract readonly miniMapType: MiniMapType;
|
|
9
|
+
readonly title: string;
|
|
10
|
+
protected constructor(title: string);
|
|
11
|
+
static assertNonEmptyTitle(value: unknown, context: string): string;
|
|
7
12
|
/**
|
|
8
|
-
* Validates `miniMapType` and delegates to
|
|
9
|
-
* {@link PageMiniMap.fromResult}.
|
|
13
|
+
* Validates `miniMapType` and delegates to the matching API minimap parser.
|
|
10
14
|
*/
|
|
11
15
|
static fromResult(result: unknown): MiniMap;
|
|
12
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/miniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"miniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/miniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C;;;;GAIG;AACH,8BAAsB,OAAO;IACzB,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,SAAS,aAAa,KAAK,EAAE,MAAM;IAKnC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAOnE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;CA2C9C"}
|
|
@@ -2,13 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MiniMap = void 0;
|
|
4
4
|
const miniMapType_1 = require("./miniMapType");
|
|
5
|
+
/** `MiniMap.fromResult` accepts only wire shapes produced by the WebScraper API. */
|
|
6
|
+
const API_MINI_MAP_TYPES = new Set([
|
|
7
|
+
miniMapType_1.MiniMapType.GeoJson,
|
|
8
|
+
miniMapType_1.MiniMapType.TilesTemplate,
|
|
9
|
+
miniMapType_1.MiniMapType.CenteredGeojson,
|
|
10
|
+
]);
|
|
5
11
|
/**
|
|
6
|
-
* Base type for region/page minimap payloads. Use {@link MiniMap.fromResult} to parse
|
|
12
|
+
* Base type for region/page minimap payloads. Use {@link MiniMap.fromResult} to parse API `miniMapType` values.
|
|
13
|
+
* Persisted {@link MiniMapType.DownloadedTilesTemplate} / {@link MiniMapType.DownloadedCenteredGeojson} objects
|
|
14
|
+
* are parsed only via {@link SavedPage} / their concrete `fromResult` methods.
|
|
7
15
|
*/
|
|
8
16
|
class MiniMap {
|
|
17
|
+
constructor(title) {
|
|
18
|
+
MiniMap.assertNonEmptyTitle(title, 'MiniMap.title');
|
|
19
|
+
this.title = title;
|
|
20
|
+
}
|
|
21
|
+
static assertNonEmptyTitle(value, context) {
|
|
22
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
23
|
+
throw new Error(`${context} must be a non-empty string`);
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
9
27
|
/**
|
|
10
|
-
* Validates `miniMapType` and delegates to
|
|
11
|
-
* {@link PageMiniMap.fromResult}.
|
|
28
|
+
* Validates `miniMapType` and delegates to the matching API minimap parser.
|
|
12
29
|
*/
|
|
13
30
|
static fromResult(result) {
|
|
14
31
|
if (result == null || typeof result !== 'object') {
|
|
@@ -16,9 +33,15 @@ class MiniMap {
|
|
|
16
33
|
}
|
|
17
34
|
const r = result;
|
|
18
35
|
const t = r.miniMapType;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
36
|
+
if (typeof t !== 'string') {
|
|
37
|
+
throw new Error(`MiniMap.miniMapType must be a string, got: ${JSON.stringify(t)}`);
|
|
38
|
+
}
|
|
39
|
+
if (!API_MINI_MAP_TYPES.has(t)) {
|
|
40
|
+
const all = Object.values(miniMapType_1.MiniMapType);
|
|
41
|
+
if (all.includes(t)) {
|
|
42
|
+
throw new Error(`MiniMap.fromResult does not accept miniMapType ${JSON.stringify(t)}; use the concrete class fromResult or SavedPage`);
|
|
43
|
+
}
|
|
44
|
+
throw new Error(`MiniMap.miniMapType must be one of [${[...API_MINI_MAP_TYPES].join(', ')}], got: ${JSON.stringify(t)}`);
|
|
22
45
|
}
|
|
23
46
|
switch (t) {
|
|
24
47
|
case miniMapType_1.MiniMapType.GeoJson: {
|
|
@@ -29,6 +52,13 @@ class MiniMap {
|
|
|
29
52
|
const { PageMiniMap } = require('./pageMiniMap');
|
|
30
53
|
return PageMiniMap.fromResult(result);
|
|
31
54
|
}
|
|
55
|
+
case miniMapType_1.MiniMapType.CenteredGeojson: {
|
|
56
|
+
const { CenteredRegionMiniMap } = require('./centeredRegionMiniMap');
|
|
57
|
+
return CenteredRegionMiniMap.fromResult(result);
|
|
58
|
+
}
|
|
59
|
+
default: {
|
|
60
|
+
throw new Error(`MiniMap.fromResult: unhandled API miniMapType ${JSON.stringify(t)}`);
|
|
61
|
+
}
|
|
32
62
|
}
|
|
33
63
|
}
|
|
34
64
|
}
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare enum MiniMapType {
|
|
5
5
|
GeoJson = "geojson",
|
|
6
|
-
TilesTemplate = "tilesTemplate"
|
|
6
|
+
TilesTemplate = "tilesTemplate",
|
|
7
|
+
CenteredGeojson = "centeredGeojson",
|
|
8
|
+
DownloadedTilesTemplate = "downloadedTilesTemplate",
|
|
9
|
+
DownloadedCenteredGeojson = "downloadedCenteredGeojson"
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=miniMapType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miniMapType.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/miniMapType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"miniMapType.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/miniMapType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,uBAAuB,4BAA4B;IACnD,yBAAyB,8BAA8B;CAC1D"}
|
|
@@ -8,4 +8,7 @@ var MiniMapType;
|
|
|
8
8
|
(function (MiniMapType) {
|
|
9
9
|
MiniMapType["GeoJson"] = "geojson";
|
|
10
10
|
MiniMapType["TilesTemplate"] = "tilesTemplate";
|
|
11
|
+
MiniMapType["CenteredGeojson"] = "centeredGeojson";
|
|
12
|
+
MiniMapType["DownloadedTilesTemplate"] = "downloadedTilesTemplate";
|
|
13
|
+
MiniMapType["DownloadedCenteredGeojson"] = "downloadedCenteredGeojson";
|
|
11
14
|
})(MiniMapType || (exports.MiniMapType = MiniMapType = {}));
|
|
@@ -9,7 +9,7 @@ export declare class PageMiniMap extends MiniMap {
|
|
|
9
9
|
layerId: string;
|
|
10
10
|
tilesTemplate: string;
|
|
11
11
|
bounds: Bounds;
|
|
12
|
-
constructor(layerId: string, tilesTemplate: string, bounds: Bounds);
|
|
12
|
+
constructor(layerId: string, tilesTemplate: string, bounds: Bounds, title: string);
|
|
13
13
|
static fromResult(result: unknown): PageMiniMap;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=pageMiniMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/pageMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACpC,QAAQ,CAAC,WAAW,6BAA6B;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"pageMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/pageMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACpC,QAAQ,CAAC,WAAW,6BAA6B;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOjF,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW;CAmClD"}
|
|
@@ -8,8 +8,8 @@ const miniMapType_1 = require("./miniMapType");
|
|
|
8
8
|
* Page minimap: vector tiles for a single route/page.
|
|
9
9
|
*/
|
|
10
10
|
class PageMiniMap extends miniMap_1.MiniMap {
|
|
11
|
-
constructor(layerId, tilesTemplate, bounds) {
|
|
12
|
-
super();
|
|
11
|
+
constructor(layerId, tilesTemplate, bounds, title) {
|
|
12
|
+
super(title);
|
|
13
13
|
this.miniMapType = miniMapType_1.MiniMapType.TilesTemplate;
|
|
14
14
|
this.layerId = layerId;
|
|
15
15
|
this.tilesTemplate = tilesTemplate;
|
|
@@ -23,6 +23,7 @@ class PageMiniMap extends miniMap_1.MiniMap {
|
|
|
23
23
|
if (r.miniMapType !== miniMapType_1.MiniMapType.TilesTemplate) {
|
|
24
24
|
throw new Error(`PageMiniMap.miniMapType must be "${miniMapType_1.MiniMapType.TilesTemplate}", got: ${JSON.stringify(r.miniMapType)}`);
|
|
25
25
|
}
|
|
26
|
+
const title = miniMap_1.MiniMap.assertNonEmptyTitle(r.title, 'PageMiniMap.title');
|
|
26
27
|
const layerId = r.layerId;
|
|
27
28
|
if (typeof layerId !== 'string' || layerId.length === 0) {
|
|
28
29
|
throw new Error(`PageMiniMap.layerId must be a non-empty string, got: ${typeof layerId}`);
|
|
@@ -37,7 +38,7 @@ class PageMiniMap extends miniMap_1.MiniMap {
|
|
|
37
38
|
throw new Error(`PageMiniMap.tilesTemplate must contain {z}, {x}, and {y} placeholders, got: ${tilesTemplate}`);
|
|
38
39
|
}
|
|
39
40
|
const bounds = bounds_1.Bounds.fromResult(r.bounds);
|
|
40
|
-
return new PageMiniMap(layerId, tilesTemplate, bounds);
|
|
41
|
+
return new PageMiniMap(layerId, tilesTemplate, bounds, title);
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
exports.PageMiniMap = PageMiniMap;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RoutesParams } from '../api/params/routesParams';
|
|
2
|
+
import { Bounds } from './bounds';
|
|
2
3
|
import { MiniMap } from './miniMap';
|
|
3
4
|
import { MiniMapType } from './miniMapType';
|
|
4
5
|
/**
|
|
@@ -7,7 +8,9 @@ import { MiniMapType } from './miniMapType';
|
|
|
7
8
|
export declare class RegionMiniMap extends MiniMap {
|
|
8
9
|
readonly miniMapType = MiniMapType.GeoJson;
|
|
9
10
|
routesParams: RoutesParams;
|
|
10
|
-
|
|
11
|
+
/** Null when the region subtree has no route coordinates to bound. */
|
|
12
|
+
bounds: Bounds | null;
|
|
13
|
+
constructor(routesParams: RoutesParams, bounds: Bounds | null, title: string);
|
|
11
14
|
static fromResult(result: unknown): RegionMiniMap;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=regionMiniMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regionMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/regionMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACtC,QAAQ,CAAC,WAAW,uBAAuB;IAC3C,YAAY,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"regionMiniMap.d.ts","sourceRoot":"","sources":["../../../src/models/minimap/regionMiniMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACtC,QAAQ,CAAC,WAAW,uBAAuB;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,sEAAsE;IACtE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEV,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM;IAM5E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa;CAyBpD"}
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RegionMiniMap = void 0;
|
|
4
4
|
const routesParams_1 = require("../api/params/routesParams");
|
|
5
|
+
const bounds_1 = require("./bounds");
|
|
5
6
|
const miniMap_1 = require("./miniMap");
|
|
6
7
|
const miniMapType_1 = require("./miniMapType");
|
|
7
8
|
/**
|
|
8
9
|
* Region minimap: loads route GeoJSON via getRoutes using {@link RoutesParams}.
|
|
9
10
|
*/
|
|
10
11
|
class RegionMiniMap extends miniMap_1.MiniMap {
|
|
11
|
-
constructor(routesParams) {
|
|
12
|
-
super();
|
|
12
|
+
constructor(routesParams, bounds, title) {
|
|
13
|
+
super(title);
|
|
13
14
|
this.miniMapType = miniMapType_1.MiniMapType.GeoJson;
|
|
14
15
|
this.routesParams = routesParams;
|
|
16
|
+
this.bounds = bounds;
|
|
15
17
|
}
|
|
16
18
|
static fromResult(result) {
|
|
17
19
|
if (result == null || typeof result !== 'object') {
|
|
@@ -21,12 +23,18 @@ class RegionMiniMap extends miniMap_1.MiniMap {
|
|
|
21
23
|
if (r.miniMapType !== miniMapType_1.MiniMapType.GeoJson) {
|
|
22
24
|
throw new Error(`RegionMiniMap.miniMapType must be "${miniMapType_1.MiniMapType.GeoJson}", got: ${JSON.stringify(r.miniMapType)}`);
|
|
23
25
|
}
|
|
26
|
+
if (!('bounds' in r)) {
|
|
27
|
+
throw new Error('RegionMiniMap.bounds must be present (Bounds object or null)');
|
|
28
|
+
}
|
|
29
|
+
const b = r.bounds;
|
|
30
|
+
const bounds = b === null ? null : bounds_1.Bounds.fromResult(b);
|
|
31
|
+
const title = miniMap_1.MiniMap.assertNonEmptyTitle(r.title, 'RegionMiniMap.title');
|
|
24
32
|
const rp = r.routesParams;
|
|
25
33
|
if (rp == null || typeof rp !== 'object') {
|
|
26
34
|
throw new Error(`RegionMiniMap.routesParams must be an object, got: ${typeof rp}`);
|
|
27
35
|
}
|
|
28
36
|
const routesParams = routesParams_1.RoutesParams.fromResult(rp, true);
|
|
29
|
-
return new RegionMiniMap(routesParams);
|
|
37
|
+
return new RegionMiniMap(routesParams, bounds, title);
|
|
30
38
|
}
|
|
31
39
|
}
|
|
32
40
|
exports.RegionMiniMap = RegionMiniMap;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { DownloadedCenteredRegionMiniMap } from '../minimap/downloadedCenteredRegionMiniMap';
|
|
2
|
+
import { DownloadedPageMiniMap } from '../minimap/downloadedPageMiniMap';
|
|
1
3
|
import { PagePreview } from '../previews/pagePreview';
|
|
2
4
|
import { RouteType } from '../routes/route';
|
|
3
5
|
import { RopewikiPageView } from '../api/endpoints/ropewikiPageView';
|
|
@@ -12,8 +14,8 @@ export declare class SavedPage {
|
|
|
12
14
|
readonly savedAt: number;
|
|
13
15
|
readonly downloadedPageView: string | null;
|
|
14
16
|
readonly downloadedImages: Record<string, ImageVersions> | null;
|
|
15
|
-
readonly
|
|
16
|
-
constructor(preview: PagePreview, routeType: RouteType, savedAt: number, downloadedPageView?: string | null, downloadedImages?: Record<string, ImageVersions> | null,
|
|
17
|
+
readonly downloadedMiniMap: DownloadedPageMiniMap | DownloadedCenteredRegionMiniMap | null;
|
|
18
|
+
constructor(preview: PagePreview, routeType: RouteType, savedAt: number, downloadedPageView?: string | null, downloadedImages?: Record<string, ImageVersions> | null, downloadedMiniMap?: DownloadedPageMiniMap | DownloadedCenteredRegionMiniMap | null);
|
|
17
19
|
static fromJsonString(jsonString: string): SavedPage;
|
|
18
20
|
/**
|
|
19
21
|
* Builds a SavedPage from API data when the user saves from a page screen.
|
|
@@ -25,6 +27,7 @@ export declare class SavedPage {
|
|
|
25
27
|
*/
|
|
26
28
|
applyDownloadedImagesToPageView(data: RopewikiPageView): RopewikiPageView;
|
|
27
29
|
toString(): string;
|
|
30
|
+
private static parseDownloadedMiniMap;
|
|
28
31
|
private static parseDownloadedImages;
|
|
29
32
|
private static toDisplayUri;
|
|
30
33
|
private static patchBetaImage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"savedPage.d.ts","sourceRoot":"","sources":["../../../src/models/mobile/savedPage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAgB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA8C9D;;;GAGG;AACH,qBAAa,SAAS;IAClB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAE9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;IAEhE,QAAQ,CAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"savedPage.d.ts","sourceRoot":"","sources":["../../../src/models/mobile/savedPage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAgB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA8C9D;;;GAGG;AACH,qBAAa,SAAS;IAClB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAE9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;IAEhE,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,+BAA+B,GAAG,IAAI,CAAC;gBAGvF,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,kBAAkB,GAAE,MAAM,GAAG,IAAW,EACxC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAW,EAC7D,iBAAiB,GAAE,qBAAqB,GAAG,+BAA+B,GAAG,IAAW;IAU5F,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IA0CpD;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CACvB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,GAClB,SAAS;IAQZ;;OAEG;IACH,+BAA+B,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;IA8CzE,QAAQ,IAAI,MAAM;IAkBlB,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgBpC,OAAO,CAAC,MAAM,CAAC,YAAY;IAO3B,OAAO,CAAC,MAAM,CAAC,cAAc;CAsBhC"}
|
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SavedPage = void 0;
|
|
4
4
|
const betaSectionImage_1 = require("../betaSections/betaSectionImage");
|
|
5
5
|
const acaDifficulty_1 = require("../difficulty/acaDifficulty");
|
|
6
|
+
const downloadedCenteredRegionMiniMap_1 = require("../minimap/downloadedCenteredRegionMiniMap");
|
|
7
|
+
const downloadedPageMiniMap_1 = require("../minimap/downloadedPageMiniMap");
|
|
8
|
+
const miniMapType_1 = require("../minimap/miniMapType");
|
|
6
9
|
const pagePreview_1 = require("../previews/pagePreview");
|
|
7
10
|
const route_1 = require("../routes/route");
|
|
8
11
|
const ropewikiPageView_1 = require("../api/endpoints/ropewikiPageView");
|
|
@@ -51,13 +54,13 @@ function pagePreviewToPlain(p) {
|
|
|
51
54
|
* `toString()` returns JSON for persistence.
|
|
52
55
|
*/
|
|
53
56
|
class SavedPage {
|
|
54
|
-
constructor(preview, routeType, savedAt, downloadedPageView = null, downloadedImages = null,
|
|
57
|
+
constructor(preview, routeType, savedAt, downloadedPageView = null, downloadedImages = null, downloadedMiniMap = null) {
|
|
55
58
|
this.preview = preview;
|
|
56
59
|
this.routeType = routeType;
|
|
57
60
|
this.savedAt = savedAt;
|
|
58
61
|
this.downloadedPageView = downloadedPageView;
|
|
59
62
|
this.downloadedImages = downloadedImages;
|
|
60
|
-
this.
|
|
63
|
+
this.downloadedMiniMap = downloadedMiniMap;
|
|
61
64
|
}
|
|
62
65
|
static fromJsonString(jsonString) {
|
|
63
66
|
let parsed;
|
|
@@ -79,14 +82,15 @@ class SavedPage {
|
|
|
79
82
|
assertRouteType(o.routeType);
|
|
80
83
|
assertFiniteNumber(o.savedAt, 'savedAt');
|
|
81
84
|
const preview = pagePreview_1.PagePreview.fromResult(o.preview);
|
|
85
|
+
if ('downloadedMapData' in o && o.downloadedMapData != null) {
|
|
86
|
+
throw new Error('SavedPage: legacy key "downloadedMapData" is no longer supported; re-download the page');
|
|
87
|
+
}
|
|
82
88
|
const downloadedPageView = 'downloadedPageView' in o && o.downloadedPageView != null
|
|
83
89
|
? String(o.downloadedPageView)
|
|
84
90
|
: null;
|
|
85
91
|
const downloadedImages = SavedPage.parseDownloadedImages(o.downloadedImages);
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
: null;
|
|
89
|
-
return new SavedPage(preview, o.routeType, o.savedAt, downloadedPageView, downloadedImages, downloadedMapData);
|
|
92
|
+
const downloadedMiniMap = SavedPage.parseDownloadedMiniMap(o.downloadedMiniMap);
|
|
93
|
+
return new SavedPage(preview, o.routeType, o.savedAt, downloadedPageView, downloadedImages, downloadedMiniMap);
|
|
90
94
|
}
|
|
91
95
|
/**
|
|
92
96
|
* Builds a SavedPage from API data when the user saves from a page screen.
|
|
@@ -120,9 +124,25 @@ class SavedPage {
|
|
|
120
124
|
savedAt: this.savedAt,
|
|
121
125
|
downloadedPageView: this.downloadedPageView,
|
|
122
126
|
downloadedImages: imagesPlain,
|
|
123
|
-
|
|
127
|
+
downloadedMiniMap: this.downloadedMiniMap == null ? null : this.downloadedMiniMap.toPlain(),
|
|
124
128
|
});
|
|
125
129
|
}
|
|
130
|
+
static parseDownloadedMiniMap(raw) {
|
|
131
|
+
if (raw == null || raw === undefined)
|
|
132
|
+
return null;
|
|
133
|
+
if (typeof raw !== 'object') {
|
|
134
|
+
throw new Error('SavedPage.downloadedMiniMap must be an object or null');
|
|
135
|
+
}
|
|
136
|
+
const o = raw;
|
|
137
|
+
const t = o.miniMapType;
|
|
138
|
+
if (t === miniMapType_1.MiniMapType.DownloadedTilesTemplate) {
|
|
139
|
+
return downloadedPageMiniMap_1.DownloadedPageMiniMap.fromResult(raw);
|
|
140
|
+
}
|
|
141
|
+
if (t === miniMapType_1.MiniMapType.DownloadedCenteredGeojson) {
|
|
142
|
+
return downloadedCenteredRegionMiniMap_1.DownloadedCenteredRegionMiniMap.fromResult(raw);
|
|
143
|
+
}
|
|
144
|
+
throw new Error(`SavedPage.downloadedMiniMap: unsupported miniMapType ${JSON.stringify(t)}`);
|
|
145
|
+
}
|
|
126
146
|
static parseDownloadedImages(raw) {
|
|
127
147
|
if (raw == null)
|
|
128
148
|
return null;
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Bounds } from '../../minimap/bounds';
|
|
2
|
-
import { Result } from './result';
|
|
3
|
-
/**
|
|
4
|
-
* Result of GET /ropewiki/region/{id}/bounds (bounding box over route coordinates).
|
|
5
|
-
*/
|
|
6
|
-
export declare class RopewikiRegionBoundsResult extends Result<Bounds> {
|
|
7
|
-
readonly result: Bounds;
|
|
8
|
-
constructor(result: Bounds);
|
|
9
|
-
static fromResult(value: unknown): RopewikiRegionBoundsResult;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=ropewikiRegionBoundsResult.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ropewikiRegionBoundsResult.d.ts","sourceRoot":"","sources":["../../../../src/models/api/results/ropewikiRegionBoundsResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAwB,MAAM,EAAc,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,MAAM,CAAC,MAAM,CAAC;aAC9B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAI1C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B;CAGhE"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RopewikiRegionBoundsResult = void 0;
|
|
4
|
-
const bounds_1 = require("../../minimap/bounds");
|
|
5
|
-
const result_1 = require("./result");
|
|
6
|
-
/**
|
|
7
|
-
* Result of GET /ropewiki/region/{id}/bounds (bounding box over route coordinates).
|
|
8
|
-
*/
|
|
9
|
-
class RopewikiRegionBoundsResult extends result_1.Result {
|
|
10
|
-
constructor(result) {
|
|
11
|
-
super(result, result_1.ResultType.RopewikiRegionBounds);
|
|
12
|
-
this.result = result;
|
|
13
|
-
}
|
|
14
|
-
static fromResult(value) {
|
|
15
|
-
return new RopewikiRegionBoundsResult(bounds_1.Bounds.fromResult(value));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.RopewikiRegionBoundsResult = RopewikiRegionBoundsResult;
|
|
19
|
-
(0, result_1.registerResultParser)(result_1.ResultType.RopewikiRegionBounds, (v) => RopewikiRegionBoundsResult.fromResult(v));
|