UNPKG

vue3-openlayers

Version:
33 lines (32 loc) 984 B
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const vue = require("vue"); const composables_usePropsAsObjectProperties = require("./usePropsAsObjectProperties.js"); function useGeometry(GeometryType, props) { const feature = vue.inject("feature"); const properties = composables_usePropsAsObjectProperties.default(props); const geometry = vue.computed(() => { const parameters = Object.values(properties); return new GeometryType( ...parameters ); }); vue.watch(properties, () => { feature?.value?.setGeometry(geometry.value); feature?.value?.changed(); }); vue.watch( () => feature, () => { feature?.value?.setGeometry(geometry.value); } ); vue.onMounted(() => { feature?.value?.setGeometry(geometry.value); }); vue.onUnmounted(() => { feature?.value?.setGeometry(void 0); }); return geometry; } exports.default = useGeometry;