+ [mapnik] additional method definitions on the class VectorTile (#37329)

* + [mapnik] adding methods of the class VectorTile as described in http://mapnik.org/documentation/node-mapnik/3.6/

* + fix multiple semicolon at definitions
This commit is contained in:
EdgarJeremy 2019-08-08 04:46:42 +08:00 committed by Nathan Shively-Sanders
parent 64113b8f4c
commit ade88e13fd

View File

@ -1,6 +1,7 @@
// Type definitions for mapnik 3.x
// Project: http://mapnik.org
// Definitions by: Loli <https://github.com/ipv4sec>
// EdgarJeremy <https://github.com/edgarjeremy>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
@ -8,42 +9,149 @@ export const settings: any;
export function register_default_fonts(): void;
export function register_default_input_plugins(): void;
export function register_datasource(path: string): void;
export class VectorTile {
constructor(z: number, x: number, y: number)
addDataSync(vectorTile: any): void;
constructor(z: number, x: number, y: number);
addData(
buffer: Buffer,
options?: { validate?: boolean; upgrade?: boolean },
callback?: (err?: Error) => void
): void;
addDataSync(buffer: Buffer, options?: { validate?: boolean; upgrade?: boolean }): void;
addGeoJSON(
geojson: string,
name: string,
options?: {
area_threshold?: number;
simplify_distance?: number;
strictly_simple?: boolean;
multi_polygon_union?: boolean;
fill_type?: number;
process_all_rings?: boolean;
}
): void;
addImage(image: Image, name: string, options?: { image_scaling?: string; image_format?: string }): void;
addImageBuffer(buffer: Buffer, name: string, callback?: (err?: Error) => void): void;
addImageBufferSync(buffer: Buffer, name: string): void;
addImageSync(
image: Image,
name: string,
options?: { image_scaling?: string; image_format?: 'webp' | 'jpeg' | 'png' | 'tiff' }
): void;
bufferedExtent(): [number, number, number, number];
clear(callback?: (err?: Error) => void): void;
clearSync(): void;
composite(
vectorTiles: VectorTile[],
options?: {
scale_factor?: number;
offset_x?: number;
offset_y?: number;
area_threshold?: number;
strictly_simple?: boolean;
multi_polygon_union?: boolean;
fill_type?: number;
scale_denominator?: number;
reencode?: boolean;
max_extent?: [number, number, number, number];
simplify_distance?: number;
process_all_rings?: boolean;
image_format?: 'webp' | 'jpeg' | 'png' | 'tiff';
scaling_method?: string;
threading_mode?: string;
callback?: (err: Error) => void;
}
): void;
compositeSync(
vectorTiles: VectorTile[],
options?: {
scale_factor?: number;
offset_x?: number;
offset_y?: number;
area_threshold?: number;
strictly_simple?: boolean;
multi_polygon_union?: boolean;
fill_type?: number;
scale_denominator?: number;
reencode?: boolean;
max_extent?: [number, number, number, number];
simplify_distance?: number;
process_all_rings?: boolean;
image_format?: 'webp' | 'jpeg' | 'png' | 'tiff';
scaling_method?: string;
threading_mode?: string;
}
): void;
empty(): boolean;
emptyLayers(): string[];
extent(): [number, number, number, number];
getData(
options?: {
compression?: number;
level?: number;
strategy?: 'FILTERED' | 'HUFFMAN_ONLY' | 'RLE' | 'FIXED' | 'DEFAULT';
},
callback?: () => void
): void;
getDataSync(options?: {
compression?: number;
level?: number;
strategy?: 'FILTERED' | 'HUFFMAN_ONLY' | 'RLE' | 'FIXED' | 'DEFAULT';
}): void;
info(buffer: Buffer): void;
layer(layer_name: string): VectorTile;
names(): string[];
painted(): boolean;
paintedLayers(): string[];
query(
longitude: number,
latitude: number,
options?: { tolerance?: number; layer?: string },
callback?: (err: Error, features: Feature[]) => void
): void;
}
export class Feature {
fromJSON(geojson: string): void;
attributes(): any;
extent(): [number, number, number, number];
geometry(): any; // TODO: Geometry class
id(): number;
toJSON(): string;
}
export class Datasource {
constructor(datasource: any)
featureset(): Featureset;
constructor(datasource: any)
featureset(): Featureset;
}
export class Featureset {
constructor()
next(): FeaturesetNext;
constructor()
next(): FeaturesetNext;
}
export class FeaturesetNext {
constructor()
toJSON(): string;
constructor()
toJSON(): string;
}
export class Image {
constructor(x: number, y: number)
encode(type: string, callback?: (err: Error, buffer: Buffer) => void): void;
getData(): Buffer;
constructor(x: number, y: number)
encode(type: string, callback?: (err: Error, buffer: Buffer) => void): void;
getData(): Buffer;
}
export interface Image {
// constructor(x: number, y: number)
new(x: number, y: number): () => void;
encode(type: string, callback?: (err: Error, buffer: Buffer) => void): void;
getData(): Buffer;
save(fp: string): () => void;
open(fp: string): () => void;
// constructor(x: number, y: number)
new(x: number, y: number): () => void;
encode(type: string, callback?: (err: Error, buffer: Buffer) => void): void;
getData(): Buffer;
save(fp: string): () => void;
open(fp: string): () => void;
}
export class Map {
constructor(x: number, y: number)
load(xml: string, callback?: (err: Error, map: Map) => void): void;
zoomAll(): void;
render(images: Image | VectorTile , callback?: (err: Error, map: Image) => void): void;
constructor(x: number, y: number)
load(xml: string, callback?: (err: Error, map: Map) => void): void;
zoomAll(): void;
render(images: Image | VectorTile, callback?: (err: Error, map: Image) => void): void;
}