sensai
Version:
Because even AI needs a master
42 lines (41 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getHiddenProperty: function() {
return getHiddenProperty;
},
setHiddenProperty: function() {
return setHiddenProperty;
}
});
const symbol = Symbol("hidden");
const setHiddenProperty = (target, value)=>{
// Validate the target parameter
// if (target == null) {
// throw new TypeError("Cannot set hidden property on null or undefined");
// }
// if (typeof target !== "object" && typeof target !== "function") {
// throw new TypeError("Target must be an object or function");
// }
// Use Object.defineProperty to create a truly hidden property
Object.defineProperty(target, symbol, {
value,
enumerable: false,
configurable: false,
writable: false
});
};
const getHiddenProperty = (target)=>{
if (target === null || target === undefined) {
return undefined;
}
return target[symbol];
};