123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /**
- * @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 };
|