ropegeo-common 1.17.2 → 1.18.1
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 +34 -3
- package/dist/download/dependencies/downloadDependencyKeys.d.ts +13 -0
- package/dist/download/dependencies/downloadDependencyKeys.d.ts.map +1 -0
- package/dist/download/dependencies/downloadDependencyKeys.js +14 -0
- package/dist/download/dependencies/fetchImageFilesTaskDependency.d.ts +9 -0
- package/dist/download/dependencies/fetchImageFilesTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/fetchImageFilesTaskDependency.js +51 -0
- package/dist/download/dependencies/fetchMapboxPackTaskDependency.d.ts +10 -0
- package/dist/download/dependencies/fetchMapboxPackTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/fetchMapboxPackTaskDependency.js +24 -0
- package/dist/download/dependencies/fetchPageJsonTaskDependency.d.ts +18 -0
- package/dist/download/dependencies/fetchPageJsonTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/fetchPageJsonTaskDependency.js +48 -0
- package/dist/download/dependencies/fetchRegionRouteListTaskDependency.d.ts +23 -0
- package/dist/download/dependencies/fetchRegionRouteListTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/fetchRegionRouteListTaskDependency.js +58 -0
- package/dist/download/dependencies/fetchRopeGeoTileFilesTaskDependency.d.ts +17 -0
- package/dist/download/dependencies/fetchRopeGeoTileFilesTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/fetchRopeGeoTileFilesTaskDependency.js +48 -0
- package/dist/download/dependencies/fetchRopeGeoTileListTaskDependency.d.ts +20 -0
- package/dist/download/dependencies/fetchRopeGeoTileListTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/fetchRopeGeoTileListTaskDependency.js +52 -0
- package/dist/download/dependencies/saveOfflinePageImagesTaskDependency.d.ts +9 -0
- package/dist/download/dependencies/saveOfflinePageImagesTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/saveOfflinePageImagesTaskDependency.js +45 -0
- package/dist/download/dependencies/saveOfflinePageMiniMapTaskDependency.d.ts +9 -0
- package/dist/download/dependencies/saveOfflinePageMiniMapTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/saveOfflinePageMiniMapTaskDependency.js +26 -0
- package/dist/download/dependencies/saveOfflinePageViewTaskDependency.d.ts +12 -0
- package/dist/download/dependencies/saveOfflinePageViewTaskDependency.d.ts.map +1 -0
- package/dist/download/dependencies/saveOfflinePageViewTaskDependency.js +29 -0
- package/dist/download/downloadJob.d.ts +36 -0
- package/dist/download/downloadJob.d.ts.map +1 -0
- package/dist/download/downloadJob.js +180 -0
- package/dist/download/downloadJobQueue.d.ts +32 -0
- package/dist/download/downloadJobQueue.d.ts.map +1 -0
- package/dist/download/downloadJobQueue.js +206 -0
- package/dist/download/downloadPhase.d.ts +18 -0
- package/dist/download/downloadPhase.d.ts.map +1 -0
- package/dist/download/downloadPhase.js +43 -0
- package/dist/download/errors.d.ts +10 -0
- package/dist/download/errors.d.ts.map +1 -0
- package/dist/download/errors.js +23 -0
- package/dist/download/helpers/downloadConstants.d.ts +5 -0
- package/dist/download/helpers/downloadConstants.d.ts.map +1 -0
- package/dist/download/helpers/downloadConstants.js +7 -0
- package/dist/download/helpers/downloadDependencyRegistry.d.ts +3 -0
- package/dist/download/helpers/downloadDependencyRegistry.d.ts.map +1 -0
- package/dist/download/helpers/downloadDependencyRegistry.js +38 -0
- package/dist/download/helpers/downloadHttpRequest.d.ts +10 -0
- package/dist/download/helpers/downloadHttpRequest.d.ts.map +1 -0
- package/dist/download/helpers/downloadHttpRequest.js +58 -0
- package/dist/download/helpers/downloadPhaseTitles.d.ts +5 -0
- package/dist/download/helpers/downloadPhaseTitles.d.ts.map +1 -0
- package/dist/download/helpers/downloadPhaseTitles.js +44 -0
- package/dist/download/helpers/downloadTaskRegistry.d.ts +3 -0
- package/dist/download/helpers/downloadTaskRegistry.d.ts.map +1 -0
- package/dist/download/helpers/downloadTaskRegistry.js +36 -0
- package/dist/download/helpers/pendingFileTransfer.d.ts +4 -0
- package/dist/download/helpers/pendingFileTransfer.d.ts.map +1 -0
- package/dist/download/helpers/pendingFileTransfer.js +25 -0
- package/dist/download/helpers/planDownloadPhases.d.ts +4 -0
- package/dist/download/helpers/planDownloadPhases.d.ts.map +1 -0
- package/dist/download/helpers/planDownloadPhases.js +69 -0
- package/dist/download/helpers/seedConsumerDependencies.d.ts +5 -0
- package/dist/download/helpers/seedConsumerDependencies.d.ts.map +1 -0
- package/dist/download/helpers/seedConsumerDependencies.js +77 -0
- package/dist/download/index.d.ts +31 -0
- package/dist/download/index.d.ts.map +1 -0
- package/dist/download/index.js +69 -0
- package/dist/download/tasks/abstractDownloadTask.d.ts +13 -0
- package/dist/download/tasks/abstractDownloadTask.d.ts.map +1 -0
- package/dist/download/tasks/abstractDownloadTask.js +23 -0
- package/dist/download/tasks/deleteStoredPageTask.d.ts +14 -0
- package/dist/download/tasks/deleteStoredPageTask.d.ts.map +1 -0
- package/dist/download/tasks/deleteStoredPageTask.js +32 -0
- package/dist/download/tasks/fetchImageFilesTask.d.ts +23 -0
- package/dist/download/tasks/fetchImageFilesTask.d.ts.map +1 -0
- package/dist/download/tasks/fetchImageFilesTask.js +97 -0
- package/dist/download/tasks/fetchMapboxPackTask.d.ts +13 -0
- package/dist/download/tasks/fetchMapboxPackTask.d.ts.map +1 -0
- package/dist/download/tasks/fetchMapboxPackTask.js +44 -0
- package/dist/download/tasks/fetchPageJsonTask.d.ts +13 -0
- package/dist/download/tasks/fetchPageJsonTask.d.ts.map +1 -0
- package/dist/download/tasks/fetchPageJsonTask.js +61 -0
- package/dist/download/tasks/fetchRegionRouteListTask.d.ts +15 -0
- package/dist/download/tasks/fetchRegionRouteListTask.d.ts.map +1 -0
- package/dist/download/tasks/fetchRegionRouteListTask.js +98 -0
- package/dist/download/tasks/fetchRopeGeoTileFilesTask.d.ts +14 -0
- package/dist/download/tasks/fetchRopeGeoTileFilesTask.d.ts.map +1 -0
- package/dist/download/tasks/fetchRopeGeoTileFilesTask.js +87 -0
- package/dist/download/tasks/fetchRopeGeoTileListTask.d.ts +14 -0
- package/dist/download/tasks/fetchRopeGeoTileListTask.d.ts.map +1 -0
- package/dist/download/tasks/fetchRopeGeoTileListTask.js +100 -0
- package/dist/download/tasks/saveOfflinePageTask.d.ts +14 -0
- package/dist/download/tasks/saveOfflinePageTask.d.ts.map +1 -0
- package/dist/download/tasks/saveOfflinePageTask.js +76 -0
- package/dist/download/types.d.ts +116 -0
- package/dist/download/types.d.ts.map +1 -0
- package/dist/download/types.js +2 -0
- package/dist/helpers/httpRequest.d.ts.map +1 -1
- package/dist/helpers/httpRequest.js +58 -9
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/models/minimap/abstract/miniMap.d.ts +1 -0
- package/dist/models/minimap/abstract/miniMap.d.ts.map +1 -1
- package/dist/models/minimap/abstract/miniMap.js +6 -0
- package/dist/models/minimap/concrete/onlineCenteredRegionMiniMap.d.ts +3 -1
- package/dist/models/minimap/concrete/onlineCenteredRegionMiniMap.d.ts.map +1 -1
- package/dist/models/minimap/concrete/onlineCenteredRegionMiniMap.js +12 -1
- package/dist/models/minimap/concrete/onlinePageMiniMap.d.ts +3 -1
- package/dist/models/minimap/concrete/onlinePageMiniMap.d.ts.map +1 -1
- package/dist/models/minimap/concrete/onlinePageMiniMap.js +12 -1
- package/dist/models/minimap/concrete/onlineRegionMiniMap.d.ts +3 -1
- package/dist/models/minimap/concrete/onlineRegionMiniMap.d.ts.map +1 -1
- package/dist/models/minimap/concrete/onlineRegionMiniMap.js +10 -2
- package/dist/models/pageViews/onlinePageView.d.ts +5 -2
- package/dist/models/pageViews/onlinePageView.d.ts.map +1 -1
- package/dist/models/pageViews/onlineRopewikiPageView.d.ts +8 -2
- package/dist/models/pageViews/onlineRopewikiPageView.d.ts.map +1 -1
- package/dist/models/pageViews/onlineRopewikiPageView.js +39 -5
- package/dist/models/previews/onlinePagePreview.d.ts +3 -0
- package/dist/models/previews/onlinePagePreview.d.ts.map +1 -1
- package/dist/models/previews/onlinePagePreview.js +30 -0
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ npm install ropegeo-common
|
|
|
12
12
|
|
|
13
13
|
- **Models** — `import { … } from 'ropegeo-common/models'` (or `import type { … }` for symbols that are type-only in TypeScript). The package root `ropegeo-common` re-exports everything from `./models` for convenience. The subpath `ropegeo-common/classes` is kept as an alias of `./models` for older imports until dependents switch over.
|
|
14
14
|
- **Helpers** — `import { … } from 'ropegeo-common/helpers'` (and `import type { … }` for helper types such as `GetS3ObjectResult`). The full barrel includes Node-only modules (S3 folder upload uses `fs`); **React Native / Metro** should use **`ropegeo-common/helpers/network`** (sources under `src/helpers/network/`, barrel `index.ts`) for the request-timeout / abort helpers only (`NETWORK_REQUEST_*`, `installNetworkRequestPolicyTimers`, `mergeParentSignalWithDeadline`, `resolveRequestTimeoutMs`, `isAbortError`, `isNetworkRequestTimeoutError`, and related types).
|
|
15
|
+
- **Download** — `import { … } from 'ropegeo-common/download'` for job orchestration (`DownloadJobQueue`, `DownloadJob`, tasks, dependencies). Not re-exported from `ropegeo-common/models`. Mobile implements `DownloadPlatformHarness` in its own `lib/download/` folder.
|
|
15
16
|
|
|
16
17
|
Helper tables use columns **Name**, **Description**, **Import**. Model tables add **Base class** after **Name** (`N/A` for enums, TypeScript-only type aliases, constants, registration functions, and classes without an exported superclass; otherwise the direct superclass).
|
|
17
18
|
|
|
@@ -261,15 +262,45 @@ Abstract classes live under `minimap/abstract/`, concrete under `minimap/concret
|
|
|
261
262
|
| `OfflineMiniMap` | N/A | Interface: `fetchType: "offline"` and `miniMapType`. | `import type { OfflineMiniMap } from 'ropegeo-common/models'` |
|
|
262
263
|
| `MiniMap` | N/A | Abstract base for minimaps; `fromResult` parses API wire types only. | `import { MiniMap } from 'ropegeo-common/models'` |
|
|
263
264
|
| `RegionMiniMap` | `MiniMap` | Abstract region minimap (`miniMapType: region`); online/offline concrete subclasses. | `import { RegionMiniMap } from 'ropegeo-common/models'` |
|
|
264
|
-
| `OnlineRegionMiniMap` | `RegionMiniMap` | API region routes (`routesParams`, `bounds` or null, `fetchType: "online"`). | `import { OnlineRegionMiniMap } from 'ropegeo-common/models'` |
|
|
265
|
+
| `OnlineRegionMiniMap` | `RegionMiniMap` | API region routes (`routesParams`, `bounds` or null, `routeCount`, `totalBytes`, `fetchType: "online"`). | `import { OnlineRegionMiniMap } from 'ropegeo-common/models'` |
|
|
265
266
|
| `OfflineRegionMiniMap` | `RegionMiniMap` | Bundled region routes GeoJSON path (`downloadedGeojson`, `fetchType: "offline"`). | `import { OfflineRegionMiniMap } from 'ropegeo-common/models'` |
|
|
266
267
|
| `PageMiniMap` | `MiniMap` | Abstract page minimap (`miniMapType: page`); MVT `polyLineLayerId` / `pointLayerId`, tile templates, optional `legend`. | `import { PageMiniMap } from 'ropegeo-common/models'` |
|
|
267
|
-
| `OnlinePageMiniMap` | `PageMiniMap` | API page tiles (`onlineTilesTemplate`, `fetchType: "online"`). | `import { OnlinePageMiniMap } from 'ropegeo-common/models'` |
|
|
268
|
+
| `OnlinePageMiniMap` | `PageMiniMap` | API page tiles (`onlineTilesTemplate`, `tileCount`, `tileTotalBytes`, `fetchType: "online"`). | `import { OnlinePageMiniMap } from 'ropegeo-common/models'` |
|
|
268
269
|
| `OfflinePageMiniMap` | `PageMiniMap` | Local page tiles (`offlineTilesTemplate`, `fetchType: "offline"`). | `import { OfflinePageMiniMap } from 'ropegeo-common/models'` |
|
|
269
270
|
| `CenteredRegionMiniMap` | `MiniMap` | Abstract centered-route minimap (`miniMapType: centeredRegion`). | `import { CenteredRegionMiniMap } from 'ropegeo-common/models'` |
|
|
270
|
-
| `OnlineCenteredRegionMiniMap` | `CenteredRegionMiniMap` | API centered-route fallback (`routesParams`, `fetchType: "online"`). | `import { OnlineCenteredRegionMiniMap } from 'ropegeo-common/models'` |
|
|
271
|
+
| `OnlineCenteredRegionMiniMap` | `CenteredRegionMiniMap` | API centered-route fallback (`routesParams`, `routeCount`, `totalBytes`, `fetchType: "online"`). | `import { OnlineCenteredRegionMiniMap } from 'ropegeo-common/models'` |
|
|
271
272
|
| `OfflineCenteredRegionMiniMap` | `CenteredRegionMiniMap` | Persisted local centered-route geojson (`downloadedGeojson`, `fetchType: "offline"`). | `import { OfflineCenteredRegionMiniMap } from 'ropegeo-common/models'` |
|
|
272
273
|
|
|
274
|
+
### Download orchestration (`src/download/`)
|
|
275
|
+
|
|
276
|
+
Import from **`ropegeo-common/download`**. Platform I/O (Expo FileSystem, Mapbox, AsyncStorage) is implemented by Mobile via `DownloadPlatformHarness`; Common owns job planning and task logic only. List/page JSON fetches inside download tasks use `downloadHttpRequest` (global `fetch` only), not `httpRequest` (Lambda proxy / undici).
|
|
277
|
+
|
|
278
|
+
| Name | Description | Import |
|
|
279
|
+
| --- | --- | --- |
|
|
280
|
+
| `DownloadJobQueue` | FIFO queue: enqueue jobs, foreground/background ticks, persist/restore. | `import { DownloadJobQueue } from 'ropegeo-common/download'` |
|
|
281
|
+
| `DownloadJob` | Single page download: mutable `phases`, `taskDependencies`, `runTick`, `appendPhases`. | `import { DownloadJob } from 'ropegeo-common/download'` |
|
|
282
|
+
| `DownloadPhase` | Parallel task group with shared title and progress. | `import { DownloadPhase } from 'ropegeo-common/download'` |
|
|
283
|
+
| `DownloadTask` | Abstract unit of work per tick; concrete tasks in `src/download/tasks/`. | `import { DownloadTask } from 'ropegeo-common/download'` |
|
|
284
|
+
| `DownloadPlatformHarness` | Platform adapter type (file I/O, Mapbox pack, job store). | `import type { DownloadPlatformHarness } from 'ropegeo-common/download'` |
|
|
285
|
+
| `DownloadJobConfig` | Job config: `savedAt`, `mapboxStyleUrl`, `webScraperBaseUrl`, optional `onProgress`. | `import type { DownloadJobConfig } from 'ropegeo-common/download'` |
|
|
286
|
+
| `DownloadJobUISnapshot` | Runtime UI progress (phase title, step/total, percent). | `import type { DownloadJobUISnapshot } from 'ropegeo-common/download'` |
|
|
287
|
+
| `DownloadJobQueueStoredState` | Persisted queue envelope (`queueOrder`, `jobs`). | `import type { DownloadJobQueueStoredState } from 'ropegeo-common/download'` |
|
|
288
|
+
| `DownloadJobStoredState` | Persisted single in-flight job. | `import type { DownloadJobStoredState } from 'ropegeo-common/download'` |
|
|
289
|
+
| `DownloadDependencyKeys` | String keys for task dependency map entries. | `import { DownloadDependencyKeys } from 'ropegeo-common/download'` |
|
|
290
|
+
| `planDownloadPhases` | Builds content phases for a full `OnlineRopewikiPageView` (explore path). | `import { planDownloadPhases } from 'ropegeo-common/download'` |
|
|
291
|
+
| `seedConsumerDependencies` | Seeds dependency objects for tasks in a phase plan. | `import { seedConsumerDependencies } from 'ropegeo-common/download'` |
|
|
292
|
+
| `DeleteStoredPageTask` | Phase 1: delete existing offline bundle for the page. | `import { DeleteStoredPageTask } from 'ropegeo-common/download'` |
|
|
293
|
+
| `FetchPageJsonTask` | Preview path: fetch page JSON and append content phases. | `import { FetchPageJsonTask } from 'ropegeo-common/download'` |
|
|
294
|
+
| `FetchImageFilesTask` | Download beta/banner image files. | `import { FetchImageFilesTask } from 'ropegeo-common/download'` |
|
|
295
|
+
| `FetchMapboxPackTask` | Download Mapbox offline pack for page minimap bounds. | `import { FetchMapboxPackTask } from 'ropegeo-common/download'` |
|
|
296
|
+
| `FetchRopeGeoTileListTask` | Parallel paginated tile key list fetches. | `import { FetchRopeGeoTileListTask } from 'ropegeo-common/download'` |
|
|
297
|
+
| `FetchRopeGeoTileFilesTask` | Download `.pbf` tile files. | `import { FetchRopeGeoTileFilesTask } from 'ropegeo-common/download'` |
|
|
298
|
+
| `FetchRegionRouteListTask` | Parallel paginated region route list fetches. | `import { FetchRegionRouteListTask } from 'ropegeo-common/download'` |
|
|
299
|
+
| `SaveOfflinePageTask` | Persist offline page view, images, and minimap data. | `import { SaveOfflinePageTask } from 'ropegeo-common/download'` |
|
|
300
|
+
| `InvalidDownloadJobStoredStateError` | Thrown when persisted job state fails validation. | `import { InvalidDownloadJobStoredStateError } from 'ropegeo-common/download'` |
|
|
301
|
+
| `reconcilePendingFileTransfer` | Reconcile native file transfer state with expected progress. | `import { reconcilePendingFileTransfer } from 'ropegeo-common/download'` |
|
|
302
|
+
| `enqueuePendingFileTransfer` | Enqueue a native background file download. | `import { enqueuePendingFileTransfer } from 'ropegeo-common/download'` |
|
|
303
|
+
|
|
273
304
|
### Minimap legend (`src/models/minimap/legend/`)
|
|
274
305
|
|
|
275
306
|
Legend entries for page minimaps are keyed objects (`legend` on `PageMiniMap`); each value is validated by `featureType` like `MiniMap`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const DownloadDependencyKeys: {
|
|
2
|
+
readonly FetchPageJson: "fetchPageJson";
|
|
3
|
+
readonly FetchImageFiles: "fetchImageFiles";
|
|
4
|
+
readonly FetchMapboxPack: "fetchMapboxPack";
|
|
5
|
+
readonly FetchRopeGeoTileList: "fetchRopeGeoTileList";
|
|
6
|
+
readonly FetchRopeGeoTileFiles: "fetchRopeGeoTileFiles";
|
|
7
|
+
readonly FetchRegionRouteList: "fetchRegionRouteList";
|
|
8
|
+
readonly SaveOfflinePageView: "saveOfflinePageView";
|
|
9
|
+
readonly SaveOfflinePageImages: "saveOfflinePageImages";
|
|
10
|
+
readonly SaveOfflinePageMiniMap: "saveOfflinePageMiniMap";
|
|
11
|
+
};
|
|
12
|
+
export type DownloadDependencyKey = (typeof DownloadDependencyKeys)[keyof typeof DownloadDependencyKeys];
|
|
13
|
+
//# sourceMappingURL=downloadDependencyKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloadDependencyKeys.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/downloadDependencyKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;CAUzB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC7B,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DownloadDependencyKeys = void 0;
|
|
4
|
+
exports.DownloadDependencyKeys = {
|
|
5
|
+
FetchPageJson: 'fetchPageJson',
|
|
6
|
+
FetchImageFiles: 'fetchImageFiles',
|
|
7
|
+
FetchMapboxPack: 'fetchMapboxPack',
|
|
8
|
+
FetchRopeGeoTileList: 'fetchRopeGeoTileList',
|
|
9
|
+
FetchRopeGeoTileFiles: 'fetchRopeGeoTileFiles',
|
|
10
|
+
FetchRegionRouteList: 'fetchRegionRouteList',
|
|
11
|
+
SaveOfflinePageView: 'saveOfflinePageView',
|
|
12
|
+
SaveOfflinePageImages: 'saveOfflinePageImages',
|
|
13
|
+
SaveOfflinePageMiniMap: 'saveOfflinePageMiniMap',
|
|
14
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DownloadTaskDependency, FetchImageFilesSlot } from '../types';
|
|
2
|
+
export declare class FetchImageFilesTaskDependency implements DownloadTaskDependency {
|
|
3
|
+
readonly dependencyKind: "fetchImageFiles";
|
|
4
|
+
readonly slots: FetchImageFilesSlot[];
|
|
5
|
+
constructor(slots: FetchImageFilesSlot[]);
|
|
6
|
+
toStoredState(): unknown;
|
|
7
|
+
static fromStoredState(raw: unknown): FetchImageFilesTaskDependency;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=fetchImageFilesTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchImageFilesTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/fetchImageFilesTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE5E,qBAAa,6BAA8B,YAAW,sBAAsB;IACxE,QAAQ,CAAC,cAAc,EAAG,iBAAiB,CAAU;IACrD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC;gBAE1B,KAAK,EAAE,mBAAmB,EAAE;IAIxC,aAAa,IAAI,OAAO;IAOxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,6BAA6B;CAqCtE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchImageFilesTaskDependency = void 0;
|
|
4
|
+
class FetchImageFilesTaskDependency {
|
|
5
|
+
constructor(slots) {
|
|
6
|
+
this.dependencyKind = 'fetchImageFiles';
|
|
7
|
+
this.slots = slots;
|
|
8
|
+
}
|
|
9
|
+
toStoredState() {
|
|
10
|
+
return {
|
|
11
|
+
dependencyKind: this.dependencyKind,
|
|
12
|
+
slots: this.slots,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
static fromStoredState(raw) {
|
|
16
|
+
if (raw == null || typeof raw !== 'object') {
|
|
17
|
+
throw new Error('FetchImageFilesTaskDependency must be an object');
|
|
18
|
+
}
|
|
19
|
+
const value = raw;
|
|
20
|
+
if (!Array.isArray(value.slots)) {
|
|
21
|
+
throw new Error('FetchImageFilesTaskDependency.slots must be an array');
|
|
22
|
+
}
|
|
23
|
+
const slots = value.slots.map((entry, index) => {
|
|
24
|
+
if (entry == null || typeof entry !== 'object') {
|
|
25
|
+
throw new Error(`FetchImageFilesTaskDependency.slots[${index}] must be an object`);
|
|
26
|
+
}
|
|
27
|
+
const slot = entry;
|
|
28
|
+
if (typeof slot.imageId !== 'string' || slot.imageId.length === 0) {
|
|
29
|
+
throw new Error(`FetchImageFilesTaskDependency.slots[${index}].imageId invalid`);
|
|
30
|
+
}
|
|
31
|
+
const rawVersions = slot.versions;
|
|
32
|
+
if (rawVersions == null || typeof rawVersions !== 'object') {
|
|
33
|
+
throw new Error(`FetchImageFilesTaskDependency.slots[${index}].versions invalid`);
|
|
34
|
+
}
|
|
35
|
+
const versionsRecord = rawVersions;
|
|
36
|
+
const versions = {};
|
|
37
|
+
for (const key of ['preview', 'banner', 'full']) {
|
|
38
|
+
const item = versionsRecord[key];
|
|
39
|
+
if (item !== undefined && item !== null && typeof item !== 'string') {
|
|
40
|
+
throw new Error(`FetchImageFilesTaskDependency.slots[${index}].versions.${key} invalid`);
|
|
41
|
+
}
|
|
42
|
+
if (item !== undefined) {
|
|
43
|
+
versions[key] = item;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return { imageId: slot.imageId, versions };
|
|
47
|
+
});
|
|
48
|
+
return new FetchImageFilesTaskDependency(slots);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.FetchImageFilesTaskDependency = FetchImageFilesTaskDependency;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Bounds } from '../../models/minimap/bounds';
|
|
2
|
+
import type { DownloadTaskDependency } from '../types';
|
|
3
|
+
export declare class FetchMapboxPackTaskDependency implements DownloadTaskDependency {
|
|
4
|
+
readonly dependencyKind: "fetchMapboxPack";
|
|
5
|
+
readonly bounds: Bounds;
|
|
6
|
+
constructor(bounds: Bounds);
|
|
7
|
+
toStoredState(): unknown;
|
|
8
|
+
static fromStoredState(raw: unknown): FetchMapboxPackTaskDependency;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=fetchMapboxPackTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMapboxPackTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/fetchMapboxPackTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,6BAA8B,YAAW,sBAAsB;IACxE,QAAQ,CAAC,cAAc,EAAG,iBAAiB,CAAU;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;IAI1B,aAAa,IAAI,OAAO;IAOxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,6BAA6B;CAOtE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchMapboxPackTaskDependency = void 0;
|
|
4
|
+
const bounds_1 = require("../../models/minimap/bounds");
|
|
5
|
+
class FetchMapboxPackTaskDependency {
|
|
6
|
+
constructor(bounds) {
|
|
7
|
+
this.dependencyKind = 'fetchMapboxPack';
|
|
8
|
+
this.bounds = bounds;
|
|
9
|
+
}
|
|
10
|
+
toStoredState() {
|
|
11
|
+
return {
|
|
12
|
+
dependencyKind: this.dependencyKind,
|
|
13
|
+
bounds: this.bounds,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
static fromStoredState(raw) {
|
|
17
|
+
if (raw == null || typeof raw !== 'object') {
|
|
18
|
+
throw new Error('FetchMapboxPackTaskDependency must be an object');
|
|
19
|
+
}
|
|
20
|
+
const value = raw;
|
|
21
|
+
return new FetchMapboxPackTaskDependency(bounds_1.Bounds.fromResult(value.bounds));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.FetchMapboxPackTaskDependency = FetchMapboxPackTaskDependency;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PageDataSource } from '../../models/pageDataSource';
|
|
2
|
+
import { PageViewType } from '../../models/pageViews/pageViewType';
|
|
3
|
+
import type { DownloadJobConfig } from '../types';
|
|
4
|
+
import type { DownloadTaskDependency } from '../types';
|
|
5
|
+
export declare class FetchPageJsonTaskDependency implements DownloadTaskDependency {
|
|
6
|
+
readonly dependencyKind: "fetchPageJson";
|
|
7
|
+
readonly pageId: string;
|
|
8
|
+
readonly pageViewType: PageViewType;
|
|
9
|
+
readonly pageUrl: string;
|
|
10
|
+
constructor(pageId: string, pageViewType: PageViewType, pageUrl: string);
|
|
11
|
+
static fromPreview(preview: {
|
|
12
|
+
id: string;
|
|
13
|
+
source: PageDataSource;
|
|
14
|
+
}, config: DownloadJobConfig): FetchPageJsonTaskDependency;
|
|
15
|
+
toStoredState(): unknown;
|
|
16
|
+
static fromStoredState(raw: unknown): FetchPageJsonTaskDependency;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=fetchPageJsonTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchPageJsonTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/fetchPageJsonTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,2BAA4B,YAAW,sBAAsB;IACtE,QAAQ,CAAC,cAAc,EAAG,eAAe,CAAU;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM;IAMvE,MAAM,CAAC,WAAW,CACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,EAC/C,MAAM,EAAE,iBAAiB,GAC1B,2BAA2B;IAe9B,aAAa,IAAI,OAAO;IASxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,2BAA2B;CAkBpE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchPageJsonTaskDependency = void 0;
|
|
4
|
+
const pageDataSource_1 = require("../../models/pageDataSource");
|
|
5
|
+
const pageViewType_1 = require("../../models/pageViews/pageViewType");
|
|
6
|
+
class FetchPageJsonTaskDependency {
|
|
7
|
+
constructor(pageId, pageViewType, pageUrl) {
|
|
8
|
+
this.dependencyKind = 'fetchPageJson';
|
|
9
|
+
this.pageId = pageId;
|
|
10
|
+
this.pageViewType = pageViewType;
|
|
11
|
+
this.pageUrl = pageUrl;
|
|
12
|
+
}
|
|
13
|
+
static fromPreview(preview, config) {
|
|
14
|
+
const pageViewType = preview.source === pageDataSource_1.PageDataSource.Ropewiki
|
|
15
|
+
? pageViewType_1.PageViewType.Ropewiki
|
|
16
|
+
: null;
|
|
17
|
+
if (pageViewType == null) {
|
|
18
|
+
throw new Error(`Unsupported preview source: ${String(preview.source)}`);
|
|
19
|
+
}
|
|
20
|
+
const pageUrl = new URL(`/${encodeURIComponent(pageViewType)}/page/${encodeURIComponent(preview.id)}`, config.webScraperBaseUrl).toString();
|
|
21
|
+
return new FetchPageJsonTaskDependency(preview.id, pageViewType, pageUrl);
|
|
22
|
+
}
|
|
23
|
+
toStoredState() {
|
|
24
|
+
return {
|
|
25
|
+
dependencyKind: this.dependencyKind,
|
|
26
|
+
pageId: this.pageId,
|
|
27
|
+
pageViewType: this.pageViewType,
|
|
28
|
+
pageUrl: this.pageUrl,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
static fromStoredState(raw) {
|
|
32
|
+
if (raw == null || typeof raw !== 'object') {
|
|
33
|
+
throw new Error('FetchPageJsonTaskDependency must be an object');
|
|
34
|
+
}
|
|
35
|
+
const value = raw;
|
|
36
|
+
if (typeof value.pageId !== 'string' || value.pageId.length === 0) {
|
|
37
|
+
throw new Error('FetchPageJsonTaskDependency.pageId must be a non-empty string');
|
|
38
|
+
}
|
|
39
|
+
if (value.pageViewType !== pageViewType_1.PageViewType.Ropewiki) {
|
|
40
|
+
throw new Error('FetchPageJsonTaskDependency.pageViewType is invalid');
|
|
41
|
+
}
|
|
42
|
+
if (typeof value.pageUrl !== 'string' || value.pageUrl.length === 0) {
|
|
43
|
+
throw new Error('FetchPageJsonTaskDependency.pageUrl must be a non-empty string');
|
|
44
|
+
}
|
|
45
|
+
return new FetchPageJsonTaskDependency(value.pageId, value.pageViewType, value.pageUrl);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.FetchPageJsonTaskDependency = FetchPageJsonTaskDependency;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RoutesParams } from '../../models/api/params/routesParams';
|
|
2
|
+
import type { DownloadTaskDependency } from '../types';
|
|
3
|
+
export declare class FetchRegionRouteListTaskDependency implements DownloadTaskDependency {
|
|
4
|
+
readonly dependencyKind: "fetchRegionRouteList";
|
|
5
|
+
readonly routesParams: RoutesParams;
|
|
6
|
+
readonly routeCount: number;
|
|
7
|
+
readonly totalBytes: number;
|
|
8
|
+
readonly regionId: string;
|
|
9
|
+
readonly centeredRouteId: string | null;
|
|
10
|
+
readonly miniMapTitle: string;
|
|
11
|
+
constructor(args: {
|
|
12
|
+
routesParams: RoutesParams;
|
|
13
|
+
routeCount: number;
|
|
14
|
+
totalBytes: number;
|
|
15
|
+
regionId: string;
|
|
16
|
+
centeredRouteId: string | null;
|
|
17
|
+
miniMapTitle: string;
|
|
18
|
+
});
|
|
19
|
+
toStoredState(): unknown;
|
|
20
|
+
static fromStoredState(raw: unknown): FetchRegionRouteListTaskDependency;
|
|
21
|
+
private static toNonNegativeInt;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=fetchRegionRouteListTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchRegionRouteListTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/fetchRegionRouteListTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,kCAAmC,YAAW,sBAAsB;IAC7E,QAAQ,CAAC,cAAc,EAAG,sBAAsB,CAAU;IAC1D,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE;QACd,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,YAAY,EAAE,MAAM,CAAC;KACxB;IASD,aAAa,IAAI,OAAO;IAYxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,kCAAkC;IA2BxE,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAMlC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchRegionRouteListTaskDependency = void 0;
|
|
4
|
+
const routesParams_1 = require("../../models/api/params/routesParams");
|
|
5
|
+
class FetchRegionRouteListTaskDependency {
|
|
6
|
+
constructor(args) {
|
|
7
|
+
this.dependencyKind = 'fetchRegionRouteList';
|
|
8
|
+
this.routesParams = args.routesParams;
|
|
9
|
+
this.routeCount = args.routeCount;
|
|
10
|
+
this.totalBytes = args.totalBytes;
|
|
11
|
+
this.regionId = args.regionId;
|
|
12
|
+
this.centeredRouteId = args.centeredRouteId;
|
|
13
|
+
this.miniMapTitle = args.miniMapTitle;
|
|
14
|
+
}
|
|
15
|
+
toStoredState() {
|
|
16
|
+
return {
|
|
17
|
+
dependencyKind: this.dependencyKind,
|
|
18
|
+
routesParams: this.routesParams,
|
|
19
|
+
routeCount: this.routeCount,
|
|
20
|
+
totalBytes: this.totalBytes,
|
|
21
|
+
regionId: this.regionId,
|
|
22
|
+
centeredRouteId: this.centeredRouteId,
|
|
23
|
+
miniMapTitle: this.miniMapTitle,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static fromStoredState(raw) {
|
|
27
|
+
if (raw == null || typeof raw !== 'object') {
|
|
28
|
+
throw new Error('FetchRegionRouteListTaskDependency must be an object');
|
|
29
|
+
}
|
|
30
|
+
const value = raw;
|
|
31
|
+
if (typeof value.regionId !== 'string' || value.regionId.length === 0) {
|
|
32
|
+
throw new Error('FetchRegionRouteListTaskDependency.regionId must be a non-empty string');
|
|
33
|
+
}
|
|
34
|
+
if (value.centeredRouteId !== null && value.centeredRouteId !== undefined && typeof value.centeredRouteId !== 'string') {
|
|
35
|
+
throw new Error('FetchRegionRouteListTaskDependency.centeredRouteId invalid');
|
|
36
|
+
}
|
|
37
|
+
if (typeof value.miniMapTitle !== 'string' || value.miniMapTitle.length === 0) {
|
|
38
|
+
throw new Error('FetchRegionRouteListTaskDependency.miniMapTitle must be a non-empty string');
|
|
39
|
+
}
|
|
40
|
+
const routeCount = FetchRegionRouteListTaskDependency.toNonNegativeInt(value.routeCount, 'routeCount');
|
|
41
|
+
const totalBytes = FetchRegionRouteListTaskDependency.toNonNegativeInt(value.totalBytes, 'totalBytes');
|
|
42
|
+
return new FetchRegionRouteListTaskDependency({
|
|
43
|
+
routesParams: routesParams_1.RoutesParams.fromResult(value.routesParams, true),
|
|
44
|
+
routeCount,
|
|
45
|
+
totalBytes,
|
|
46
|
+
regionId: value.regionId,
|
|
47
|
+
centeredRouteId: typeof value.centeredRouteId === 'string' ? value.centeredRouteId : null,
|
|
48
|
+
miniMapTitle: value.miniMapTitle,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static toNonNegativeInt(value, field) {
|
|
52
|
+
if (typeof value !== 'number' || !Number.isInteger(value) || value < 0) {
|
|
53
|
+
throw new Error(`FetchRegionRouteListTaskDependency.${field} must be a non-negative integer`);
|
|
54
|
+
}
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.FetchRegionRouteListTaskDependency = FetchRegionRouteListTaskDependency;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DownloadTaskDependency } from '../types';
|
|
2
|
+
export declare class FetchRopeGeoTileFilesTaskDependency implements DownloadTaskDependency {
|
|
3
|
+
readonly dependencyKind: "fetchRopeGeoTileFiles";
|
|
4
|
+
readonly mapDataId: string;
|
|
5
|
+
readonly tileUrls: string[];
|
|
6
|
+
readonly tileTotalBytes: number;
|
|
7
|
+
readonly pageMiniMapWire: Record<string, unknown>;
|
|
8
|
+
constructor(args: {
|
|
9
|
+
mapDataId: string;
|
|
10
|
+
tileUrls: string[];
|
|
11
|
+
tileTotalBytes: number;
|
|
12
|
+
pageMiniMapWire: Record<string, unknown>;
|
|
13
|
+
});
|
|
14
|
+
toStoredState(): unknown;
|
|
15
|
+
static fromStoredState(raw: unknown): FetchRopeGeoTileFilesTaskDependency;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=fetchRopeGeoTileFilesTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchRopeGeoTileFilesTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/fetchRopeGeoTileFilesTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,mCAAoC,YAAW,sBAAsB;IAC9E,QAAQ,CAAC,cAAc,EAAG,uBAAuB,CAAU;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,IAAI,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C;IAOD,aAAa,IAAI,OAAO;IAUxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,mCAAmC;CA4B5E"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchRopeGeoTileFilesTaskDependency = void 0;
|
|
4
|
+
class FetchRopeGeoTileFilesTaskDependency {
|
|
5
|
+
constructor(args) {
|
|
6
|
+
this.dependencyKind = 'fetchRopeGeoTileFiles';
|
|
7
|
+
this.mapDataId = args.mapDataId;
|
|
8
|
+
this.tileUrls = args.tileUrls;
|
|
9
|
+
this.tileTotalBytes = args.tileTotalBytes;
|
|
10
|
+
this.pageMiniMapWire = args.pageMiniMapWire;
|
|
11
|
+
}
|
|
12
|
+
toStoredState() {
|
|
13
|
+
return {
|
|
14
|
+
dependencyKind: this.dependencyKind,
|
|
15
|
+
mapDataId: this.mapDataId,
|
|
16
|
+
tileUrls: this.tileUrls,
|
|
17
|
+
tileTotalBytes: this.tileTotalBytes,
|
|
18
|
+
pageMiniMapWire: this.pageMiniMapWire,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static fromStoredState(raw) {
|
|
22
|
+
if (raw == null || typeof raw !== 'object') {
|
|
23
|
+
throw new Error('FetchRopeGeoTileFilesTaskDependency must be an object');
|
|
24
|
+
}
|
|
25
|
+
const value = raw;
|
|
26
|
+
if (typeof value.mapDataId !== 'string' || value.mapDataId.length === 0) {
|
|
27
|
+
throw new Error('FetchRopeGeoTileFilesTaskDependency.mapDataId must be a non-empty string');
|
|
28
|
+
}
|
|
29
|
+
if (!Array.isArray(value.tileUrls) || value.tileUrls.some((url) => typeof url !== 'string')) {
|
|
30
|
+
throw new Error('FetchRopeGeoTileFilesTaskDependency.tileUrls must be string[]');
|
|
31
|
+
}
|
|
32
|
+
if (typeof value.tileTotalBytes !== 'number' ||
|
|
33
|
+
!Number.isInteger(value.tileTotalBytes) ||
|
|
34
|
+
value.tileTotalBytes < 0) {
|
|
35
|
+
throw new Error('FetchRopeGeoTileFilesTaskDependency.tileTotalBytes must be a non-negative integer');
|
|
36
|
+
}
|
|
37
|
+
if (value.pageMiniMapWire == null || typeof value.pageMiniMapWire !== 'object') {
|
|
38
|
+
throw new Error('FetchRopeGeoTileFilesTaskDependency.pageMiniMapWire must be an object');
|
|
39
|
+
}
|
|
40
|
+
return new FetchRopeGeoTileFilesTaskDependency({
|
|
41
|
+
mapDataId: value.mapDataId,
|
|
42
|
+
tileUrls: value.tileUrls,
|
|
43
|
+
tileTotalBytes: value.tileTotalBytes,
|
|
44
|
+
pageMiniMapWire: value.pageMiniMapWire,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.FetchRopeGeoTileFilesTaskDependency = FetchRopeGeoTileFilesTaskDependency;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DownloadTaskDependency } from '../types';
|
|
2
|
+
export declare class FetchRopeGeoTileListTaskDependency implements DownloadTaskDependency {
|
|
3
|
+
readonly dependencyKind: "fetchRopeGeoTileList";
|
|
4
|
+
readonly mapDataId: string;
|
|
5
|
+
readonly tileCount: number;
|
|
6
|
+
readonly tileTotalBytes: number;
|
|
7
|
+
readonly listPageLimit: number;
|
|
8
|
+
readonly pageMiniMapWire: Record<string, unknown>;
|
|
9
|
+
constructor(args: {
|
|
10
|
+
mapDataId: string;
|
|
11
|
+
tileCount: number;
|
|
12
|
+
tileTotalBytes: number;
|
|
13
|
+
listPageLimit: number;
|
|
14
|
+
pageMiniMapWire: Record<string, unknown>;
|
|
15
|
+
});
|
|
16
|
+
toStoredState(): unknown;
|
|
17
|
+
static fromStoredState(raw: unknown): FetchRopeGeoTileListTaskDependency;
|
|
18
|
+
private static toNonNegativeInt;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=fetchRopeGeoTileListTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchRopeGeoTileListTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/fetchRopeGeoTileListTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,kCAAmC,YAAW,sBAAsB;IAC7E,QAAQ,CAAC,cAAc,EAAG,sBAAsB,CAAU;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,IAAI,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C;IAQD,aAAa,IAAI,OAAO;IAWxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,kCAAkC;IA6BxE,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAMlC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchRopeGeoTileListTaskDependency = void 0;
|
|
4
|
+
class FetchRopeGeoTileListTaskDependency {
|
|
5
|
+
constructor(args) {
|
|
6
|
+
this.dependencyKind = 'fetchRopeGeoTileList';
|
|
7
|
+
this.mapDataId = args.mapDataId;
|
|
8
|
+
this.tileCount = args.tileCount;
|
|
9
|
+
this.tileTotalBytes = args.tileTotalBytes;
|
|
10
|
+
this.listPageLimit = args.listPageLimit;
|
|
11
|
+
this.pageMiniMapWire = args.pageMiniMapWire;
|
|
12
|
+
}
|
|
13
|
+
toStoredState() {
|
|
14
|
+
return {
|
|
15
|
+
dependencyKind: this.dependencyKind,
|
|
16
|
+
mapDataId: this.mapDataId,
|
|
17
|
+
tileCount: this.tileCount,
|
|
18
|
+
tileTotalBytes: this.tileTotalBytes,
|
|
19
|
+
listPageLimit: this.listPageLimit,
|
|
20
|
+
pageMiniMapWire: this.pageMiniMapWire,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
static fromStoredState(raw) {
|
|
24
|
+
if (raw == null || typeof raw !== 'object') {
|
|
25
|
+
throw new Error('FetchRopeGeoTileListTaskDependency must be an object');
|
|
26
|
+
}
|
|
27
|
+
const value = raw;
|
|
28
|
+
if (typeof value.mapDataId !== 'string' || value.mapDataId.length === 0) {
|
|
29
|
+
throw new Error('FetchRopeGeoTileListTaskDependency.mapDataId must be a non-empty string');
|
|
30
|
+
}
|
|
31
|
+
const tileCount = FetchRopeGeoTileListTaskDependency.toNonNegativeInt(value.tileCount, 'tileCount');
|
|
32
|
+
const tileTotalBytes = FetchRopeGeoTileListTaskDependency.toNonNegativeInt(value.tileTotalBytes, 'tileTotalBytes');
|
|
33
|
+
const listPageLimit = FetchRopeGeoTileListTaskDependency.toNonNegativeInt(value.listPageLimit, 'listPageLimit');
|
|
34
|
+
if (value.pageMiniMapWire == null || typeof value.pageMiniMapWire !== 'object') {
|
|
35
|
+
throw new Error('FetchRopeGeoTileListTaskDependency.pageMiniMapWire must be an object');
|
|
36
|
+
}
|
|
37
|
+
return new FetchRopeGeoTileListTaskDependency({
|
|
38
|
+
mapDataId: value.mapDataId,
|
|
39
|
+
tileCount,
|
|
40
|
+
tileTotalBytes,
|
|
41
|
+
listPageLimit,
|
|
42
|
+
pageMiniMapWire: value.pageMiniMapWire,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static toNonNegativeInt(value, field) {
|
|
46
|
+
if (typeof value !== 'number' || !Number.isInteger(value) || value < 0) {
|
|
47
|
+
throw new Error(`FetchRopeGeoTileListTaskDependency.${field} must be a non-negative integer`);
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.FetchRopeGeoTileListTaskDependency = FetchRopeGeoTileListTaskDependency;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DownloadedImageVersions, DownloadTaskDependency } from '../types';
|
|
2
|
+
export declare class SaveOfflinePageImagesTaskDependency implements DownloadTaskDependency {
|
|
3
|
+
readonly dependencyKind: "saveOfflinePageImages";
|
|
4
|
+
readonly downloadedImages: Record<string, DownloadedImageVersions>;
|
|
5
|
+
constructor(downloadedImages: Record<string, DownloadedImageVersions>);
|
|
6
|
+
toStoredState(): unknown;
|
|
7
|
+
static fromStoredState(raw: unknown): SaveOfflinePageImagesTaskDependency;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=saveOfflinePageImagesTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveOfflinePageImagesTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/saveOfflinePageImagesTaskDependency.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEhF,qBAAa,mCAAoC,YAAW,sBAAsB;IAC9E,QAAQ,CAAC,cAAc,EAAG,uBAAuB,CAAU;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAEvD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;IAIrE,aAAa,IAAI,OAAO;IAOxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,mCAAmC;CA8B5E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SaveOfflinePageImagesTaskDependency = void 0;
|
|
4
|
+
const imageVersions_1 = require("../../models/mobile/imageVersions");
|
|
5
|
+
class SaveOfflinePageImagesTaskDependency {
|
|
6
|
+
constructor(downloadedImages) {
|
|
7
|
+
this.dependencyKind = 'saveOfflinePageImages';
|
|
8
|
+
this.downloadedImages = downloadedImages;
|
|
9
|
+
}
|
|
10
|
+
toStoredState() {
|
|
11
|
+
return {
|
|
12
|
+
dependencyKind: this.dependencyKind,
|
|
13
|
+
downloadedImages: this.downloadedImages,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
static fromStoredState(raw) {
|
|
17
|
+
if (raw == null || typeof raw !== 'object') {
|
|
18
|
+
throw new Error('SaveOfflinePageImagesTaskDependency must be an object');
|
|
19
|
+
}
|
|
20
|
+
const value = raw;
|
|
21
|
+
if (value.downloadedImages == null || typeof value.downloadedImages !== 'object') {
|
|
22
|
+
throw new Error('SaveOfflinePageImagesTaskDependency.downloadedImages must be an object');
|
|
23
|
+
}
|
|
24
|
+
const downloadedImages = {};
|
|
25
|
+
for (const [imageId, versionsRaw] of Object.entries(value.downloadedImages)) {
|
|
26
|
+
if (versionsRaw == null || typeof versionsRaw !== 'object') {
|
|
27
|
+
throw new Error(`SaveOfflinePageImagesTaskDependency.downloadedImages.${imageId} invalid`);
|
|
28
|
+
}
|
|
29
|
+
const versionsRecord = versionsRaw;
|
|
30
|
+
const versions = {};
|
|
31
|
+
for (const key of Object.values(imageVersions_1.ImageVersion)) {
|
|
32
|
+
const maybe = versionsRecord[key];
|
|
33
|
+
if (maybe !== undefined && maybe !== null && typeof maybe !== 'string') {
|
|
34
|
+
throw new Error(`SaveOfflinePageImagesTaskDependency.downloadedImages.${imageId}.${key} invalid`);
|
|
35
|
+
}
|
|
36
|
+
if (maybe !== undefined) {
|
|
37
|
+
versions[key] = maybe;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
downloadedImages[imageId] = versions;
|
|
41
|
+
}
|
|
42
|
+
return new SaveOfflinePageImagesTaskDependency(downloadedImages);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.SaveOfflinePageImagesTaskDependency = SaveOfflinePageImagesTaskDependency;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DownloadTaskDependency } from '../types';
|
|
2
|
+
export declare class SaveOfflinePageMiniMapTaskDependency implements DownloadTaskDependency {
|
|
3
|
+
readonly dependencyKind: "saveOfflinePageMiniMap";
|
|
4
|
+
readonly offlineMiniMapWire: Record<string, unknown>;
|
|
5
|
+
constructor(offlineMiniMapWire: Record<string, unknown>);
|
|
6
|
+
toStoredState(): unknown;
|
|
7
|
+
static fromStoredState(raw: unknown): SaveOfflinePageMiniMapTaskDependency;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=saveOfflinePageMiniMapTaskDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveOfflinePageMiniMapTaskDependency.d.ts","sourceRoot":"","sources":["../../../src/download/dependencies/saveOfflinePageMiniMapTaskDependency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,oCAAqC,YAAW,sBAAsB;IAC/E,QAAQ,CAAC,cAAc,EAAG,wBAAwB,CAAU;IAC5D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEzC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvD,aAAa,IAAI,OAAO;IAOxB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,oCAAoC;CAY7E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SaveOfflinePageMiniMapTaskDependency = void 0;
|
|
4
|
+
class SaveOfflinePageMiniMapTaskDependency {
|
|
5
|
+
constructor(offlineMiniMapWire) {
|
|
6
|
+
this.dependencyKind = 'saveOfflinePageMiniMap';
|
|
7
|
+
this.offlineMiniMapWire = offlineMiniMapWire;
|
|
8
|
+
}
|
|
9
|
+
toStoredState() {
|
|
10
|
+
return {
|
|
11
|
+
dependencyKind: this.dependencyKind,
|
|
12
|
+
offlineMiniMapWire: this.offlineMiniMapWire,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
static fromStoredState(raw) {
|
|
16
|
+
if (raw == null || typeof raw !== 'object') {
|
|
17
|
+
throw new Error('SaveOfflinePageMiniMapTaskDependency must be an object');
|
|
18
|
+
}
|
|
19
|
+
const value = raw;
|
|
20
|
+
if (value.offlineMiniMapWire == null || typeof value.offlineMiniMapWire !== 'object') {
|
|
21
|
+
throw new Error('SaveOfflinePageMiniMapTaskDependency.offlineMiniMapWire must be an object');
|
|
22
|
+
}
|
|
23
|
+
return new SaveOfflinePageMiniMapTaskDependency(value.offlineMiniMapWire);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SaveOfflinePageMiniMapTaskDependency = SaveOfflinePageMiniMapTaskDependency;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DownloadTaskDependency } from '../types';
|
|
2
|
+
export declare class SaveOfflinePageViewTaskDependency implements DownloadTaskDependency {
|
|
3
|
+
readonly dependencyKind: "saveOfflinePageView";
|
|
4
|
+
readonly onlineViewWire: Record<string, unknown>;
|
|
5
|
+
constructor(onlineViewWire: Record<string, unknown>);
|
|
6
|
+
static fromView(view: {
|
|
7
|
+
toPlain(): Record<string, unknown>;
|
|
8
|
+
}): SaveOfflinePageViewTaskDependency;
|
|
9
|
+
toStoredState(): unknown;
|
|
10
|
+
static fromStoredState(raw: unknown): SaveOfflinePageViewTaskDependency;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=saveOfflinePageViewTaskDependency.d.ts.map
|