1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | Object.defineProperty(exports, "__esModule", { value: true });
|
11 | exports.proxyHandler = void 0;
|
12 |
|
13 |
|
14 |
|
15 | exports.proxyHandler = {
|
16 | get(target, key, receiver) {
|
17 | const Model = target.constructor;
|
18 | const column = Model.$getColumn(key);
|
19 | |
20 |
|
21 |
|
22 |
|
23 | if (column && !column.hasGetter) {
|
24 | const attributeValue = target.$getAttribute(key);
|
25 | if (attributeValue === undefined) {
|
26 | return Reflect.get(target, key, receiver);
|
27 | }
|
28 | return attributeValue;
|
29 | }
|
30 | |
31 |
|
32 |
|
33 | const relation = Model.$getRelation(key);
|
34 | if (relation) {
|
35 | return target.$getRelated(key);
|
36 | }
|
37 | return Reflect.get(target, key, receiver);
|
38 | },
|
39 | set(target, key, value, receiver) {
|
40 | const Model = target.constructor;
|
41 | const column = Model.$getColumn(key);
|
42 | |
43 |
|
44 |
|
45 |
|
46 | if (column && !column.hasSetter) {
|
47 | target.$setAttribute(key, value);
|
48 | Reflect.set(target, key, value, receiver);
|
49 | return true;
|
50 | }
|
51 | |
52 |
|
53 |
|
54 | const relation = Model.$getRelation(key);
|
55 | if (relation) {
|
56 | target.$setRelated(key, value);
|
57 | return true;
|
58 | }
|
59 | return Reflect.set(target, key, value, receiver);
|
60 | },
|
61 | defineProperty(target, key, value) {
|
62 | const Model = target.constructor;
|
63 | const column = Model.$getColumn(key);
|
64 | |
65 |
|
66 |
|
67 | if (column && !column.hasSetter && value.value !== undefined) {
|
68 | target.$setAttribute(key, value.value);
|
69 | }
|
70 | return Reflect.defineProperty(target, key, value);
|
71 | },
|
72 | };
|