UNPKG

cesium

Version:

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

29 lines (25 loc) 1.02 kB
/** * Returns frozen renderState as well as all of the object literal properties. This function is deep object freeze * function ignoring properties named "_applyFunctions". * * @private * * @param {Object} renderState * @returns {Object} Returns frozen renderState. * */ function freezeRenderState(renderState) { if (typeof renderState !== 'object' || renderState === null) { return renderState; } var propName; var propNames = Object.keys(renderState); for (var i = 0; i < propNames.length; i++) { propName = propNames[i]; if (renderState.hasOwnProperty(propName) && propName !== '_applyFunctions') { renderState[propName] = freezeRenderState(renderState[propName]); } } return Object.freeze(renderState); } export default freezeRenderState;