rxrest
Version:
RxRest a reactive REST utility
43 lines • 1.34 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class RxRestProxyHandler {
constructor(target) {
this.$internal = [];
this.$instance = target;
do {
this.$internal = this.$internal.concat(Object.getOwnPropertyNames(target), Object.getOwnPropertySymbols(target));
} while (target = Object.getPrototypeOf(target));
}
getPrototypeOf(target) {
return Object.getPrototypeOf(this.$instance);
}
defineProperty(target, p, attributes) {
if (~this.$internal.indexOf(p)) {
return true;
}
Object.defineProperty(target, p, attributes);
return true;
}
deleteProperty(target, p) {
return delete target[p];
}
set(target, p, value, receiver) {
if (~this.$internal.indexOf(p)) {
this.$instance[p] = value;
return true;
}
if (this.$instance.$pristine === true && target[p] !== value) {
this.$instance.$pristine = false;
}
target[p] = value;
return true;
}
get(target, p, receiver) {
if (~this.$internal.indexOf(p)) {
return this.$instance[p];
}
return target[p];
}
}
exports.RxRestProxyHandler = RxRestProxyHandler;
//# sourceMappingURL=RxRestProxyHandler.js.map