vsn 0.1.52 → 0.1.55

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/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![npm version](https://badge.fury.io/js/vsn.svg)](https://badge.fury.io/js/vsn) [![Build Status](https://travis-ci.org/malero/vsn.svg?branch=master)](https://travis-ci.org/malero/vsn) [![codecov](https://codecov.io/gh/malero/vsn/branch/master/graph/badge.svg)](https://codecov.io/gh/malero/vsn) [![npm](https://img.shields.io/npm/dw/vsn.svg)]() [![gzip bundle size](http://img.badgesize.io/https://unpkg.com/vsn@latest/dist/?compression=gzip&style=flat-square)](https://unpkg.com/vsn)
2
+
1
3
  # VisionJS Framework
2
4
 
3
5
  Simple Javascript Framework built from the ground up with eCommerce and SEO in mind. VisionJS is meant to be used with server side rendered websites. Rather than dynamically rendering component templates like most javascript frameworks, VisionJS uses the html rendered by your server to add functionality to your website.
@@ -8,60 +10,6 @@ Use NPM to install VisionJS with the following command:
8
10
  npm i vsn
9
11
 
10
12
 
11
- ## Examples
12
- ### Set A Scope Variable
13
- Use `vsn-set:variable_name="value|type"` to set a variable in the scope. `vsn-set` is only used to initialize a value and will only be evaluated once. Use `vsn-bind` if you would like to bind the element to the scope variable.
14
-
15
- <div vsn-set:my_string="42"></div>
16
- <div vsn-set:my_int="42|int"></div>
17
- <div vsn-set:my_float="42.3|float"></div>
18
- <div vsn-set:my_bool="false|bool"></div>
19
-
20
-
21
- ### Attribute Binding
22
- Use `vsn-bind:attribute` to bind a scope variable to the element's attribute. Using `vsn-bind` on an input will bind the input's value to the scope variable.
23
-
24
- <a href="/index.html" id="link">Home</a>
25
- <input type="text" vsn-bind="#link.@text" />
26
- <input type="text" vsn-bind="#link.@href" />
27
-
28
-
29
- ### Bind to Element Events
30
- Use `vsn-on` on an element to execute some code when the specified event is triggered. Here we have a button that toggles the root scope variable `show` between false and true when the element is clicked.
31
-
32
- <button vsn-on:click="show = !show" vsn-set:show="false|bool">Toggle</button>
33
- <span vsn-bind="show"></span>
34
-
35
-
36
- ### Conditional Elements
37
- Use `vsn-if` if you would only like to show an element if a certain condition is met.
38
-
39
- <button vsn-on:click="show = !show" vsn-set:show="false|bool">Toggle</button>
40
- <span vsn-if="show">Show is true</span>
41
- <span vsn-if="!show">Show is false</span>
42
-
43
-
44
- ### Controllers
45
- Use `vsn-controller:variable_name="ClassName"` to bind an element to a controller class.
46
-
47
- Typescript class controller:
48
-
49
- class Controller {
50
- public on: boolean = false;
51
-
52
- doSomething($event, value) {
53
- $event.preventDefault();
54
- this.on = value;
55
- }
56
- }
57
- vision.registerClass(Controller, 'Controller');
58
-
59
- HTML to use the above controller:
60
-
61
- <div vsn-controller:controller="Controller">
62
- <span vsn-if="controller.on">It's on!</span>
63
- <span vsn-if="!controller.on">It's off...</span>
64
- <a href="/" vsn-on:click="controller.doSomething($event, !controller.on)">Click Me</a>
65
- </div>
13
+ ## Usage
66
14
 
67
- Note: `variable_name` cannot contain capitalized letters. Use `<tag vsn-controller="ClassName" vsn-name="variableName" />` if you need to use capitalized letters in your controller name.
15
+ Please visit the [docs](https://www.vsnjs.org) for more information.
package/dist/Tag.d.ts CHANGED
@@ -91,7 +91,7 @@ export declare class Tag extends DOMObject {
91
91
  stripModifier(attribute: string, modifier: string): string;
92
92
  addEventHandler(eventType: string, modifiers: string[], handler: any): void;
93
93
  removeEventHandler(eventType: string, handler: any): void;
94
- createScope(): void;
94
+ createScope(force?: boolean): Scope;
95
95
  watchAttribute(attributeName: string): Promise<StandardAttribute>;
96
96
  watchStyle(styleName: string): Promise<StyleAttribute>;
97
97
  private setupAttribute;
package/dist/Tag.js CHANGED
@@ -349,6 +349,8 @@ var Tag = /** @class */ (function (_super) {
349
349
  get: function () {
350
350
  if (!!this._scope)
351
351
  return this._scope;
352
+ if (this.uniqueScope)
353
+ return this.createScope();
352
354
  if (!!this._parentTag)
353
355
  return this._parentTag.scope;
354
356
  return null;
@@ -549,7 +551,6 @@ var Tag = /** @class */ (function (_super) {
549
551
  requiresScope = true;
550
552
  if (requiresScope && !this.uniqueScope) {
551
553
  this._uniqueScope = true;
552
- this._scope = new Scope_1.Scope();
553
554
  }
554
555
  this._state = TagState.AttributesBuilt;
555
556
  return [2 /*return*/];
@@ -758,16 +759,19 @@ var Tag = /** @class */ (function (_super) {
758
759
  }
759
760
  }
760
761
  };
761
- Tag.prototype.createScope = function () {
762
+ Tag.prototype.createScope = function (force) {
763
+ if (force === void 0) { force = false; }
762
764
  // Standard attribute requires a unique scope
763
765
  // @todo: Does this cause any issues with attribute bindings on the parent scope prior to having its own scope? hmm...
764
- if (!this.uniqueScope) {
766
+ if ((!this.uniqueScope && force) || this.uniqueScope) {
765
767
  this._uniqueScope = true;
766
768
  this._scope = new Scope_1.Scope();
767
769
  if (this.parentTag) {
768
770
  this.scope.parentScope = this.parentTag.scope;
769
771
  }
772
+ return this._scope;
770
773
  }
774
+ return null;
771
775
  };
772
776
  Tag.prototype.watchAttribute = function (attributeName) {
773
777
  return __awaiter(this, void 0, void 0, function () {
@@ -781,7 +785,7 @@ var Tag = /** @class */ (function (_super) {
781
785
  return [2 /*return*/, attribute];
782
786
  }
783
787
  }
784
- this.createScope();
788
+ this.createScope(true);
785
789
  standardAttribute = new StandardAttribute_1.StandardAttribute(this, attributeName);
786
790
  this.attributes.push(standardAttribute);
787
791
  return [4 /*yield*/, this.setupAttribute(standardAttribute)];
@@ -804,7 +808,7 @@ var Tag = /** @class */ (function (_super) {
804
808
  return [2 /*return*/, attribute];
805
809
  }
806
810
  }
807
- this.createScope();
811
+ this.createScope(true);
808
812
  styleAttribute = new StyleAttribute_1.StyleAttribute(this, 'style');
809
813
  this.attributes.push(styleAttribute);
810
814
  return [4 /*yield*/, this.setupAttribute(styleAttribute)];
package/dist/Tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA8B;AAC9B,yCAAsD;AACtD,6BAA0B;AAC1B,2CAAwC;AACxC,uDAAoD;AACpD,oEAAiE;AACjE,sCAAmC;AACnC,uCAAoC;AACpC,uCAAwD;AACxD,6CAA0C;AAC1C,6BAA2B;AAC3B,8DAA2D;AAE3D,IAAY,QAQX;AARD,WAAY,QAAQ;IAChB,uDAAY,CAAA;IACZ,6DAAe,CAAA;IACf,mEAAkB,CAAA;IAClB,6DAAe,CAAA;IACf,qEAAmB,CAAA;IACnB,qEAAmB,CAAA;IACnB,yCAAK,CAAA;AACT,CAAC,EARW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAQnB;AAED;IAAyB,uBAAS;IA4B9B,aACI,OAAoB,EACJ,GAAQ;QACxB,eAAQ;aAAR,UAAQ,EAAR,qBAAQ,EAAR,IAAQ;YAAR,8BAAQ;;QAHZ,YAKI,kBAAM,OAAO,EAAE,KAAK,CAAC,SAcxB;QAjBmB,SAAG,GAAH,GAAG,CAAK;QA3BZ,wBAAkB,GAAgB,EAAE,CAAC;QAG3C,4BAAsB,GAAgB,EAAE,CAAC;QAEzC,eAAS,GAAU,EAAE,CAAC;QAUtB,eAAS,GAAa;YAC5B,OAAO;YACP,QAAQ;YACR,UAAU;SACb,CAAC;QAYE,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,KAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;QACpC,IAAI,2BAAY,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,2BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC9B,2BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACjC,2BAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aAC1C;YACD,2BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;SAC1C;;IACL,CAAC;IAvBD,sBAAW,4BAAW;aAAtB;YACI,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;;;OAAA;IAAA,CAAC;IAuBQ,oCAAsB,GAAhC,UAAiC,KAAK;QAClC,IAAI,KAAK,CAAC,cAAc,KAAK,0BAAc,CAAC,QAAQ;YAChD,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAW,sCAAqB;aAAhC;YACI,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC;gBACtC,OAAO,IAAI,CAAC,sBAAsB,CAAC;YAEvC,IAAM,KAAK,GAAgB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,KAAK,0BAAc,CAAC,QAAQ,EAAtC,CAAsC,CAAC,CAAC;YAClG,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;;;OAAA;IAED,sBAAW,sBAAK;aAAhB;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9B,CAAC;;;OAAA;IAED,sBAAW,8BAAa;aAAxB;YACI,OAAO,2BAAY,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAChF,CAAC;;;OAAA;IAEM,sCAAwB,GAA/B;QACI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAC5E,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7D,IAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC1B,IAAM,SAAS,GAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;aAChD;iBAAM;gBACH,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAEY,kBAAI,GAAjB,UAAkB,IAAY;;;;;;wBACpB,IAAI,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,qBAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBACxC,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAA;4BAAtD,sBAAO,SAA+C,EAAC;;;;KAC1D;IAEY,sBAAQ,GAArB;;;;;;8BACiD,EAA1B,KAAA,IAAI,CAAC,qBAAqB;;;6BAA1B,CAAA,cAA0B,CAAA;wBAAlC,IAAI;wBACX,qBAAM,IAAI,CAAC,QAAQ,EAAE,EAAA;;wBAArB,SAAqB,CAAC;;;wBADP,IAA0B,CAAA;;;;;;KAGhD;IAED,oBAAM,GAAN,UAAO,QAAwB;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAArB,CAAqB,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,iBAAG,GAAV,UAAW,IAAY;QACnB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,iBAAG,GAAV,UAAW,IAAY,EAAE,KAAK;QAC1B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEY,+BAAiB,GAA9B,UAA+B,IAAY;;;gBACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBACxB,sBAAO,IAAI,EAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACnC,sBAAO,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC;;;KACjD;IAED,8BAAgB,GAAhB,UAAiB,IAAY;QACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACxB,IAAM,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAmB,GAAnB,UAAoB,IAAY;QAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACxB,IAAM,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAqB,GAArB,UAAsB,IAAY;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,sBAAI,wBAAO;aAAX;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;;;OAAA;IAED,sBAAI,yBAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,iCAAgB;aAApB;YACI,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC;;;OAAA;IAED,sBAAI,sBAAK;aAgBT;YACI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACvB,OAAO,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,OAA6B,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAV,CAAU,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;iBAChH;gBACD,OAAQ,IAAI,CAAC,OAAe,CAAC,KAAK,CAAC;aACtC;iBAAM;gBACH,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aACnC;QACL,CAAC;aAzBD,UAAU,KAAwB;YAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACvB,KAAqB,UAAuD,EAAvD,KAAA,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,OAA6B,CAAC,OAAO,CAAC,EAAvD,cAAuD,EAAvD,IAAuD,EAAE;wBAAzE,IAAM,MAAM,SAAA;wBACb,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;qBACtD;iBACJ;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAe,CAAC,CAAC;oBACnD,IAAI,CAAC,OAAe,CAAC,KAAK,GAAG,KAAK,CAAC;iBACvC;aAEJ;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAe,CAAC;aAC5C;QACL,CAAC;;;OAAA;IAaD,sBAAI,wBAAO;aAYX;YACI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAQ,IAAI,CAAC,OAA4B,CAAC,OAAO,CAAC;aACrD;iBAAM;gBACH,OAAO,KAAK,CAAC;aAChB;QACL,CAAC;aAlBD,UAAY,KAAK;YACb,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACxC,IAAI,CAAC,OAA4B,CAAC,OAAO,GAAG,IAAI,CAAC;iBACrD;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACvC,IAAI,CAAC,OAA4B,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtD;aACJ;QACL,CAAC;;;OAAA;IAUM,sBAAQ,GAAf,UAAgB,GAAQ;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,sBAAW,yBAAQ;aAAnB;YACI,yBAAW,IAAI,CAAC,SAAS,EAAE;QAC/B,CAAC;;;OAAA;IAED,sBAAW,0BAAS;aAApB;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aAED,UAAqB,GAAQ;YACzB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI;gBAC9B,OAAO;YAEX,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAC3C,CAAC;;;OAXA;IAaD,sBAAW,sBAAK;aAAhB;YACI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,OAAO,IAAI,CAAC,MAAM,CAAC;YAEvB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;gBACjB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAEjC,OAAO,IAAI,CAAC;QAChB,CAAC;;;OAAA;IAED,sBAAW,2BAAU;aAArB;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;aAED,UAAsB,UAAsB;YACxC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAClC,CAAC;;;OAJA;IAMM,kBAAI,GAAX,UAAY,GAAQ,EAAE,cAA+B,EAAE,iBAAiC;QAAlE,+BAAA,EAAA,sBAA+B;QAAE,kCAAA,EAAA,wBAAiC;QACpF,IAAI,2BAAY,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YACjC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;SACnB;QAED,IAAI,GAAG,YAAY,uBAAU,EAAE;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACzB;aAAM;YACH,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC7B;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,oBAAM,GAAb;QACI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEM,2BAAa,GAApB;QACI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAEM,gCAAkB,GAAzB;QACI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAEM,kBAAI,GAAX;QACI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEM,kBAAI,GAAX;QACI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IAChC,CAAC;IAEM,qCAAuB,GAA9B,UAA+B,IAAY,EAAE,WAA4B;QAA5B,4BAAA,EAAA,mBAA4B;QACrE,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACtC,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAEM,wCAA0B,GAAjC,UAAkC,IAAY,EAAE,WAA4B;QAA5B,4BAAA,EAAA,mBAA4B;QACxE,IAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpB,KAAoB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;YAA9B,IAAM,KAAK,SAAA;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;SAC5D;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,qCAAuB,GAA9B,UAA+B,IAAY;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;IACrE,CAAC;IAEM,0BAAY,GAAnB,UAAoB,IAAY;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEY,0BAAY,GAAzB,UAAyC,GAAW;;;;;4BAC/B,qBAAM,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAA;;wBAAtD,GAAG,GAAQ,SAA2C;wBAC5D,IAAI,CAAC,GAAG;4BAAE,sBAAO;wBACjB,WAAkC,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe;4BAAvB,IAAI;4BACX,IAAI,IAAI,YAAY,GAAG;gCACnB,sBAAO,IAAgB,EAAC;yBAAA;;;;;KACnC;IAEM,8BAAgB,GAAvB,UAAwB,GAAW;QAC/B,OAAO,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,iCAAmB,GAA1B,UAA2B,GAAW,EAAE,KAAU;;QAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,GAAG,KAAK,OAAO;gBACf,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;iBAC9B,IAAI,GAAG,KAAK,OAAO,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC/B,SAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC;iBAAM,IAAI,GAAG,KAAK,QAAQ;gBACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBAClB,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,EAAE;gBAChC,CAAA,KAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA,CAAC,MAAM,WAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACrE,IAAM,OAAO,GAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACnE,IAAI,OAAO,CAAC,MAAM;oBACd,CAAA,KAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA,CAAC,GAAG,WAAI,OAAO,EAAE;aAC9C;SACJ;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACzC;IACL,CAAC;IAEM,iCAAmB,GAA1B,UAA2B,GAAW;QAClC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,GAAG,KAAK,OAAO;gBACf,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;iBAC7B,IAAI,GAAG,KAAK,OAAO;gBACpB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;iBAC7B,IAAI,GAAG,KAAK,QAAQ;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC;iBACjB,IAAI,GAAG,KAAK,QAAQ,EAAE;gBACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAC7C;SACJ;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEM,kCAAoB,GAA3B,UAA4B,GAAW,EAAE,QAAoB;QAApB,yBAAA,EAAA,eAAoB;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,CAAC;IAEM,6BAAe,GAAtB,UAAuB,GAAW;QAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC;IACnE,CAAC;IAEM,qCAAuB,GAA9B,UAA+B,GAAW,EAAE,KAAiB,EAAE,QAAoB;QAAvC,sBAAA,EAAA,SAAiB;QAAE,yBAAA,EAAA,eAAoB;QAC/E,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;IACvF,CAAC;IAEY,6BAAe,GAA5B;;;;;;wBACQ,aAAa,GAAG,KAAK,CAAC;wBACtB,KAAK,GAAY,KAAK,CAAC;wBAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;wBACrB,QAAQ,GAAY,2BAAY,CAAC,QAAQ,EAAE,CAAC;wBAClD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI;4BAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;4BAC3B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAChC;4BACE,KAAK,GAAG,IAAI,CAAC;yBAChB;;mCAEgB,IAAI,CAAC,aAAa;;;;;;;wBAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;4BAClC,IAAI,CAAC,QAAQ,EAAE;gCACX,wBAAS;6BACZ;yBACJ;wBAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;4BACnC,IAAI,QAAQ,EAAE;gCACV,wBAAS;6BACZ;yBACJ;wBAEiB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAA;;wBAA9C,SAAS,GAAG,SAAkC;6BAChD,SAAS,EAAT,wBAAS;wBACT,IAAI,SAAS,CAAC,MAAM;4BAChB,aAAa,GAAG,IAAI,CAAC;wBACnB,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;wBACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;6BAE1B,CAAA,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAA,EAA3B,wBAA2B;wBAC3B,qBAAM,OAAO,CAAC,KAAK,EAAE,EAAA;;wBAArB,SAAqB,CAAC;wBACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;wBAKxE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;4BAC/B,aAAa,GAAG,IAAI,CAAC;wBAEzB,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BACzB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAK,EAAE,CAAC;yBAC7B;wBAED,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;;;;;KAC1C;IAEY,+BAAiB,GAA9B;;;;;;8BACiD,EAA1B,KAAA,IAAI,CAAC,qBAAqB;;;6BAA1B,CAAA,cAA0B,CAAA;wBAAlC,IAAI;wBACX,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAApB,SAAoB,CAAC;;;wBADN,IAA0B,CAAA;;;wBAI7C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC;;;;;KAC7C;IAEY,6BAAe,GAA5B;;;;;;wBACI,IAAI,2BAAY,CAAC,WAAW;4BAAE,yBAAc,CAAC,qBAAqB,CAAC,CAAC;8BACvB,EAA1B,KAAA,IAAI,CAAC,qBAAqB;;;6BAA1B,CAAA,cAA0B,CAAA;wBAAlC,IAAI;wBACX,qBAAM,IAAI,CAAC,KAAK,EAAE,EAAA;;wBAAlB,SAAkB,CAAC;;;wBADJ,IAA0B,CAAA;;;wBAG7C,IAAI,2BAAY,CAAC,WAAW;4BAAE,uBAAY,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;wBACrF,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACrC,IAAI,2BAAY,CAAC,WAAW;4BAAE,uBAAY,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;wBAE9E,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;wBACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBAC7B,IAAI,2BAAY,CAAC,WAAW;4BAAE,uBAAY,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;;;;;KAC/E;IAEY,+BAAiB,GAA9B;;;;;;8BACiD,EAA1B,KAAA,IAAI,CAAC,qBAAqB;;;6BAA1B,CAAA,cAA0B,CAAA;wBAAlC,IAAI;wBACX,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAApB,SAAoB,CAAC;;;wBADN,IAA0B,CAAA;;;wBAG7C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC;wBAC3C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;;;;;KACpC;IAEY,+BAAiB,GAA9B;;;;;;wBACI,IAAI,IAAI,CAAC,OAAO,EAAE;4BACd,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;yBACpE;8BAE4C,EAA1B,KAAA,IAAI,CAAC,qBAAqB;;;6BAA1B,CAAA,cAA0B,CAAA;wBAAlC,IAAI;wBACX,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAApB,SAAoB,CAAC;;;wBADN,IAA0B,CAAA;;;wBAG7C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC;wBAC3C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;;;;;KAChC;IAEM,2BAAa,GAApB,UAAqB,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAM,QAAQ,GAAI,IAAI,CAAC,OAA6B,CAAC,eAAe,CAAC;YACrE,IAAM,MAAM,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAClC;YACD,KAAqB,UAAuD,EAAvD,KAAA,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,OAA6B,CAAC,OAAO,CAAC,EAAvD,cAAuD,EAAvD,IAAuD,EAAE;gBAAzE,IAAM,MAAM,SAAA;gBACb,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;oBACnC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;iBACvC;qBAAM;oBACH,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;iBACtC;aACJ;YACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACxD;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACtD;IACL,CAAC;IAEM,sBAAQ,GAAf;QACI,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,2BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,2BAAa,GAApB,UAAqB,MAAM;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACvC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrF,CAAA,KAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA,CAAC,MAAM,CAAC,WAAI,IAAI,EAAE;YACpC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,yBAAW,GAArB,UAAsB,SAAiB,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAChC,OAAO;QAEX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,KAAsB,UAA+B,EAA/B,KAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAA/B,cAA+B,EAA/B,IAA+B,EAAE;YAAlD,IAAM,OAAO,SAAA;YACd,OAAO,CAAC,CAAC,CAAC,CAAC;SACd;IACL,CAAC;IAEM,yBAAW,GAAlB,UAAmB,SAAiB,EAAE,QAAgB;QAClD,OAAO,SAAS,CAAC,OAAO,CAAC,MAAI,QAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,2BAAa,GAApB,UAAqB,SAAiB,EAAE,QAAgB;QACpD,OAAO,SAAS,CAAC,OAAO,CAAC,MAAI,QAAU,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,6BAAe,GAAtB,UAAuB,SAAiB,EAAE,SAAmB,EAAE,OAAO;QAClE,IAAI,YAAY,GAAY,IAAI,CAAC;QACjC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,YAAY,GAAG,KAAK,CAAC;SACxB;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YAC1C,YAAY,GAAG,IAAI,CAAC;SACvB;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrC,IAAM,OAAO,GAAyB,OAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAChH,IAAM,IAAI,GAAQ,EAAE,CAAC;YACrB,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,YAAY,KAAK,IAAI;gBACxD,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,KAAK,IAAI,IAAI,IAAI,IAAI,YAAY,CAAC;YAEpE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;SACrF;QAED,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAEM,gCAAkB,GAAzB,UAA0B,SAAiB,EAAE,OAAO;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAChC,OAAO;QAEX,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;aACvF;SACJ;IACL,CAAC;IAEM,yBAAW,GAAlB;QACI,6CAA6C;QAC7C,sHAAsH;QACtH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAK,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aACjD;SACJ;IACL,CAAC;IAEK,4BAAc,GAApB,UAAqB,aAAqB;;;;;;wBACtC,WAAuC,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;4BAA9B,SAAS;4BAChB,IAAI,SAAS,YAAY,qCAAiB,IAAI,SAAS,CAAC,aAAa,IAAI,aAAa,EAAE;gCACpF,sBAAO,SAAS,EAAC;6BACpB;yBACJ;wBAED,IAAI,CAAC,WAAW,EAAE,CAAC;wBAEb,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wBACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wBACxC,qBAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAA;;wBAA5C,SAA4C,CAAC;wBAE7C,sBAAO,iBAAiB,EAAC;;;;KAC5B;IAEK,wBAAU,GAAhB,UAAiB,SAAiB;;;;;;wBAC9B,WAAuC,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;4BAA9B,SAAS;4BAChB,IAAI,SAAS,YAAY,+BAAc,EAAE;gCACrC,sBAAO,SAAS,EAAC;6BACpB;yBACJ;wBAED,IAAI,CAAC,WAAW,EAAE,CAAC;wBAEb,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACrC,qBAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;wBAE1C,sBAAO,cAAc,EAAC;;;;KACzB;IAEa,4BAAc,GAA5B,UAA6B,SAAoB;;;;4BAC7C,qBAAM,SAAS,CAAC,OAAO,EAAE,EAAA;;wBAAzB,SAAyB,CAAC;wBAC1B,qBAAM,SAAS,CAAC,KAAK,EAAE,EAAA;;wBAAvB,SAAuB,CAAC;wBACxB,qBAAM,SAAS,CAAC,OAAO,EAAE,EAAA;;wBAAzB,SAAyB,CAAC;wBAC1B,qBAAM,SAAS,CAAC,OAAO,EAAE,EAAA;;wBAAzB,SAAyB,CAAC;;;;;KAC7B;IAEa,qCAAuB,GAArC;;;;;;8BAC8C,EAAvB,KAAA,IAAI,CAAC,kBAAkB;;;6BAAvB,CAAA,cAAuB,CAAA;wBAA/B,IAAI;wBACX,qBAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;;;wBADjB,IAAuB,CAAA;;;wBAE1C,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;;;;;KACtC;IAED,yBAAW,GAAX;QACI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,WAAW,EAAE,EAAnB,CAAmB,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,iBAAM,WAAW,WAAE,CAAC;IACxB,CAAC;IAzlBsB,mBAAe,GAAa;QAC/C,OAAO;QACP,OAAO;QACP,QAAQ;QACR,QAAQ;KACX,CAAC;IAqlBN,UAAC;CAAA,AArmBD,CAAyB,qBAAS,GAqmBjC;AArmBY,kBAAG"}
1
+ {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { Attribute } from "../Attribute";
2
+ import { Tree } from "../AST";
2
3
  export declare class ScopeAttribute extends Attribute {
3
4
  static readonly canDefer: boolean;
4
5
  static readonly scoped: boolean;
6
+ protected tree: Tree;
7
+ compile(): Promise<void>;
8
+ extract(): Promise<void>;
5
9
  }
@@ -20,15 +20,100 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
20
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
22
22
  };
23
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
23
59
  Object.defineProperty(exports, "__esModule", { value: true });
24
60
  exports.ScopeAttribute = void 0;
25
61
  var Attribute_1 = require("../Attribute");
26
62
  var Registry_1 = require("../Registry");
63
+ var AST_1 = require("../AST");
64
+ var Scope_1 = require("../Scope");
27
65
  var ScopeAttribute = /** @class */ (function (_super) {
28
66
  __extends(ScopeAttribute, _super);
29
67
  function ScopeAttribute() {
30
68
  return _super !== null && _super.apply(this, arguments) || this;
31
69
  }
70
+ ScopeAttribute.prototype.compile = function () {
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ var code;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ code = this.getAttributeValue();
77
+ if (!code) return [3 /*break*/, 2];
78
+ this.tree = new AST_1.Tree(code);
79
+ return [4 /*yield*/, this.tree.prepare(this.tag.scope, this.tag.dom, this.tag)];
80
+ case 1:
81
+ _a.sent();
82
+ _a.label = 2;
83
+ case 2: return [4 /*yield*/, _super.prototype.compile.call(this)];
84
+ case 3:
85
+ _a.sent();
86
+ return [2 /*return*/];
87
+ }
88
+ });
89
+ });
90
+ };
91
+ ScopeAttribute.prototype.extract = function () {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ var value, _i, _a, key;
94
+ return __generator(this, function (_b) {
95
+ switch (_b.label) {
96
+ case 0:
97
+ if (!this.tree) return [3 /*break*/, 2];
98
+ return [4 /*yield*/, this.tree.evaluate(this.tag.scope, this.tag.dom, this.tag)];
99
+ case 1:
100
+ value = _b.sent();
101
+ if (!(value instanceof Scope_1.Scope)) {
102
+ throw new Error("vsn-scope value must be an object, got " + typeof value);
103
+ }
104
+ for (_i = 0, _a = value.data.keys; _i < _a.length; _i++) {
105
+ key = _a[_i];
106
+ this.tag.scope.set(key, value.data[key]);
107
+ }
108
+ _b.label = 2;
109
+ case 2: return [4 /*yield*/, _super.prototype.extract.call(this)];
110
+ case 3:
111
+ _b.sent();
112
+ return [2 /*return*/];
113
+ }
114
+ });
115
+ });
116
+ };
32
117
  ScopeAttribute.canDefer = false;
33
118
  ScopeAttribute.scoped = true;
34
119
  ScopeAttribute = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeAttribute.js","sourceRoot":"","sources":["../../src/attributes/ScopeAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,wCAAqC;AAGrC;IAAoC,kCAAS;IAA7C;;IAGA,CAAC;IAF0B,uBAAQ,GAAY,KAAK,CAAC;IAC1B,qBAAM,GAAY,IAAI,CAAC;IAFrC,cAAc;QAD1B,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;OACnB,cAAc,CAG1B;IAAD,qBAAC;CAAA,AAHD,CAAoC,qBAAS,GAG5C;AAHY,wCAAc"}
1
+ {"version":3,"file":"ScopeAttribute.js","sourceRoot":"","sources":["../../src/attributes/ScopeAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,wCAAqC;AACrC,8BAA4B;AAC5B,kCAA+B;AAG/B;IAAoC,kCAAS;IAA7C;;IA0BA,CAAC;IArBgB,gCAAO,GAApB;;;;;;wBACU,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;6BAClC,IAAI,EAAJ,wBAAI;wBACJ,IAAI,CAAC,IAAI,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC3B,qBAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAA/D,SAA+D,CAAC;;4BAEpE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,gCAAO,GAApB;;;;;;6BACQ,IAAI,CAAC,IAAI,EAAT,wBAAS;wBACK,qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAxE,KAAK,GAAG,SAAgE;wBAC9E,IAAI,CAAC,CAAC,KAAK,YAAY,aAAK,CAAC,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,4CAA0C,OAAO,KAAO,CAAC,CAAC;yBAC7E;wBACD,WAAiC,EAAf,KAAA,KAAK,CAAC,IAAI,CAAC,IAAI,EAAf,cAAe,EAAf,IAAe,EAAE;4BAAxB,GAAG;4BACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;yBAC5C;;4BAEL,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAxBsB,uBAAQ,GAAY,KAAK,CAAC;IAC1B,qBAAM,GAAY,IAAI,CAAC;IAFrC,cAAc;QAD1B,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;OACnB,cAAc,CA0B1B;IAAD,qBAAC;CAAA,AA1BD,CAAoC,qBAAS,GA0B5C;AA1BY,wCAAc"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.52",
3
+ "version": "0.1.55",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
package/src/Tag.ts CHANGED
@@ -250,6 +250,9 @@ export class Tag extends DOMObject {
250
250
  if (!!this._scope)
251
251
  return this._scope;
252
252
 
253
+ if (this.uniqueScope)
254
+ return this.createScope();
255
+
253
256
  if (!!this._parentTag)
254
257
  return this._parentTag.scope;
255
258
 
@@ -432,7 +435,6 @@ export class Tag extends DOMObject {
432
435
 
433
436
  if (requiresScope && !this.uniqueScope) {
434
437
  this._uniqueScope = true;
435
- this._scope = new Scope();
436
438
  }
437
439
 
438
440
  this._state = TagState.AttributesBuilt;
@@ -569,17 +571,21 @@ export class Tag extends DOMObject {
569
571
  }
570
572
  }
571
573
 
572
- public createScope() {
574
+ public createScope(force: boolean = false): Scope {
573
575
  // Standard attribute requires a unique scope
574
576
  // @todo: Does this cause any issues with attribute bindings on the parent scope prior to having its own scope? hmm...
575
- if (!this.uniqueScope) {
577
+ if ((!this.uniqueScope && force) || this.uniqueScope) {
576
578
  this._uniqueScope = true;
577
579
  this._scope = new Scope();
578
580
 
579
581
  if (this.parentTag) {
580
582
  this.scope.parentScope = this.parentTag.scope;
581
583
  }
584
+
585
+ return this._scope;
582
586
  }
587
+
588
+ return null;
583
589
  }
584
590
 
585
591
  async watchAttribute(attributeName: string) {
@@ -589,7 +595,7 @@ export class Tag extends DOMObject {
589
595
  }
590
596
  }
591
597
 
592
- this.createScope();
598
+ this.createScope(true);
593
599
 
594
600
  const standardAttribute = new StandardAttribute(this, attributeName);
595
601
  this.attributes.push(standardAttribute);
@@ -605,7 +611,7 @@ export class Tag extends DOMObject {
605
611
  }
606
612
  }
607
613
 
608
- this.createScope();
614
+ this.createScope(true);
609
615
 
610
616
  const styleAttribute = new StyleAttribute(this, 'style');
611
617
  this.attributes.push(styleAttribute);
@@ -10,18 +10,24 @@ export class ScopeAttribute extends Attribute {
10
10
  protected tree: Tree;
11
11
 
12
12
  public async compile() {
13
- this.tree = new Tree(this.getAttributeValue());
14
- await this.tree.prepare(this.tag.scope, this.tag.dom, this.tag);
13
+ const code = this.getAttributeValue();
14
+ if (code) {
15
+ this.tree = new Tree(code);
16
+ await this.tree.prepare(this.tag.scope, this.tag.dom, this.tag);
17
+ }
15
18
  await super.compile();
16
19
  }
17
20
 
18
21
  public async extract() {
19
- const value = await this.tree.evaluate(this.tag.scope, this.tag.dom, this.tag);
20
- if (!(value instanceof Scope)) {
21
- throw new Error(`Scope value must be an object, got ${typeof value}`);
22
- }
23
- for (const key of value.data.keys) {
24
- this.tag.scope.set(key, value.data[key]);
22
+ if (this.tree) {
23
+ const value = await this.tree.evaluate(this.tag.scope, this.tag.dom, this.tag);
24
+ if (!(value instanceof Scope)) {
25
+ throw new Error(`vsn-scope value must be an object, got ${typeof value}`);
26
+ }
27
+ for (const key of value.data.keys) {
28
+ this.tag.scope.set(key, value.data[key]);
29
+ }
25
30
  }
31
+ await super.extract();
26
32
  }
27
33
  }
@@ -4,7 +4,7 @@ import "../../src/attributes/_imports";
4
4
 
5
5
 
6
6
  describe('ScopeAttribute', () => {
7
- it("vsn-styles to just work", (done) => {
7
+ it("vsn-scope should set simple values correctly", (done) => {
8
8
  document.body.innerHTML = `
9
9
  <div vsn-scope="{'asd':123, 'sdf': 'asd'}">
10
10
  <span vsn-bind="asd"></span>
@@ -20,4 +20,16 @@ describe('ScopeAttribute', () => {
20
20
  done();
21
21
  });
22
22
  });
23
+
24
+ it("vsn-scope should allow empty value to create a scope", (done) => {
25
+ document.body.innerHTML = `
26
+ <div vsn-scope></div>
27
+ `;
28
+ const dom = new DOM(document);
29
+ dom.once('built', async () => {
30
+ const element = (await dom.exec('?(div)'))[0];
31
+ expect(element.uniqueScope).toBe(true);
32
+ done();
33
+ });
34
+ });
23
35
  });