cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
54 lines (47 loc) • 1.85 kB
JavaScript
define([
'./defaultValue',
'./defined',
'./DeveloperError'
], function(
defaultValue,
defined,
DeveloperError) {
'use strict';
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';
return oneTimeWarning;
});