vue3-openlayers
Version:
OpenLayers Wrapper for Vue3
23 lines (22 loc) • 888 B
TypeScript
export type Vue3OpenlayersGlobalOptions = {
debug: boolean;
};
type TupleToObject<T extends readonly any[], M extends Record<Exclude<keyof T, keyof any[]>, PropertyKey>> = {
[K in Exclude<keyof T, keyof any[]> as M[K]]: T[K];
};
export type TypedClassArgs<T extends abstract new (...args: any) => any, M extends Record<Exclude<keyof ConstructorParameters<T>, keyof any[]>, PropertyKey>> = TupleToObject<ConstructorParameters<T>, M>;
export type KeysMatching<T extends object, V> = {
[K in keyof T]-?: T[K] extends V ? never : K;
}[keyof T];
export type ObjectToFactory<T> = {
[Key in keyof T]: T[Key] extends object | undefined ? () => T[Key] : T[Key];
};
export type LayerSwitcherOptions = {
openInLayerSwitcher?: boolean;
title?: string;
name?: string;
allwaysOnTop?: boolean;
baseLayer?: boolean;
displayInLayerSwitcher?: boolean;
};
export {};