UNPKG

vue-cesium

Version:
270 lines (265 loc) 7.77 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var shared = require('@vue/shared'); var lodashUnified = require('lodash-unified'); "use strict"; function getFileNameByPath(path) { const posStart = path.lastIndexOf("/"); const posEnd = path.lastIndexOf("."); return path.substring(posStart + 1, posEnd); } function dirname(path) { if (typeof path !== "string") path = path + ""; if (path.length === 0) return "."; let code = path.charCodeAt(0); const hasRoot = code === 47; let end = -1; let matchedSlash = true; for (let i = path.length - 1; i >= 1; --i) { code = path.charCodeAt(i); if (code === 47) { if (!matchedSlash) { end = i; break; } } else { matchedSlash = false; } } if (end === -1) return hasRoot ? "/" : "."; if (hasRoot && end === 1) { return "/"; } return path.slice(0, end); } function removeEmpty(obj) { const proto = Object.getPrototypeOf(obj); const finalObj = {}; Object.setPrototypeOf(finalObj, proto); Object.keys(obj).forEach((key) => { const className = getObjClassName(obj[key], true); if (obj[key] && shared.isArray(obj[key]) || obj[key] instanceof Element) { finalObj[key] = obj[key]; } else if (obj[key] && typeof obj[key] === "object" && !Cesium[className]) { const nestedObj = removeEmpty(obj[key]); if (Object.keys(nestedObj).length) { finalObj[key] = nestedObj; } } else if (obj[key] !== "" && obj[key] !== void 0 && obj[key] !== null) { finalObj[key] = obj[key]; } }); return finalObj; } function isEmptyObj(obj) { if (lodashUnified.isUndefined(obj) || lodashUnified.isNull(obj)) { return true; } if (obj instanceof Element) { return false; } const arr = Object.keys(obj); return arr.length === 0; } const kebabCase = shared.hyphenate; function myInstanceof(left, right) { if (typeof left !== "object" || left === null) return false; let proto = Object.getPrototypeOf(left); while (true) { if (proto === null) return false; if (proto === (right == null ? void 0 : right.prototype)) return true; proto = Object.getPrototypeOf(proto); } } function getCesiumClassName(obj) { let result = void 0; const constructorNames = Object.keys(Cesium); for (let i = 0; i < constructorNames.length; i++) { const className = constructorNames[i]; if (myInstanceof(obj, Cesium[className])) { result = className; break; } } return result; } function getObjClassName(obj, findCesiumClass = false) { if (obj && obj.constructor) { if (findCesiumClass) { const cesiumClassName = getCesiumClassName(obj); if (cesiumClassName) { return cesiumClassName; } } return obj.constructor.name; } return typeof obj; } function lnglatValidator(longitude, latitude) { const longreg = /^(-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,15})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,15}|180)$/; if (!longreg.test(longitude.toString())) { return false; } const latreg = /^(-|\+)?([0-8]?\d{1}\.\d{0,15}|90\.0{0,15}|[0-8]?\d{1}|90)$/; if (!latreg.test(latitude.toString())) { return false; } return true; } function defaultValue(a, b) { if (a !== void 0 && a !== null) { return a; } return b; } function inherit(base, derived) { function F() { } F.prototype = base.prototype; derived.prototype = new F(); derived.prototype.constructor = derived; } function getDefaultOptionByProps(props, ignores = []) { const defaultOptions = {}; Object.keys(props).forEach((key) => { if (ignores.indexOf(key) === -1) { const value = props[key]; defaultOptions[key] = shared.isFunction(value) ? void 0 : shared.isPlainObject(value) ? shared.isFunction(value.default) ? value.default() : value.default : value; } }); return defaultOptions; } const addCustomProperty = (obj, options, ignores = []) => { for (const prop in options) { if (!obj[prop] && ignores.indexOf(prop) === -1) { obj[prop] = options[prop]; } } }; const merge = (a, b) => { var _a; const keys = [.../* @__PURE__ */ new Set([...Object.keys(a), ...Object.keys(b)])]; const obj = {}; for (const key of keys) { obj[key] = (_a = b[key]) != null ? _a : a[key]; } return obj; }; function isArrayLike(obj) { if (Array.isArray(obj)) return true; if (typeof obj !== "object" || !obj) return false; const length = obj.length; return typeof length === "number" && length >= 0; } function isNumber(v) { return typeof v === "number" && isFinite(v); } function getCesiumColor(inputColor, fallbackColor, timestamp) { const { JulianDate, Color } = Cesium; const now = JulianDate.now(); if (inputColor) { if (typeof inputColor.getValue === "function") { inputColor = inputColor.getValue(timestamp || now); } if (typeof inputColor === "string") { return Color.fromCssColorString(inputColor); } else if (typeof inputColor === "function") { return getCesiumColor(inputColor(timestamp), fallbackColor); } else { return inputColor; } } else { return fallbackColor; } } function getCesiumValue(value, valueType, timestamp) { const { JulianDate, Property } = Cesium; const now = JulianDate.now(); if (!value) return value; if (valueType) { if (value instanceof valueType) return value; else { if (value instanceof Property && value._value instanceof valueType) return value._value; } } if (shared.isFunction(value.getValue)) return value.getValue(timestamp || now); return value; } Object.defineProperty(exports, 'camelize', { enumerable: true, get: function () { return shared.camelize; } }); Object.defineProperty(exports, 'capitalize', { enumerable: true, get: function () { return shared.capitalize; } }); Object.defineProperty(exports, 'extend', { enumerable: true, get: function () { return shared.extend; } }); Object.defineProperty(exports, 'hasOwn', { enumerable: true, get: function () { return shared.hasOwn; } }); Object.defineProperty(exports, 'isArray', { enumerable: true, get: function () { return shared.isArray; } }); Object.defineProperty(exports, 'isFunction', { enumerable: true, get: function () { return shared.isFunction; } }); Object.defineProperty(exports, 'isObject', { enumerable: true, get: function () { return shared.isObject; } }); Object.defineProperty(exports, 'isPlainObject', { enumerable: true, get: function () { return shared.isPlainObject; } }); Object.defineProperty(exports, 'isString', { enumerable: true, get: function () { return shared.isString; } }); Object.defineProperty(exports, 'looseEqual', { enumerable: true, get: function () { return shared.looseEqual; } }); Object.defineProperty(exports, 'camelCase', { enumerable: true, get: function () { return lodashUnified.camelCase; } }); Object.defineProperty(exports, 'isUndefined', { enumerable: true, get: function () { return lodashUnified.isUndefined; } }); exports.addCustomProperty = addCustomProperty; exports.defaultValue = defaultValue; exports.dirname = dirname; exports.getCesiumClassName = getCesiumClassName; exports.getCesiumColor = getCesiumColor; exports.getCesiumValue = getCesiumValue; exports.getDefaultOptionByProps = getDefaultOptionByProps; exports.getFileNameByPath = getFileNameByPath; exports.getObjClassName = getObjClassName; exports.inherit = inherit; exports.isArrayLike = isArrayLike; exports.isEmptyObj = isEmptyObj; exports.isNumber = isNumber; exports.kebabCase = kebabCase; exports.lnglatValidator = lnglatValidator; exports.merge = merge; exports.removeEmpty = removeEmpty; //# sourceMappingURL=util.js.map