@quenk/wml 2.12.1 → 2.13.0
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/lib/compile/codegen.d.ts +0 -4
- package/lib/compile/codegen.js +12 -19
- package/lib/compile/codegen.js.map +1 -1
- package/lib/compile/codegen.ts +20 -25
- package/lib/parse/ast.d.ts +5 -9
- package/lib/parse/ast.js +6 -12
- package/lib/parse/ast.js.map +1 -1
- package/lib/parse/ast.ts +2 -12
- package/lib/parse/generated.js +1958 -1928
- package/lib/parse/test.js +9 -2
- package/lib/parse/test.js.map +1 -1
- package/lib/parse/test.ts +15 -3
- package/lib/parse/wml.y +22 -20
- package/package.json +1 -1
package/lib/parse/test.js
CHANGED
|
@@ -417,7 +417,7 @@ exports.tests = {
|
|
|
417
417
|
'[context] should mark nested properties as optional if all are': `{% context Paper where object."type"?: String %}`,
|
|
418
418
|
'should parse type statements': `{% type Type = String | Number | Boolean | Type[] | Type -> Type %}`,
|
|
419
419
|
'should parse tupe types': `{% type Tuple = [Number, String, Number] %}`,
|
|
420
|
-
'should parse type assertion': '<Panel onClick={{ \e ->
|
|
420
|
+
'should parse type assertion': '<Panel onClick={{ \e -> foo(e) as User }} />',
|
|
421
421
|
'should parse partial application in expression': '<Link ww:text={{truncate(50)(@text)}} />',
|
|
422
422
|
'should transform special primitives': `<div>
|
|
423
423
|
{% for kind in [
|
|
@@ -468,6 +468,13 @@ exports.tests = {
|
|
|
468
468
|
</div>`,
|
|
469
469
|
'should allow 2nd level bracket access': `<div>{% for item in our."items" %} <div/>{% endfor %}</div> `,
|
|
470
470
|
'should allow type to be used in if statement expression': `<div>{% if item."type" == 1 %}<p/>{% endif %}</div>`,
|
|
471
|
-
'should support the special wml:attrs attribute': `<Panel wml:attrs={{@panelAttrs}}><div wml:attrs={{divAttrs}}/></Panel
|
|
471
|
+
'should support the special wml:attrs attribute': `<Panel wml:attrs={{@panelAttrs}}><div wml:attrs={{divAttrs}}/></Panel>`,
|
|
472
|
+
'should parse widgets with type arguments': `<div>
|
|
473
|
+
<Panel[Text]>
|
|
474
|
+
<PanelHeader[Text] wml:id="header"/>
|
|
475
|
+
<PanelBody/>
|
|
476
|
+
</Panel>
|
|
477
|
+
</div>`,
|
|
478
|
+
'should parse view construction with type arguments': `<div>{{<Panel[Text](@)>}}</div>`,
|
|
472
479
|
};
|
|
473
480
|
//# sourceMappingURL=test.js.map
|
package/lib/parse/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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"}
|
package/lib/parse/test.ts
CHANGED
|
@@ -582,7 +582,7 @@ export const tests: { [key: string]: any } = {
|
|
|
582
582
|
'should parse tupe types': `{% type Tuple = [Number, String, Number] %}`,
|
|
583
583
|
|
|
584
584
|
'should parse type assertion':
|
|
585
|
-
'<Panel onClick={{ \e ->
|
|
585
|
+
'<Panel onClick={{ \e -> foo(e) as User }} />',
|
|
586
586
|
|
|
587
587
|
'should parse partial application in expression':
|
|
588
588
|
'<Link ww:text={{truncate(50)(@text)}} />',
|
|
@@ -656,7 +656,19 @@ export const tests: { [key: string]: any } = {
|
|
|
656
656
|
'should allow type to be used in if statement expression':
|
|
657
657
|
`<div>{% if item."type" == 1 %}<p/>{% endif %}</div>`,
|
|
658
658
|
|
|
659
|
-
|
|
660
|
-
|
|
659
|
+
'should support the special wml:attrs attribute':
|
|
660
|
+
`<Panel wml:attrs={{@panelAttrs}}><div wml:attrs={{divAttrs}}/></Panel>`,
|
|
661
|
+
|
|
662
|
+
'should parse widgets with type arguments':
|
|
663
|
+
`<div>
|
|
664
|
+
<Panel[Text]>
|
|
665
|
+
<PanelHeader[Text] wml:id="header"/>
|
|
666
|
+
<PanelBody/>
|
|
667
|
+
</Panel>
|
|
668
|
+
</div>`,
|
|
669
|
+
|
|
670
|
+
'should parse view construction with type arguments':
|
|
671
|
+
`<div>{{<Panel[Text](@)>}}</div>`,
|
|
672
|
+
|
|
661
673
|
|
|
662
674
|
}
|
package/lib/parse/wml.y
CHANGED
|
@@ -619,17 +619,21 @@ node
|
|
|
619
619
|
;
|
|
620
620
|
|
|
621
621
|
widget
|
|
622
|
-
: '<'
|
|
623
|
-
{$$ = new yy.ast.Widget($2, $3, $5||[], $7, @$);}
|
|
622
|
+
: '<' widget_constructor attributes '>' children? '</' cons '>'
|
|
623
|
+
{$$ = new yy.ast.Widget($2[0], $2[1], $3, $5||[], $7, @$);}
|
|
624
624
|
|
|
625
|
-
| '<'
|
|
626
|
-
{$$ = new yy.ast.Widget($2, [], $4||[], $6, @$);}
|
|
625
|
+
| '<' widget_constructor '>' children? '</' cons '>'
|
|
626
|
+
{$$ = new yy.ast.Widget($2[0], $2[1], [], $4||[], $6, @$);}
|
|
627
627
|
|
|
628
|
-
| '<'
|
|
629
|
-
{ $$ = new yy.ast.Widget($2, $3, [], $2, @$); }
|
|
628
|
+
| '<' widget_constructor attributes '/>'
|
|
629
|
+
{ $$ = new yy.ast.Widget($2[0], $2[1], $3, [], $2, @$); }
|
|
630
630
|
|
|
631
|
-
| '<'
|
|
632
|
-
{ $$ = new yy.ast.Widget($2, [], [], $2, @$); }
|
|
631
|
+
| '<' widget_constructor '/>'
|
|
632
|
+
{ $$ = new yy.ast.Widget($2[0], $2[1], [], [], $2, @$); }
|
|
633
|
+
;
|
|
634
|
+
|
|
635
|
+
widget_constructor
|
|
636
|
+
: cons type_arguments? {$$ = [$1, $2 || []]; }
|
|
633
637
|
;
|
|
634
638
|
|
|
635
639
|
attributes
|
|
@@ -784,9 +788,6 @@ expression
|
|
|
784
788
|
| unary_expression
|
|
785
789
|
{ $$ = $1; }
|
|
786
790
|
|
|
787
|
-
| type_assertion
|
|
788
|
-
{ $$ = $1; }
|
|
789
|
-
|
|
790
791
|
| simple_expression
|
|
791
792
|
{ $$ = $1; }
|
|
792
793
|
|
|
@@ -830,11 +831,6 @@ unary_expression
|
|
|
830
831
|
{$$ = new yy.ast.UnaryExpression($4, $2, @$); }
|
|
831
832
|
;
|
|
832
833
|
|
|
833
|
-
type_assertion
|
|
834
|
-
: '[' '*' type ']' expression
|
|
835
|
-
{$$ = new yy.ast.TypeAssertion($3, $5, @$); }
|
|
836
|
-
;
|
|
837
|
-
|
|
838
834
|
simple_expression
|
|
839
835
|
: (
|
|
840
836
|
construct_expression
|
|
@@ -871,11 +867,17 @@ type_arg_list
|
|
|
871
867
|
;
|
|
872
868
|
|
|
873
869
|
construct_expression
|
|
874
|
-
: unqualified_constructor '(' arguments ')'
|
|
875
|
-
{ $$ = new yy.ast.ConstructExpression($1, $
|
|
870
|
+
: unqualified_constructor type_arguments '(' arguments ')'
|
|
871
|
+
{ $$ = new yy.ast.ConstructExpression($1, $2, $4, @$); }
|
|
872
|
+
|
|
873
|
+
| unqualified_constructor '(' arguments ')'
|
|
874
|
+
{ $$ = new yy.ast.ConstructExpression($1, [], $3, @$); }
|
|
875
|
+
|
|
876
|
+
| unqualified_constructor type_arguments '(' ')'
|
|
877
|
+
{ $$ = new yy.ast.ConstructExpression($1, $2, [], @$); }
|
|
876
878
|
|
|
877
879
|
| unqualified_constructor '(' ')'
|
|
878
|
-
{ $$ = new yy.ast.ConstructExpression($1, [], @$); }
|
|
880
|
+
{ $$ = new yy.ast.ConstructExpression($1, [], [], @$); }
|
|
879
881
|
;
|
|
880
882
|
|
|
881
883
|
call_expression
|
|
@@ -1076,7 +1078,7 @@ unqualified_identifier
|
|
|
1076
1078
|
;
|
|
1077
1079
|
|
|
1078
1080
|
binary_operator
|
|
1079
|
-
: ('>'|'>='|'<'|'<='|'=='|'!='|'+'|'/'|'-'|'='|'&&'|'||'|'^'|INSTANCEOF)
|
|
1081
|
+
: ('>'|'>='|'<'|'<='|'=='|'!='|'+'|'/'|'-'|'='|'&&'|'||'|'^'|INSTANCEOF|AS)
|
|
1080
1082
|
{ $$ = $1; }
|
|
1081
1083
|
;
|
|
1082
1084
|
|