dom-render 1.0.95 → 1.0.96

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,9 +3,8 @@ import { RawSet } from '../rawsets/RawSet';
3
3
  import { Render } from '../rawsets/Render';
4
4
  import { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';
5
5
  import { Config } from '../configs/Config';
6
- export declare class DrDictionary extends OperatorExecuterAttrRequire<string> {
6
+ export declare class DrThisProperty extends OperatorExecuterAttrRequire<string> {
7
7
  constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack);
8
8
  executeAttrRequire(attr: string): Promise<ExecuteState>;
9
- static getChildren(rawSet: RawSet, config: Config): Map<string, Node[]>;
10
9
  static append(obj: any, fullPath: string, key: string, rawSet: RawSet, config: Config): RawSet[];
11
10
  }
@@ -62,18 +62,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
62
62
  }
63
63
  };
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.DrDictionary = void 0;
65
+ exports.DrThisProperty = void 0;
66
66
  var OperatorExecuterAttrRequire_1 = require("./OperatorExecuterAttrRequire");
67
67
  var ScriptUtils_1 = require("../utils/script/ScriptUtils");
68
68
  var RawSet_1 = require("../rawsets/RawSet");
69
69
  var OperatorExecuter_1 = require("./OperatorExecuter");
70
- var DrDictionary = /** @class */ (function (_super) {
71
- __extends(DrDictionary, _super);
72
- function DrDictionary(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
70
+ var DrThisProperty = /** @class */ (function (_super) {
71
+ __extends(DrThisProperty, _super);
72
+ function DrThisProperty(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
73
73
  source.operatorAround = undefined;
74
74
  return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
75
75
  }
76
- DrDictionary.prototype.executeAttrRequire = function (attr) {
76
+ DrThisProperty.prototype.executeAttrRequire = function (attr) {
77
77
  var _a, _b, _c, _d, _e;
78
78
  return __awaiter(this, void 0, void 0, function () {
79
79
  var itRandom, vars, newTemp, dictioanry, dictionaryKey, tempalte, rr;
@@ -83,14 +83,14 @@ var DrDictionary = /** @class */ (function (_super) {
83
83
  vars = RawSet_1.RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
84
84
  newTemp = this.source.config.window.document.createElement('temp');
85
85
  dictioanry = ScriptUtils_1.ScriptUtils.evalReturn(attr, this.source.obj);
86
- dictionaryKey = (_b = this.elementSource.attrs.drDictionaryOption) !== null && _b !== void 0 ? _b : '';
86
+ dictionaryKey = (_b = this.elementSource.attrs.drKeyOption) !== null && _b !== void 0 ? _b : '';
87
87
  // console.log('--->', attr, dictionaryKey)
88
88
  // if (!(dictioanry instanceof Dictionary)) {
89
89
  // return ExecuteState.STOP;
90
90
  // }
91
91
  // await new Promise(resolve => setTimeout(resolve, 1000));
92
92
  // console.log('!!!!!!!!!!!!!!', this.rawSet);
93
- ScriptUtils_1.ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n var i = 0; \n const dictionary = ").concat(attr, ";\n const dictionaryKey = '").concat(dictionaryKey, "';\n const dictionaryStr = `").concat(attr, "`.trim();\n // console.log('----@#!@#@!#', this.__render.oldChild);\n if (dictionary) {\n for(const it in dictionary) {\n // const oldChild = this.__render.oldChild.get(it);\n // if (oldChild && oldChild.length > 0) {\n // this.__render.fag.append(...oldChild);\n // } else {\n // var destIt = dictionaryStr + '[\"' + it + '\"]';\n // const n = this.__render.element.cloneNode(true);\n // n.setAttribute('dr-this', destIt);\n // // n.setAttribute('dr-dictionary', dictionaryStr);\n // n.setAttribute('dr-dictionary-key', it);\n // this.__render.fag.append(n);\n // }\n // if (!this.__render.oldChild.get(it)) {\n // var destIt = dictionaryStr + '[\"' + it + '\"]';\n // const n = this.__render.element.cloneNode(true);\n // n.setAttribute('dr-this', destIt);\n // // n.setAttribute('dr-dictionary', dictionaryStr);\n // n.setAttribute('dr-dictionary-key', it);\n // this.__render.fag.append(n);\n // }\n var destIt = dictionaryStr + '[\"' + it + '\"]';\n const n = this.__render.element.cloneNode(true);\n n.setAttribute('dr-this', destIt);\n // n.setAttribute('dr-dictionary', dictionaryStr);\n // n.setAttribute('dr-dictionary-key', it);\n this.__render.fag.append(n);\n i++;\n }\n this.__render.rawset.point.start.setAttribute('dictionary-keys',Object.keys(dictionary).join(','));\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n "), Object.assign(this.source.obj, {
93
+ ScriptUtils_1.ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n var i = 0; \n const dictionary = ").concat(attr, ";\n const dictionaryKey = '").concat(dictionaryKey, "';\n const dictionaryStr = `").concat(attr, "`.trim();\n // console.log('----@#!@#@!#', this.__render.oldChild);\n if (dictionary) {\n for(const it in dictionary) {\n var destIt = dictionaryStr + '[\"' + it + '\"]';\n const n = this.__render.element.cloneNode(true);\n n.setAttribute('dr-this', destIt);\n n.setAttribute('dr-key', it);\n // n.setAttribute('dr-dictionary-key', it);\n this.__render.fag.append(n);\n i++;\n }\n this.__render.rawset.point.start.setAttribute('dr-has-keys',Object.keys(dictionary).join(','));\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n "), Object.assign(this.source.obj, {
94
94
  __render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet_1.RawSet.drAttrsOriginName, fag: newTemp }, this.render))
95
95
  }));
96
96
  RawSet_1.RawSet.drVarDecoding(newTemp, vars);
@@ -106,29 +106,7 @@ var DrDictionary = /** @class */ (function (_super) {
106
106
  });
107
107
  });
108
108
  };
109
- DrDictionary.getChildren = function (rawSet, config) {
110
- var _a, _b, _c;
111
- var next = rawSet.point.start.nextSibling;
112
- var oldChild = new Map();
113
- var currentKey = '';
114
- while (next) {
115
- if (next === rawSet.point.end) {
116
- break;
117
- }
118
- var dictionaryKey = (_b = (_a = next).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'dictionary-key');
119
- if (dictionaryKey) {
120
- currentKey = dictionaryKey;
121
- oldChild.set(dictionaryKey, []);
122
- }
123
- // console.log('next-------->', currentKey, next);
124
- if (currentKey) {
125
- (_c = oldChild.get(currentKey)) === null || _c === void 0 ? void 0 : _c.push(next);
126
- }
127
- next = next.nextSibling;
128
- }
129
- return oldChild;
130
- };
131
- DrDictionary.append = function (obj, fullPath, key, rawSet, config) {
109
+ DrThisProperty.append = function (obj, fullPath, key, rawSet, config) {
132
110
  var _this = this;
133
111
  var _a, _b;
134
112
  var genNode = config.window.document.importNode(rawSet.fragment, true);
@@ -137,30 +115,27 @@ var DrDictionary = /** @class */ (function (_super) {
137
115
  for (var _i = 0, _c = Array.from(genNode.childNodes.values()); _i < _c.length; _i++) {
138
116
  var cNode = _c[_i];
139
117
  var element = cNode.cloneNode(true);
140
- element.removeAttribute('dr-dictionary');
141
- element.setAttribute('dr-this', "this.".concat(fullPath));
118
+ element.removeAttribute(RawSet_1.RawSet.DR_THIS_PROPERTY_NAME);
119
+ element.setAttribute(RawSet_1.RawSet.DR_THIS_NAME, "this.".concat(fullPath));
120
+ element.setAttribute(RawSet_1.RawSet.DR_KEY_OPTIONNAME, key);
142
121
  // rawSet.point.end.after(element);
143
122
  var fg = config.window.document.createDocumentFragment();
144
123
  fg.append(element);
145
124
  rawSets.push.apply(rawSets, RawSet_1.RawSet.checkPointCreates(fg, obj, config));
146
125
  rawSet.point.end.before(fg);
147
126
  var start = rawSet.point.start;
148
- var keys = (_b = (_a = start.getAttribute('dictionary-keys')) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
127
+ var keys = (_b = (_a = start.getAttribute(RawSet_1.RawSet.DR_HAS_KEYS_OPTIONNAME)) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
149
128
  keys.push(key);
150
- start.setAttribute('dictionary-keys', keys.join(','));
129
+ start.setAttribute(RawSet_1.RawSet.DR_HAS_KEYS_OPTIONNAME, keys.join(','));
151
130
  rawSets.forEach(function (it) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
152
131
  switch (_a.label) {
153
132
  case 0: return [4 /*yield*/, it.render(obj, config)];
154
133
  case 1: return [2 /*return*/, _a.sent()];
155
134
  }
156
135
  }); }); });
157
- // console.log('WWW', fg, Array.from(fg.childNodes));
158
- // console.log('--------------------------rawSets', rawSets);
159
136
  }
160
137
  return rawSets;
161
- // rawSet.
162
- // rawSet.point.end.before()
163
138
  };
164
- return DrDictionary;
139
+ return DrThisProperty;
165
140
  }(OperatorExecuterAttrRequire_1.OperatorExecuterAttrRequire));
166
- exports.DrDictionary = DrDictionary;
141
+ exports.DrThisProperty = DrThisProperty;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dom-render",
3
- "version": "1.0.95",
3
+ "version": "1.0.96",
4
4
  "main": "DomRender.js",
5
5
  "license": "MIT",
6
6
  "description": "html view template engine",
@@ -4,7 +4,7 @@ export type Attrs = {
4
4
  drAppender: string | null;
5
5
  drFor: string | null;
6
6
  drForOf: string | null;
7
- drDictionary: string | null;
7
+ drThisProperty: string | null;
8
8
  drRepeat: string | null;
9
9
  drThis: string | null;
10
10
  drForm: string | null;
@@ -19,5 +19,6 @@ export type Attrs = {
19
19
  drCompleteOption: string | null;
20
20
  drStripOption: string | null;
21
21
  drDestroyOption: string | null;
22
- drDictionaryOption: string | null;
22
+ drHasKeysOption: string | null;
23
+ drKeyOption: string | null;
23
24
  };
@@ -9,7 +9,9 @@ export declare class RawSet {
9
9
  uuid: string;
10
10
  type: RawSetType;
11
11
  point: {
12
- start: Comment | Text | HTMLMetaElement;
12
+ start: (Comment | Text | HTMLMetaElement) & {
13
+ rawSet?: RawSet;
14
+ };
13
15
  node: Node;
14
16
  end: Comment | Text | HTMLMetaElement;
15
17
  thisVariableName?: string | null;
@@ -24,7 +26,7 @@ export declare class RawSet {
24
26
  static readonly DR_IF_NAME = "dr-if";
25
27
  static readonly DR_FOR_NAME = "dr-for";
26
28
  static readonly DR_FOR_OF_NAME = "dr-for-of";
27
- static readonly DR_DICTIONARY_NAME = "dr-dictionary";
29
+ static readonly DR_THIS_PROPERTY_NAME = "dr-this-property";
28
30
  static readonly DR_REPEAT_NAME = "dr-repeat";
29
31
  static readonly DR_THIS_NAME = "dr-this";
30
32
  static readonly DR_FORM_NAME = "dr-form";
@@ -43,16 +45,19 @@ export declare class RawSet {
43
45
  static readonly DR_DESTROY_OPTIONNAME = "dr-destroy";
44
46
  static readonly DR_COMPONENT_NAME_OPTIONNAME = "dr-component-name";
45
47
  static readonly DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = "dr-component-inner-html-name";
46
- static readonly DR_DICTIONARY_OPTIONKEYNAME = "dr-dictionary-key";
48
+ static readonly DR_KEY_OPTIONNAME = "dr-key";
49
+ static readonly DR_HAS_KEYS_OPTIONNAME = "dr-has-keys";
47
50
  static readonly DR_ON_CREATE_ARGUMENTS_OPTIONNAME = "dr-on-create:arguments";
48
51
  static readonly DR_ON_CREATED_CALLBACK_OPTIONNAME = "dr-on-create:callback";
49
52
  static readonly DR_ON_INIT_ARGUMENTS_OPTIONNAME = "dr-on-init:arguments";
50
53
  static readonly DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = "dr-on-constructor:arguments";
51
54
  static readonly drAttrsOriginName: Attrs;
52
55
  static readonly DR_TAGS: never[];
53
- static readonly DR_ATTRIBUTES: readonly ["dr", "dr-appender", "dr-if", "dr-for-of", "dr-dictionary", "dr-for", "dr-this", "dr-form", "dr-pre", "dr-inner-html", "dr-inner-text", "dr-repeat", "dr-detect"];
56
+ static readonly DR_ATTRIBUTES: readonly ["dr", "dr-appender", "dr-if", "dr-for-of", "dr-this-property", "dr-for", "dr-this", "dr-form", "dr-pre", "dr-inner-html", "dr-inner-text", "dr-repeat", "dr-detect"];
54
57
  constructor(uuid: string, type: RawSetType, point: {
55
- start: Comment | Text | HTMLMetaElement;
58
+ start: (Comment | Text | HTMLMetaElement) & {
59
+ rawSet?: RawSet;
60
+ };
56
61
  node: Node;
57
62
  end: Comment | Text | HTMLMetaElement;
58
63
  thisVariableName?: string | null;
@@ -79,7 +84,10 @@ export declare class RawSet {
79
84
  start: Comment;
80
85
  end: Comment;
81
86
  };
87
+ remove(): void;
82
88
  childAllRemove(): void;
89
+ childs(stopNext?: (node: Node) => boolean): ChildNode[] | undefined;
90
+ getHasRawSet(key: string): RawSet | undefined;
83
91
  static drItOtherEncoding(element: Element | DocumentFragment): string;
84
92
  static drItOtherDecoding(element: Element | DocumentFragment, random: string): void;
85
93
  static drThisEncoding(element: Element, drThis: string): string;
package/rawsets/RawSet.js CHANGED
@@ -80,7 +80,8 @@ var DrTargetElement_1 = require("../operators/DrTargetElement");
80
80
  var DrTargetAttr_1 = require("../operators/DrTargetAttr");
81
81
  var DestroyOptionType_1 = require("./DestroyOptionType");
82
82
  var RawSetType_1 = require("./RawSetType");
83
- var DrDictionary_1 = require("../operators/DrDictionary");
83
+ var DrThisProperty_1 = require("../operators/DrThisProperty");
84
+ var RawSetOperatorType_1 = require("./RawSetOperatorType");
84
85
  var RawSet = /** @class */ (function () {
85
86
  function RawSet(uuid, type, point, fragment, detect, data) {
86
87
  this.uuid = uuid;
@@ -89,6 +90,7 @@ var RawSet = /** @class */ (function () {
89
90
  this.fragment = fragment;
90
91
  this.detect = detect;
91
92
  this.data = data;
93
+ point.start.rawSet = this;
92
94
  // console.log('rawset constructor->', (this.point.node as Element).getAttributeNames());
93
95
  }
94
96
  Object.defineProperty(RawSet.prototype, "isConnected", {
@@ -208,7 +210,7 @@ var RawSet = /** @class */ (function () {
208
210
  drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
209
211
  drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
210
212
  drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
211
- drDictionary: this.getAttributeAndDelete(element, RawSet.DR_DICTIONARY_NAME),
213
+ drThisProperty: this.getAttributeAndDelete(element, RawSet.DR_THIS_PROPERTY_NAME),
212
214
  drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
213
215
  drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
214
216
  drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
@@ -224,7 +226,7 @@ var RawSet = /** @class */ (function () {
224
226
  drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
225
227
  drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
226
228
  drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),
227
- drDictionaryOption: this.getAttributeAndDelete(element, RawSet.DR_DICTIONARY_OPTIONKEYNAME)
229
+ drKeyOption: this.getAttributeAndDelete(element, RawSet.DR_KEY_OPTIONNAME)
228
230
  };
229
231
  drAttrs.push(drAttr);
230
232
  operators = [
@@ -237,7 +239,7 @@ var RawSet = /** @class */ (function () {
237
239
  new DrInnerHTML_1.DrInnerHTML(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_h = config.operatorAround) === null || _h === void 0 ? void 0 : _h.drInnerHTML }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
238
240
  new DrFor_1.DrFor(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_j = config.operatorAround) === null || _j === void 0 ? void 0 : _j.drFor }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
239
241
  new DrForOf_1.DrForOf(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_k = config.operatorAround) === null || _k === void 0 ? void 0 : _k.drForOf }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
240
- new DrDictionary_1.DrDictionary(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_DICTIONARY_NAME, attr: drAttr.drDictionary, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_l = config.operatorAround) === null || _l === void 0 ? void 0 : _l.drDictionary }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
242
+ new DrThisProperty_1.DrThisProperty(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_l = config.operatorAround) === null || _l === void 0 ? void 0 : _l.drThisProperty }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
241
243
  new DrAppender_1.DrAppender(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_m = config.operatorAround) === null || _m === void 0 ? void 0 : _m.drAppender }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
242
244
  new DrRepeat_1.DrRepeat(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_o = config.operatorAround) === null || _o === void 0 ? void 0 : _o.drRepeat }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
243
245
  new DrTargetElement_1.DrTargetElement(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
@@ -558,19 +560,17 @@ var RawSet = /** @class */ (function () {
558
560
  var start = config.window.document.createElement('meta');
559
561
  var end = config.window.document.createElement('meta');
560
562
  start.setAttribute('id', "".concat(id, "-start"));
561
- var dictionaryKey = element.getAttribute('dr-dictionary-key');
562
- var dictionary = element.getAttribute('dr-dictionary');
563
- if (dictionary) {
564
- start.setAttribute('type', 'dictionary');
563
+ var keys = element.getAttribute(RawSet.DR_KEY_OPTIONNAME);
564
+ var thisPropertyType = element.getAttribute(RawSet.DR_THIS_PROPERTY_NAME);
565
+ if (thisPropertyType) {
566
+ start.setAttribute('type', RawSetOperatorType_1.RawSetOperatorType.DR_THIS_PROPERTY);
565
567
  }
566
- if (dictionaryKey) {
567
- start.setAttribute('dictionary-key', dictionaryKey);
568
+ if (keys) {
569
+ element.removeAttribute(RawSet.DR_KEY_OPTIONNAME);
570
+ start.setAttribute(RawSet.DR_KEY_OPTIONNAME, keys);
568
571
  }
569
572
  end.setAttribute('id', "".concat(id, "-end"));
570
- return {
571
- start: start,
572
- end: end
573
- };
573
+ return { start: start, end: end };
574
574
  }
575
575
  else if (type === RawSetType_1.RawSetType.STYLE_TEXT) {
576
576
  return {
@@ -585,6 +585,11 @@ var RawSet = /** @class */ (function () {
585
585
  };
586
586
  }
587
587
  };
588
+ RawSet.prototype.remove = function () {
589
+ this.childAllRemove();
590
+ this.point.end.remove();
591
+ this.point.start.remove();
592
+ };
588
593
  RawSet.prototype.childAllRemove = function () {
589
594
  var next = this.point.start.nextSibling;
590
595
  while (next) {
@@ -595,6 +600,31 @@ var RawSet = /** @class */ (function () {
595
600
  next = this.point.start.nextSibling;
596
601
  }
597
602
  };
603
+ RawSet.prototype.childs = function (stopNext) {
604
+ var childs = [];
605
+ var next = this.point.start.nextSibling;
606
+ while (next && next !== this.point.end) {
607
+ if (stopNext === null || stopNext === void 0 ? void 0 : stopNext(next)) {
608
+ return;
609
+ }
610
+ childs.push(next);
611
+ next = next.nextSibling;
612
+ }
613
+ return childs;
614
+ };
615
+ RawSet.prototype.getHasRawSet = function (key) {
616
+ var rawSet;
617
+ this.childs(function (node) {
618
+ var _a, _b;
619
+ var drKey = (_b = (_a = node).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'dr-key');
620
+ if (drKey && drKey === key) {
621
+ rawSet = node.rawSet;
622
+ return true;
623
+ }
624
+ return false;
625
+ });
626
+ return rawSet;
627
+ };
598
628
  RawSet.drItOtherEncoding = function (element) {
599
629
  var random = RandomUtils_1.RandomUtils.uuid();
600
630
  var regex = /#it#/g;
@@ -1016,7 +1046,7 @@ var RawSet = /** @class */ (function () {
1016
1046
  RawSet.DR_IF_NAME = 'dr-if';
1017
1047
  RawSet.DR_FOR_NAME = 'dr-for';
1018
1048
  RawSet.DR_FOR_OF_NAME = 'dr-for-of';
1019
- RawSet.DR_DICTIONARY_NAME = 'dr-dictionary';
1049
+ RawSet.DR_THIS_PROPERTY_NAME = 'dr-this-property';
1020
1050
  RawSet.DR_REPEAT_NAME = 'dr-repeat';
1021
1051
  RawSet.DR_THIS_NAME = 'dr-this';
1022
1052
  RawSet.DR_FORM_NAME = 'dr-form';
@@ -1035,7 +1065,8 @@ var RawSet = /** @class */ (function () {
1035
1065
  RawSet.DR_DESTROY_OPTIONNAME = 'dr-destroy';
1036
1066
  RawSet.DR_COMPONENT_NAME_OPTIONNAME = 'dr-component-name';
1037
1067
  RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-component-inner-html-name';
1038
- RawSet.DR_DICTIONARY_OPTIONKEYNAME = 'dr-dictionary-key';
1068
+ RawSet.DR_KEY_OPTIONNAME = 'dr-key';
1069
+ RawSet.DR_HAS_KEYS_OPTIONNAME = 'dr-has-keys';
1039
1070
  RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';
1040
1071
  RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';
1041
1072
  RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';
@@ -1045,7 +1076,7 @@ var RawSet = /** @class */ (function () {
1045
1076
  drIf: RawSet.DR_IF_NAME,
1046
1077
  drFor: RawSet.DR_FOR_NAME,
1047
1078
  drForOf: RawSet.DR_FOR_OF_NAME,
1048
- drDictionary: RawSet.DR_DICTIONARY_NAME,
1079
+ drThisProperty: RawSet.DR_THIS_PROPERTY_NAME,
1049
1080
  drAppender: RawSet.DR_APPENDER_NAME,
1050
1081
  drRepeat: RawSet.DR_REPEAT_NAME,
1051
1082
  drThis: RawSet.DR_THIS_NAME,
@@ -1061,10 +1092,11 @@ var RawSet = /** @class */ (function () {
1061
1092
  drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
1062
1093
  drStripOption: RawSet.DR_STRIP_OPTIONNAME,
1063
1094
  drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,
1064
- drDictionaryOption: RawSet.DR_DICTIONARY_OPTIONKEYNAME
1095
+ drHasKeysOption: RawSet.DR_HAS_KEYS_OPTIONNAME,
1096
+ drKeyOption: RawSet.DR_KEY_OPTIONNAME
1065
1097
  };
1066
1098
  RawSet.DR_TAGS = [];
1067
- RawSet.DR_ATTRIBUTES = [RawSet.DR_NAME, RawSet.DR_APPENDER_NAME, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_DICTIONARY_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_PRE_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME, RawSet.DR_DETECT_NAME];
1099
+ RawSet.DR_ATTRIBUTES = [RawSet.DR_NAME, RawSet.DR_APPENDER_NAME, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_THIS_PROPERTY_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_PRE_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME, RawSet.DR_DETECT_NAME];
1068
1100
  return RawSet;
1069
1101
  }());
1070
1102
  exports.RawSet = RawSet;
@@ -0,0 +1,3 @@
1
+ export declare enum RawSetOperatorType {
2
+ DR_THIS_PROPERTY = "this-property"
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RawSetOperatorType = void 0;
4
+ var RawSetOperatorType;
5
+ (function (RawSetOperatorType) {
6
+ RawSetOperatorType["DR_THIS_PROPERTY"] = "this-property";
7
+ })(RawSetOperatorType = exports.RawSetOperatorType || (exports.RawSetOperatorType = {}));