GeoLeaf Core API - v3.0.0
    Preparing search index...

    Typed service locator for GeoJSON loader modules.

    Injected once at boot via setupXxxDeps() functions exported by each loader. Every getter uses lazy evaluation — the value is resolved at call-time, not at setup-time — so the boot order constraint (B1→B11) is fully respected.

    Phase 10-F — replaces all (_g as any).GeoLeaf.* accesses in loaders.

    interface LoaderDependencies {
        getLayerManager(): GeoJSONLayerManagerLike | undefined;
        getLoader(): GeoJSONLoaderLike | undefined;
        getConfig(): ConfigModule | undefined;
        getFeatureValidator(): ValidatorModule | undefined;
        getLayerConfig(): GeoJSONLayerConfigLike | undefined;
        getVectorTiles(): VectorTilesLike | undefined;
        getCluster(): ClusterResolversLike | undefined;
        getUtils(): UtilsModuleLike | undefined;
        getCore(): CoreModuleLike | undefined;
        getLabels(): LabelsLike | undefined;
        getWorkerManager(): WorkerManagerLike | undefined;
        getDataConverter(): DataConverterLike | undefined;
        getAllLayerConfigs(): unknown;
        setAllLayerConfigs(configs: unknown): void;
        getPluginLayerLoader?(
            pluginId: string,
        ): ((def: Record<string, unknown>) => Promise<string>) | undefined;
        ensurePluginLoaded?(pluginId: string): Promise<void>;
        getTaxonomyResolvePoiIcon?(): TaxonomySymbolResolver | undefined;
    }
    Index

    Methods

    • Resolves the layer loader a plugin registered for declarative plugin: layers (e.g. flatgeobuf). Returns undefined when no plugin handles the given id. Optional — absent on reduced builds that don't wire the plugin registry.

      Parameters

      • pluginId: string

      Returns ((def: Record<string, unknown>) => Promise<string>) | undefined

    • Loads the plugin backing pluginId when it is registered lazily and not yet loaded; resolves immediately otherwise. Never throws for an unknown id — a layer declaring a plugin nobody provides is a profile error, reported by the caller's own warning, not a boot failure.

      Exists because getPluginLayerLoader() resolves SYNCHRONOUSLY: a lazily registered plugin has not run its registerLayerLoader() yet, so the lookup returns undefined and the layer is skipped with 0 features. Without this seam, no layer-backing plugin could ever be made lazy — which is precisely what socle-init S4.5 does to six of them.

      Optional — absent on reduced builds that don't wire the plugin registry.

      Parameters

      • pluginId: string

      Returns Promise<void>