Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@here/harp-mapview-decoder

Package Overview
Dependencies
Maintainers
3
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@here/harp-mapview-decoder - npm Package Compare versions

Comparing version
0.19.1
to
0.20.0
+22
-7
lib/DataProvider.d.ts
import "@here/harp-fetch";
import { TileKey } from "@here/harp-geoutils";
import { EventDispatcher } from "three";
/**

@@ -11,13 +12,21 @@ * Interface for all `DataProvider` subclasses.

*/
export interface DataProvider {
export declare abstract class DataProvider extends EventDispatcher {
private readonly m_clients;
/**
* Connect to the data source. Returns a promise to wait for successful (or failed) connection.
* Registers a client to the data provider.
*
* @returns A promise which is resolved when the connection has been established.
* @param client - The client to register.
* @returns Promise to wait for successful (or failed) connection to the data source.
*/
connect(): Promise<void>;
register(client: Object): Promise<void>;
/**
* Unregisters a client from the data provider.
*
* @param client - The client to unregister.
*/
unregister(client: Object): void;
/**
* Returns `true` if it has been connected successfully.
*/
ready(): boolean;
abstract ready(): boolean;
/**

@@ -30,3 +39,3 @@ * Load the data of a {@link @here/map-view@Tile} asynchronously.

*/
getTile(tileKey: TileKey, abortSignal?: AbortSignal): Promise<ArrayBufferLike | {}>;
abstract getTile(tileKey: TileKey, abortSignal?: AbortSignal): Promise<ArrayBufferLike | {}>;
/**

@@ -47,7 +56,13 @@ * An event which fires when this `DataProvider` is invalidated.

/**
* Connect to the data source. Returns a promise to wait for successful (or failed) connection.
*
* @returns A promise which is resolved when the connection has been established.
*/
protected abstract connect(): Promise<void>;
/**
* Destroys this `DataProvider`. Implementations of `DataProvider` must dispose of
* asynchronous operations and services here.
*/
dispose(): void;
protected abstract dispose(): void;
}
//# sourceMappingURL=DataProvider.d.ts.map

@@ -8,3 +8,41 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.DataProvider = void 0;
require("@here/harp-fetch");
const three_1 = require("three");
/**
* Interface for all `DataProvider` subclasses.
*
* @remarks
* The `DataProvider` is an abstraction of the tile
* loader which is only responsible for loading the data of a specific tile,
* without any relation to displaying or even decoding the data.
*/
class DataProvider extends three_1.EventDispatcher {
constructor() {
super(...arguments);
this.m_clients = new Set();
}
/**
* Registers a client to the data provider.
*
* @param client - The client to register.
* @returns Promise to wait for successful (or failed) connection to the data source.
*/
register(client) {
const result = this.m_clients.size === 0 ? this.connect() : Promise.resolve();
this.m_clients.add(client);
return result;
}
/**
* Unregisters a client from the data provider.
*
* @param client - The client to unregister.
*/
unregister(client) {
if (this.m_clients.delete(client) && this.m_clients.size === 0) {
this.dispose();
}
}
}
exports.DataProvider = DataProvider;
//# sourceMappingURL=DataProvider.js.map

@@ -18,3 +18,2 @@ "use strict";

// align the buffer to the next integer multiple of 2.
// tslint:disable-next-line: no-bitwise
const BUFFER = -(-Math.ceil(EXTENT * BUFFER_FACTOR) & -2);

@@ -29,3 +28,3 @@ class GeoJsonTiler {

async connect() {
return Promise.resolve();
return await Promise.resolve();
}

@@ -36,3 +35,3 @@ async registerIndex(indexId, input) {

}
return this.updateIndex(indexId, input);
return await this.updateIndex(indexId, input);
}

@@ -39,0 +38,0 @@ async updateIndex(indexId, input) {

@@ -7,3 +7,3 @@ import "@here/harp-fetch";

*/
export declare class TestSingleFileDataProvider implements DataProvider {
export declare class TestSingleFileDataProvider extends DataProvider {
private readonly moduleName;

@@ -29,3 +29,3 @@ private readonly basePath;

*/
export declare class TestTilesDataProvider implements DataProvider {
export declare class TestTilesDataProvider extends DataProvider {
private readonly basePath;

@@ -32,0 +32,0 @@ /**

@@ -11,6 +11,7 @@ "use strict";

const harp_test_utils_1 = require("@here/harp-test-utils");
const DataProvider_1 = require("../lib/DataProvider");
/**
* Data provider that loads test tile using [[loadTestResource]].
*/
class TestSingleFileDataProvider {
class TestSingleFileDataProvider extends DataProvider_1.DataProvider {
/**

@@ -22,2 +23,3 @@ * TestDataProvider constructor

constructor(moduleName, basePath) {
super();
this.moduleName = moduleName;

@@ -33,3 +35,3 @@ this.basePath = basePath;

async getTile(_tileKey, _abortSignal) {
return harp_test_utils_1.loadTestResource(this.moduleName, this.basePath, "arraybuffer");
return await harp_test_utils_1.loadTestResource(this.moduleName, this.basePath, "arraybuffer");
}

@@ -48,3 +50,3 @@ /** @override */ dispose() {

*/
class TestTilesDataProvider {
class TestTilesDataProvider extends DataProvider_1.DataProvider {
/**

@@ -56,2 +58,3 @@ * Constructs `TestFilesDataProvider` using the provided base path.

constructor(basePath) {
super();
this.basePath = basePath;

@@ -76,3 +79,3 @@ }

});
return resp.arrayBuffer();
return await resp.arrayBuffer();
}

@@ -79,0 +82,0 @@ /** @override */ dispose() {

@@ -30,7 +30,5 @@ "use strict";

}
// tslint:disable:no-unused-variable
getTileInfo(data, tileKey, projection) {
return Promise.resolve(undefined);
}
// tslint:disable:no-unused-variable
configure(styleSet, definitions, languages, options) {

@@ -37,0 +35,0 @@ if (styleSet !== undefined) {

@@ -54,5 +54,3 @@ "use strict";

styleSetName: m_options.styleSetName,
// tslint:disable-next-line: deprecation
minZoomLevel: m_options.minZoomLevel,
// tslint:disable-next-line: deprecation
maxZoomLevel: m_options.maxZoomLevel,

@@ -64,3 +62,5 @@ minDataLevel: m_options.minDataLevel,

storageLevelOffset: m_options.storageLevelOffset,
allowOverlappingTiles: m_options.allowOverlappingTiles
allowOverlappingTiles: m_options.allowOverlappingTiles,
minGeometryHeight: m_options.minGeometryHeight,
maxGeometryHeight: m_options.maxGeometryHeight
});

@@ -90,3 +90,3 @@ this.m_tileFactory = m_tileFactory;

this.decoder.dispose();
this.dataProvider().dispose();
this.dataProvider().unregister(this);
}

@@ -106,3 +106,3 @@ /** @override */

async connect() {
await Promise.all([this.m_options.dataProvider.connect(), this.m_decoder.connect()]);
await Promise.all([this.m_options.dataProvider.register(this), this.m_decoder.connect()]);
this.m_isReady = true;

@@ -109,0 +109,0 @@ this.m_decoder.configure(undefined, undefined, undefined, {

@@ -51,5 +51,3 @@ "use strict";

if (existingService !== undefined) {
throw Error(
// tslint:disable-next-line: max-line-length
`error - service with targetServiceId='${request.targetServiceId}' already running, ignoring CreateService request`);
throw Error(`error - service with targetServiceId='${request.targetServiceId}' already running, ignoring CreateService request`);
}

@@ -56,0 +54,0 @@ const factory = this.m_factories.get(request.targetServiceType);

{
"name": "@here/harp-mapview-decoder",
"version": "0.19.1",
"version": "0.20.0",
"description": "Decoder worker for mapview",

@@ -29,12 +29,12 @@ "main": "index.js",

"dependencies": {
"@here/harp-datasource-protocol": "^0.19.0",
"@here/harp-fetch": "^0.19.0",
"@here/harp-geoutils": "^0.19.0",
"@here/harp-lrucache": "^0.19.0",
"@here/harp-mapview": "^0.19.0",
"@here/harp-utils": "^0.19.0",
"@here/harp-datasource-protocol": "^0.20.0",
"@here/harp-fetch": "^0.20.0",
"@here/harp-geoutils": "^0.20.0",
"@here/harp-lrucache": "^0.20.0",
"@here/harp-mapview": "^0.20.0",
"@here/harp-utils": "^0.20.0",
"geojson-vt": "^3.2.1"
},
"devDependencies": {
"@here/harp-test-utils": "^0.19.0",
"@here/harp-test-utils": "^0.20.0",
"@types/chai": "^4.2.11",

@@ -55,3 +55,3 @@ "@types/chai-as-promised": "^7.1.2",

},
"gitHead": "1e69b69ef6a219c35ae17520483c86e80aa8a20e"
"gitHead": "862a06f6632e930e77208a7dc24bb293f826524a"
}