dom-render 1.0.67 → 1.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DomRender.js +2 -1
- package/DomRenderProxy.d.ts +3 -2
- package/DomRenderProxy.js +74 -9
- package/RawSet.js +128 -84
- package/dist/bundle.js +2268 -3056
- package/events/EventManager.d.ts +1 -1
- package/events/EventManager.js +69 -95
- package/iterators/Range.d.ts +0 -1
- package/iterators/Range.js +7 -33
- package/managers/RenderManager.js +1 -1
- package/package.json +9 -9
- package/types/Types.js +2 -2
- package/utils/clipboard/ClipBoardUtils.js +1 -1
- package/utils/dom/DomUtils.js +1 -1
- package/utils/location/LocationUtils.js +1 -1
- package/utils/node/NodeUtils.js +3 -1
- package/utils/random/RandomUtils.js +2 -1
- package/utils/script/ScriptUtils.js +24 -43
- package/utils/storage/StorageUtils.js +1 -1
- package/utils/string/StringUtils.js +18 -1
- package/utils/valid/ValidUtils.js +6 -1
- package/validators/AllCheckedValidatorArray.js +1 -1
- package/validators/AllUnCheckedValidatorArray.js +1 -1
- package/validators/CheckedValidator.js +1 -1
- package/validators/CountEqualsCheckedValidatorArray.js +1 -1
- package/validators/CountEqualsUnCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanUnCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanEqualsCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanUnCheckedValidatorArray.js +1 -1
- package/validators/CountUnCheckedValidatorArray.js +1 -1
- package/validators/EmptyValidator.js +1 -1
- package/validators/ExcludeCheckedValidatorArray.js +1 -1
- package/validators/FormValidator.js +1 -1
- package/validators/IncludeCheckedValidatorArray.js +1 -1
- package/validators/MultipleValidator.js +2 -1
- package/validators/NonPassValidator.js +1 -1
- package/validators/NotEmptyValidator.js +2 -1
- package/validators/NotRegExpTestValidator.js +1 -1
- package/validators/PassValidator.js +1 -1
- package/validators/RegExpTestValidator.js +2 -1
- package/validators/RequiredValidator.js +2 -1
- package/validators/UnCheckedValidator.js +1 -1
- package/validators/ValidMultipleValidator.js +1 -1
- package/validators/ValidValidator.js +1 -1
- package/validators/ValidValidatorArray.js +1 -1
- package/validators/Validator.js +12 -24
- package/validators/ValidatorArray.js +1 -1
- package/validators/ValueEqualsValidator.js +1 -1
- package/validators/ValueNotEqualsValidator.js +1 -1
- package/dist/bundle.js.map +0 -1
package/DomRender.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.DomRender = void 0;
|
4
4
|
var DomRenderProxy_1 = require("./DomRenderProxy");
|
5
|
-
var DomRender = (function () {
|
5
|
+
var DomRender = /** @class */ (function () {
|
6
6
|
function DomRender() {
|
7
7
|
}
|
8
8
|
DomRender.run = function (obj, target, config) {
|
@@ -26,3 +26,4 @@ var DomRender = (function () {
|
|
26
26
|
return DomRender;
|
27
27
|
}());
|
28
28
|
exports.DomRender = DomRender;
|
29
|
+
// export default DomRender;
|
package/DomRenderProxy.d.ts
CHANGED
@@ -23,6 +23,7 @@ export declare class DomRenderProxy<T extends object> implements ProxyHandler<T>
|
|
23
23
|
addRef(parent: object, path: string): void;
|
24
24
|
addRawSetAndRender(path: string, rawSet: RawSet): void;
|
25
25
|
addRawSet(path: string, rawSet: RawSet): void;
|
26
|
-
removeRawSet(raws: RawSet): void;
|
27
|
-
|
26
|
+
removeRawSet(...raws: RawSet[]): void;
|
27
|
+
private targetGarbageRawSet;
|
28
|
+
private garbageRawSet;
|
28
29
|
}
|
package/DomRenderProxy.js
CHANGED
@@ -6,7 +6,7 @@ var EventManager_1 = require("./events/EventManager");
|
|
6
6
|
var ScriptUtils_1 = require("./utils/script/ScriptUtils");
|
7
7
|
var Types_1 = require("./types/Types");
|
8
8
|
var excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];
|
9
|
-
var DomRenderProxy = (function () {
|
9
|
+
var DomRenderProxy = /** @class */ (function () {
|
10
10
|
function DomRenderProxy(_domRender_origin, target, config) {
|
11
11
|
this._domRender_origin = _domRender_origin;
|
12
12
|
this.config = config;
|
@@ -33,6 +33,7 @@ var DomRenderProxy = (function () {
|
|
33
33
|
if (obj) {
|
34
34
|
Object.keys(obj).forEach(function (it) {
|
35
35
|
var _a, _b;
|
36
|
+
// console.log('key-------->', it)
|
36
37
|
var target = obj[it];
|
37
38
|
if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Types_1.Shield)) {
|
38
39
|
var filter = (_b = (_a = _this.config.proxyExcludeTyps) === null || _a === void 0 ? void 0 : _a.filter(function (it) { return target instanceof it; })) !== null && _b !== void 0 ? _b : [];
|
@@ -83,6 +84,7 @@ var DomRenderProxy = (function () {
|
|
83
84
|
};
|
84
85
|
DomRenderProxy.prototype.render = function (raws) {
|
85
86
|
var _this = this;
|
87
|
+
var removeRawSets = [];
|
86
88
|
(raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {
|
87
89
|
it.getUsingTriggerVariables(_this.config).forEach(function (path) { return _this.addRawSet(path, it); });
|
88
90
|
if (it.point.start.isConnected && it.point.start.isConnected) {
|
@@ -90,13 +92,18 @@ var DomRenderProxy = (function () {
|
|
90
92
|
_this.render(rawSets);
|
91
93
|
}
|
92
94
|
else {
|
93
|
-
|
95
|
+
removeRawSets.push(it);
|
96
|
+
// this.removeRawSet(it)
|
94
97
|
}
|
95
98
|
});
|
99
|
+
if (removeRawSets.length > 0) {
|
100
|
+
this.removeRawSet.apply(this, removeRawSets);
|
101
|
+
}
|
96
102
|
};
|
97
103
|
DomRenderProxy.prototype.root = function (paths, value, lastDoneExecute) {
|
98
104
|
var _this = this;
|
99
105
|
if (lastDoneExecute === void 0) { lastDoneExecute = true; }
|
106
|
+
// console.log('root--->', paths, value, this._domRender_ref, this._domRender_origin);
|
100
107
|
var fullPaths = [];
|
101
108
|
if (this._domRender_ref.size > 0) {
|
102
109
|
this._domRender_ref.forEach(function (it, key) {
|
@@ -111,13 +118,20 @@ var DomRenderProxy = (function () {
|
|
111
118
|
}
|
112
119
|
else {
|
113
120
|
var strings = paths.reverse();
|
114
|
-
|
121
|
+
// const fullPathStr = strings.join('.');
|
122
|
+
var fullPathStr_1 = strings.map(function (it) { return isNaN(Number(it)) ? '.' + it : "[".concat(it, "]"); }).join('').slice(1);
|
115
123
|
if (lastDoneExecute) {
|
116
124
|
var iterable = this._rawSets.get(fullPathStr_1);
|
117
|
-
|
125
|
+
// array check
|
126
|
+
var front = strings.slice(0, strings.length - 1).map(function (it) { return isNaN(Number(it)) ? '.' + it : "[".concat(it, "]"); }).join('');
|
127
|
+
// front = front.replace(/\.\[/g, '[');
|
128
|
+
// const front = strings.slice(0, strings.length - 1).join('.');
|
129
|
+
// front = front.replace(/\.\[/g, '[');
|
118
130
|
var last = strings[strings.length - 1];
|
119
|
-
|
120
|
-
|
131
|
+
// console.log('root-else-->', fullPathStr, iterable, front, last)
|
132
|
+
// if (!isNaN(Number(last)) && Array.isArray(ScriptUtils.evalReturn('this' + front, this._domRender_proxy))) {
|
133
|
+
if (last === 'length' && Array.isArray(ScriptUtils_1.ScriptUtils.evalReturn('this' + front, this._domRender_proxy))) {
|
134
|
+
var aIterable = this._rawSets.get(front.slice(1));
|
121
135
|
if (aIterable) {
|
122
136
|
this.render(Array.from(aIterable));
|
123
137
|
}
|
@@ -138,6 +152,16 @@ var DomRenderProxy = (function () {
|
|
138
152
|
};
|
139
153
|
DomRenderProxy.prototype.set = function (target, p, value, receiver) {
|
140
154
|
var _a, _b, _c;
|
155
|
+
if (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) {
|
156
|
+
target[p] = value;
|
157
|
+
return true;
|
158
|
+
}
|
159
|
+
// console.log('set proxy-->', target, p, value, this._rawSets, this._domRender_ref)
|
160
|
+
// if (typeof p === 'string' && '__render' === p) {
|
161
|
+
// (target as any)[p] = value;
|
162
|
+
// return true;
|
163
|
+
// }
|
164
|
+
// console.log('set--?', p, target, value);
|
141
165
|
if (typeof p === 'string') {
|
142
166
|
value = this.proxy(receiver, value, p);
|
143
167
|
}
|
@@ -153,6 +177,7 @@ var DomRenderProxy = (function () {
|
|
153
177
|
};
|
154
178
|
DomRenderProxy.prototype.get = function (target, p, receiver) {
|
155
179
|
var _a, _b, _c;
|
180
|
+
// console.log('get-->', target, p, receiver);
|
156
181
|
if (p === '_DomRender_origin') {
|
157
182
|
return this._domRender_origin;
|
158
183
|
}
|
@@ -163,6 +188,20 @@ var DomRenderProxy = (function () {
|
|
163
188
|
return this;
|
164
189
|
}
|
165
190
|
else {
|
191
|
+
// Date라던지 이런놈들은-_-프록시가 이상하게 동작해서
|
192
|
+
// console.log('--->', p, target, target.bind, 'bind' in target)
|
193
|
+
// if ((p in target) && ('bind' in target)) {
|
194
|
+
// try{
|
195
|
+
// return (target as any)[p].bind(target);
|
196
|
+
// }catch (e) {
|
197
|
+
// console.error(e)
|
198
|
+
// }
|
199
|
+
// } else {
|
200
|
+
// return (target as any)[p]
|
201
|
+
// }
|
202
|
+
// return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]
|
203
|
+
// console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])
|
204
|
+
// return (target as any)[p]
|
166
205
|
var it_1 = target[p];
|
167
206
|
if (it_1 && typeof it_1 === 'object' && ('_DomRender_isProxy' in it_1) && Object.prototype.toString.call(it_1._DomRender_origin) === '[object Date]') {
|
168
207
|
it_1 = it_1._DomRender_origin;
|
@@ -208,16 +247,42 @@ var DomRenderProxy = (function () {
|
|
208
247
|
};
|
209
248
|
DomRenderProxy.prototype.addRawSet = function (path, rawSet) {
|
210
249
|
var _a;
|
250
|
+
// console.log('addRawSet-->', path, rawSet)
|
211
251
|
if (!this._rawSets.get(path)) {
|
212
252
|
this._rawSets.set(path, new Set());
|
213
253
|
}
|
214
254
|
(_a = this._rawSets.get(path)) === null || _a === void 0 ? void 0 : _a.add(rawSet);
|
215
255
|
};
|
216
|
-
|
256
|
+
// public removeRawSet(...raws: RawSet[]) {
|
257
|
+
// this._rawSets.forEach(it => {
|
258
|
+
// raws.forEach(sit => it.delete(sit));
|
259
|
+
// })
|
260
|
+
// this.garbageRawSet();
|
261
|
+
// }
|
262
|
+
DomRenderProxy.prototype.removeRawSet = function () {
|
263
|
+
var raws = [];
|
264
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
265
|
+
raws[_i] = arguments[_i];
|
266
|
+
}
|
217
267
|
this._rawSets.forEach(function (it) {
|
218
|
-
it.
|
268
|
+
it.forEach(function (sit) {
|
269
|
+
if (!sit.isConnected) {
|
270
|
+
it.delete(sit);
|
271
|
+
}
|
272
|
+
else if (raws.includes(sit)) {
|
273
|
+
it.delete(sit);
|
274
|
+
}
|
275
|
+
});
|
276
|
+
});
|
277
|
+
this.targetGarbageRawSet();
|
278
|
+
};
|
279
|
+
DomRenderProxy.prototype.targetGarbageRawSet = function () {
|
280
|
+
var _this = this;
|
281
|
+
this._targets.forEach(function (it) {
|
282
|
+
if (!it.isConnected) {
|
283
|
+
_this._targets.delete(it);
|
284
|
+
}
|
219
285
|
});
|
220
|
-
this.garbageRawSet();
|
221
286
|
};
|
222
287
|
DomRenderProxy.prototype.garbageRawSet = function () {
|
223
288
|
var _this = this;
|