@seasketch/geoprocessing
Version:
Geoprocessing and reporting framework for SeaSketch 2.0
43 lines (42 loc) • 2.33 kB
TypeScript
import { GeoprocessingProject, GeoprocessingServiceMetadata, PreprocessingServiceMetadata } from "../src/types/index.js";
import { VectorDataSourceDetails } from "../src/index.js";
/**
* Select metadata of GeoprocessingBundle for manifest
*/
export interface GeoprocessingFunctionMetadata extends Omit<GeoprocessingServiceMetadata, "restrictedAccess" | "uri" | "endpoint"> {
handlerFilename: string;
purpose: "geoprocessing" | "preprocessing";
vectorDataSources: VectorDataSourceDetails[];
uri?: string;
endpoint?: string;
}
/**
* Select metadata of PreprocessingBundle for manifest
*/
export interface PreprocessingFunctionMetadata extends Omit<PreprocessingServiceMetadata, "restrictedAccess" | "uri" | "endpoint"> {
handlerFilename: string;
purpose: "geoprocessing" | "preprocessing";
uri?: string;
endpoint?: string;
}
export type ProcessingFunctionMetadata = PreprocessingFunctionMetadata | GeoprocessingFunctionMetadata;
export type SyncFunctionMetadata = ProcessingFunctionMetadata;
export type AsyncFunctionMetadata = GeoprocessingFunctionMetadata;
export interface Manifest extends GeoprocessingProject {
preprocessingFunctions: PreprocessingFunctionMetadata[];
geoprocessingFunctions: GeoprocessingFunctionMetadata[];
region: string;
version: string;
}
/** Returns true if manifest contains clients */
export declare const hasClients: (manifest: Manifest) => boolean;
export declare const getSyncFunctionMetadata: (manifest: Manifest) => ProcessingFunctionMetadata[];
export declare const getAsyncFunctionMetadata: (manifest: Manifest) => GeoprocessingFunctionMetadata[];
/** Returns true if metadata is for geoprocessing function and narrows type */
export declare const isGeoprocessingFunctionMetadata: (meta: any) => meta is GeoprocessingFunctionMetadata;
/** Returns true if metadata is for preprocessing function and narrows type */
export declare const isPreprocessingFunctionMetadata: (meta: any) => meta is PreprocessingFunctionMetadata;
/** Returns true if metadata is for sync function and narrows type */
export declare const isSyncFunctionMetadata: (meta: any) => meta is SyncFunctionMetadata;
/** Returns true if metadata is for async function and narrows type */
export declare const isAsyncFunctionMetadata: (meta: any) => meta is AsyncFunctionMetadata;