UNPKG

three

Version:

JavaScript 3D library

76 lines (40 loc) 1.02 kB
/** * @author sunag / http://www.sunag.com.br/ */ var NodeUtils = { elements: [ 'x', 'y', 'z', 'w' ], addShortcuts: function () { function applyShortcut( proxy, property, subProperty ) { if ( subProperty ) { return { get: function () { return this[ proxy ][ property ][ subProperty ]; }, set: function ( val ) { this[ proxy ][ property ][ subProperty ] = val; } }; } else { return { get: function () { return this[ proxy ][ property ]; }, set: function ( val ) { this[ proxy ][ property ] = val; } }; } } return function addShortcuts( proto, proxy, list ) { var shortcuts = {}; for ( var i = 0; i < list.length; ++ i ) { var data = list[ i ].split( "." ), property = data[ 0 ], subProperty = data[ 1 ]; shortcuts[ property ] = applyShortcut( proxy, property, subProperty ); } Object.defineProperties( proto, shortcuts ); }; }() }; export { NodeUtils };