System.register(["cc"], function (_export, _context) { "use strict"; var _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, Component, RenderReactiveHandler, _crd, hasOwnProperty; function isObject(value) { return value !== null && typeof value === 'object'; } /** 是否自身上存在属性 */ function hasOwn(val, key) { if (val instanceof Component) { return key in val; } return hasOwnProperty.call(val, key); } /** 比较值是否变化了,考虑NaN;如果是对象直接认为改变了 */ function hasChanged(value, oldValue) { let type = typeof value; if (type === "object") return true; return !Object.is(value, oldValue); } _export({ isObject: isObject, hasOwn: hasOwn, hasChanged: hasChanged, RenderReactiveHandler: void 0 }); return { setters: [function (_cc) { _cclegacy = _cc.cclegacy; __checkObsolete__ = _cc.__checkObsolete__; __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__; Component = _cc.Component; }], execute: function () { _crd = true; _cclegacy._RF.push({}, "ee750cAy4JL97a8gloKeLFy", "RenderReactiveHandler", undefined); __checkObsolete__(['Component']); hasOwnProperty = Object.prototype.hasOwnProperty; _export("RenderReactiveHandler", RenderReactiveHandler = class RenderReactiveHandler { constructor(reactiveTarget) { /**需要作出反应的对象 */ this.reactiveTarget = null; this.reactiveTarget = reactiveTarget; } /** * * @param target 被代理的对象 * @param prop 被代理的对象的属性名 * @param value 被代理的对象的属性值 * @param receiver 代理对象 * @returns */ set(target, prop, value, receiver) { let oldValue = Reflect.get(target, prop); let hadKey = hasOwn(target, prop); let result = Reflect.set(target, prop, value); if (!hadKey || hasChanged(value, oldValue)) { if (prop == "angle" || prop == 'scale' || prop == "position" || prop == "_renderFlag") return; if (prop == 'activeInHierarchy') { console.warn(target); } // 属性变化 this.reactiveTarget && Reflect.set(this.reactiveTarget, prop, value); } return result; } apply() { console.warn(arguments); } get(target, prop, receiver) { if (prop === '__raw__') { return target; } else if (prop === '__isReactive__') { return true; } let rawValue = Reflect.get(target, prop); return rawValue; } deleteProperty(target, prop) { let hadKey = hasOwn(target, prop); let oldValue = target[prop]; let result = Reflect.deleteProperty(target, prop); if (result && hadKey) {//trigger(target, prop, void 0, oldValue); } return result; } }); _cclegacy._RF.pop(); _crd = false; } }; }); //# sourceMappingURL=c10c7b5c32d210450065cd3916d29574f456e826.js.map