@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
39 lines (38 loc) • 1.6 kB
TypeScript
import { IBrainSerializer } from '../../state/brain/serialize.js';
import LayersConfig from '../../state/layersConfig.js';
import BaseLayer from '../../../models/layers/baselayer.js';
import IGirafeContext from '../../context/icontext.js';
import { SharedLayer } from './sharedtypes.js';
export default class LayersConfigSerializer implements IBrainSerializer<LayersConfig> {
private readonly context;
constructor(context: IGirafeContext);
private get state();
private get preferNames();
brainSerialize(layersConfig: LayersConfig): string;
protected serialize(layers: BaseLayer[]): string;
brainDeserialize(str: string): void;
protected deserialize(str: string): BaseLayer[];
private getSerializedLayerTree;
protected getSerializedLayer(layer: BaseLayer): SharedLayer;
private getExternalSerializedTheme;
private getExternalSerializedLayer;
private getInternalSerializedGroupOrTheme;
private getInternalLayerType;
private getInternalSerializedLayer;
private getDeserializedLayerTree;
private deserializeInternalObject;
private deserializeInternalTheme;
private deserializeInternalGroup;
private deserializeInternalLayer;
private checkUnknownLayers;
private removeUnnecessaryChilds;
private reorderChildren;
private findBaseLayerById;
private findLayerRecursiveById;
private findBaseLayerByName;
private findLayerRecursiveByName;
private deserializeExternalObject;
private deserializeExternalTheme;
private deserializeExternalWmsLayer;
private deserializeExternalWmtsLayer;
}