UNPKG

cesium

Version:

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.

49 lines (42 loc) 2.14 kB
import defaultValue from './defaultValue.js'; import defined from './defined.js'; import DeveloperError from './DeveloperError.js'; var warnings = {}; /** * Logs a one time message to the console. Use this function instead of * <code>console.log</code> directly since this does not log duplicate messages * unless it is called from multiple workers. * * @exports oneTimeWarning * * @param {String} identifier The unique identifier for this warning. * @param {String} [message=identifier] The message to log to the console. * * @example * for(var i=0;i<foo.length;++i) { * if (!defined(foo[i].bar)) { * // Something that can be recovered from but may happen a lot * oneTimeWarning('foo.bar undefined', 'foo.bar is undefined. Setting to 0.'); * foo[i].bar = 0; * // ... * } * } * * @private */ function oneTimeWarning(identifier, message) { //>>includeStart('debug', pragmas.debug); if (!defined(identifier)) { throw new DeveloperError('identifier is required.'); } //>>includeEnd('debug'); if (!defined(warnings[identifier])) { warnings[identifier] = true; console.warn(defaultValue(message, identifier)); } } oneTimeWarning.geometryOutlines = 'Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.'; oneTimeWarning.geometryZIndex = 'Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored'; oneTimeWarning.geometryHeightReference = 'Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored'; oneTimeWarning.geometryExtrudedHeightReference = 'Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored'; export default oneTimeWarning;