[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
simkeu 07072025
/
keuangan
/
vendors
/
bower_components
/
bower
/
Source
/
[
Home
]
File: Accessors.js
/* --- name: "Accessors" description: "Implementing accessors" license: - "[GNU Lesser General Public License](http://opensource.org/licenses/lgpl-license.php)" - "[MIT License](http://opensource.org/licenses/mit-license.php)" requires: - Core provides: accessors ... */ (function (Object) { var standard = !!Object.getOwnPropertyDescriptor, nonStandard = !!{}.__defineGetter__; if (!standard && !nonStandard) throw new Error('Accessors are not supported'); var lookup = nonStandard ? function (from, key, bool) { var g = from.__lookupGetter__(key), s = from.__lookupSetter__(key), has = !!(g || s); if (bool) return has; return has ? { get: g, set: s } : null; } : function (from, key, bool) { var descriptor = Object.getOwnPropertyDescriptor(from, key); if (!descriptor) { // try to find accessors according to chain of prototypes var proto = Object.getPrototypeOf(from); if (proto) return atom.accessors.lookup(proto, key, bool); } else if ( descriptor.set || descriptor.get ) { if (bool) return true; return { set: descriptor.set, get: descriptor.get }; } return bool ? false : null; }; /* lookup */ var define = nonStandard ? function (object, prop, descriptor) { if (descriptor) { if (descriptor.get) object.__defineGetter__(prop, descriptor.get); if (descriptor.set) object.__defineSetter__(prop, descriptor.set); } return object; } : function (object, prop, descriptor) { if (descriptor) { var desc = { get: descriptor.get, set: descriptor.set, configurable: true, enumerable: true }; Object.defineProperty(object, prop, desc); } return object; }; atom.accessors = { lookup: lookup, define: function (object, prop, descriptor) { if (typeof prop == 'object') { for (var i in prop) define(object, i, prop[i]); } else { define(object, prop, descriptor); } return object; }, has: function (object, key) { return atom.accessors.lookup(object, key, true); }, inherit: function (from, to, key) { var a = atom.accessors.lookup(from, key); if ( a ) { atom.accessors.define(to, key, a); return true; } return false; } }; })(Object);