UNPKG

tchen-vuelayers

Version:

Web map Vue components with the power of OpenLayers

51 lines (43 loc) 1.08 kB
/** * VueLayers * Web map Vue components with the power of OpenLayers * * @package vuelayers * @author Vladimir Vershinin <ghettovoice@gmail.com> * @version 0.11.1 * @license MIT * @copyright (c) 2017-2019, Vladimir Vershinin <ghettovoice@gmail.com> */ import Feature from 'ol/Feature'; import uuid from 'uuid/v4'; import Vue from 'vue'; import { isNumber, isPlainObject, isString } from '../util/minilo'; /** * Basic feature initialization * @param feature */ function initFeature(feature) { if (feature.getId() == null) { feature.setId(uuid()); } return feature; } /** * @param {Object|Vue|Feature|string|number} feature * @return {string|number} * @throws {Error} */ function getFeatureId(feature) { var id; if (isPlainObject(feature) || feature instanceof Vue) { id = feature.id; } else if (feature instanceof Feature) { id = feature.getId(); } else if (isString(feature) || isNumber(feature)) { id = feature; } else { throw new Error('Illegal feature format'); } return id; } export { initFeature, getFeatureId };