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.
Files changed (55) hide show
  1. package/DomRender.js +2 -1
  2. package/DomRenderProxy.d.ts +3 -2
  3. package/DomRenderProxy.js +74 -9
  4. package/RawSet.js +128 -84
  5. package/dist/bundle.js +2268 -3056
  6. package/events/EventManager.d.ts +1 -1
  7. package/events/EventManager.js +69 -95
  8. package/iterators/Range.d.ts +0 -1
  9. package/iterators/Range.js +7 -33
  10. package/managers/RenderManager.js +1 -1
  11. package/package.json +9 -9
  12. package/types/Types.js +2 -2
  13. package/utils/clipboard/ClipBoardUtils.js +1 -1
  14. package/utils/dom/DomUtils.js +1 -1
  15. package/utils/location/LocationUtils.js +1 -1
  16. package/utils/node/NodeUtils.js +3 -1
  17. package/utils/random/RandomUtils.js +2 -1
  18. package/utils/script/ScriptUtils.js +24 -43
  19. package/utils/storage/StorageUtils.js +1 -1
  20. package/utils/string/StringUtils.js +18 -1
  21. package/utils/valid/ValidUtils.js +6 -1
  22. package/validators/AllCheckedValidatorArray.js +1 -1
  23. package/validators/AllUnCheckedValidatorArray.js +1 -1
  24. package/validators/CheckedValidator.js +1 -1
  25. package/validators/CountEqualsCheckedValidatorArray.js +1 -1
  26. package/validators/CountEqualsUnCheckedValidatorArray.js +1 -1
  27. package/validators/CountGreaterThanCheckedValidatorArray.js +1 -1
  28. package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +1 -1
  29. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +1 -1
  30. package/validators/CountGreaterThanUnCheckedValidatorArray.js +1 -1
  31. package/validators/CountLessThanCheckedValidatorArray.js +1 -1
  32. package/validators/CountLessThanEqualsCheckedValidatorArray.js +1 -1
  33. package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +1 -1
  34. package/validators/CountLessThanUnCheckedValidatorArray.js +1 -1
  35. package/validators/CountUnCheckedValidatorArray.js +1 -1
  36. package/validators/EmptyValidator.js +1 -1
  37. package/validators/ExcludeCheckedValidatorArray.js +1 -1
  38. package/validators/FormValidator.js +1 -1
  39. package/validators/IncludeCheckedValidatorArray.js +1 -1
  40. package/validators/MultipleValidator.js +2 -1
  41. package/validators/NonPassValidator.js +1 -1
  42. package/validators/NotEmptyValidator.js +2 -1
  43. package/validators/NotRegExpTestValidator.js +1 -1
  44. package/validators/PassValidator.js +1 -1
  45. package/validators/RegExpTestValidator.js +2 -1
  46. package/validators/RequiredValidator.js +2 -1
  47. package/validators/UnCheckedValidator.js +1 -1
  48. package/validators/ValidMultipleValidator.js +1 -1
  49. package/validators/ValidValidator.js +1 -1
  50. package/validators/ValidValidatorArray.js +1 -1
  51. package/validators/Validator.js +12 -24
  52. package/validators/ValidatorArray.js +1 -1
  53. package/validators/ValueEqualsValidator.js +1 -1
  54. package/validators/ValueNotEqualsValidator.js +1 -1
  55. 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;
@@ -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
- garbageRawSet(): void;
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
- _this.removeRawSet(it);
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
- var fullPathStr_1 = strings.join('.');
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
- var front = strings.slice(0, strings.length - 1).join('.');
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
- if (!isNaN(Number(last)) && Array.isArray(ScriptUtils_1.ScriptUtils.evalReturn('this.' + front, this._domRender_proxy))) {
120
- var aIterable = this._rawSets.get(front);
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
- DomRenderProxy.prototype.removeRawSet = function (raws) {
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.delete(raws);
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;