Skip to content

Commit 764bb51

Browse files
committed
fix: add support for svh, lvh, dvh, svw, lvw, dvw, svmin, lvmin, dvmin, svmax, lvmax, dvmax units
1 parent dabface commit 764bb51

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

parser.jison

+40
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,29 @@
2222
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)ch\b return 'CHS';
2323
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)rem\b return 'REMS';
2424
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)vw\b return 'VWS';
25+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)svw\b return 'SVWS';
26+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)lvw\b return 'LVWS';
27+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)dvw\b return 'DVWS';
2528
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)vh\b return 'VHS';
29+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)svh\b return 'SVHS';
30+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)lvh\b return 'LVHS';
31+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)dvh\b return 'DVHS';
2632
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)vmin\b return 'VMINS';
33+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)svmin\b return 'SVMINS';
34+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)lvmin\b return 'LVMINS';
35+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)dvmin\b return 'DVMINS';
2736
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)vmax\b return 'VMAXS';
37+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)svmax\b return 'SVMAXS';
38+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)lvmax\b return 'LVMAXS';
39+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)dvmax\b return 'DVMAXS';
40+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)vb\b return 'VBS';
41+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)svb\b return 'SVBS';
42+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)lvb\b return 'LVBS';
43+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)dvb\b return 'DVBS';
44+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)vi\b return 'VIS';
45+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)svi\b return 'SVIS';
46+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)lvi\b return 'LVIS';
47+
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)dvi\b return 'DVIS';
2848
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)cqw\b return 'CQWS';
2949
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)cqh\b return 'CQHS';
3050
(([0-9]+("."[0-9]+)?|"."[0-9]+)(e(\+|-)[0-9]+)?)cqi\b return 'CQIS';
@@ -102,9 +122,29 @@ expression
102122
| CHS { $$ = { type: 'ChValue', value: parseFloat($1), unit: 'ch' }; }
103123
| REMS { $$ = { type: 'RemValue', value: parseFloat($1), unit: 'rem' }; }
104124
| VHS { $$ = { type: 'VhValue', value: parseFloat($1), unit: 'vh' }; }
125+
| SVHS { $$ = { type: 'SvhValue', value: parseFloat($1), unit: 'svh' }; }
126+
| LVHS { $$ = { type: 'LvhValue', value: parseFloat($1), unit: 'lvh' }; }
127+
| DVHS { $$ = { type: 'DvhValue', value: parseFloat($1), unit: 'dvh' }; }
105128
| VWS { $$ = { type: 'VwValue', value: parseFloat($1), unit: 'vw' }; }
129+
| SVWS { $$ = { type: 'SvwValue', value: parseFloat($1), unit: 'svw' }; }
130+
| LVWS { $$ = { type: 'LvwValue', value: parseFloat($1), unit: 'lvw' }; }
131+
| DVWS { $$ = { type: 'DvwValue', value: parseFloat($1), unit: 'dvw' }; }
106132
| VMINS { $$ = { type: 'VminValue', value: parseFloat($1), unit: 'vmin' }; }
133+
| SVMINS { $$ = { type: 'SvminValue', value: parseFloat($1), unit: 'svmin' }; }
134+
| LVMINS { $$ = { type: 'LvminValue', value: parseFloat($1), unit: 'lvmin' }; }
135+
| DVMINS { $$ = { type: 'DvminValue', value: parseFloat($1), unit: 'dvmin' }; }
107136
| VMAXS { $$ = { type: 'VmaxValue', value: parseFloat($1), unit: 'vmax' }; }
137+
| SVMAXS { $$ = { type: 'SvmaxValue', value: parseFloat($1), unit: 'svmax' }; }
138+
| LVMAXS { $$ = { type: 'LvmaxValue', value: parseFloat($1), unit: 'lvmax' }; }
139+
| DVMAXS { $$ = { type: 'DvmaxValue', value: parseFloat($1), unit: 'dvmax' }; }
140+
| VBS { $$ = { type: 'VbValue', value: parseFloat($1), unit: 'vb' }; }
141+
| SVBS { $$ = { type: 'SvbValue', value: parseFloat($1), unit: 'svb' }; }
142+
| LVBS { $$ = { type: 'LvbValue', value: parseFloat($1), unit: 'lvb' }; }
143+
| DVBS { $$ = { type: 'DvbValue', value: parseFloat($1), unit: 'dvb' }; }
144+
| VIS { $$ = { type: 'VhValue', value: parseFloat($1), unit: 'vi' }; }
145+
| SVIS { $$ = { type: 'SvhValue', value: parseFloat($1), unit: 'svi' }; }
146+
| LVIS { $$ = { type: 'LvhValue', value: parseFloat($1), unit: 'lvi' }; }
147+
| DVIS { $$ = { type: 'DvhValue', value: parseFloat($1), unit: 'dvi' }; }
108148
| CQWS { $$ = { type: 'CqwValue', value: parseFloat($1), unit: 'cqw' }; }
109149
| CQHS { $$ = { type: 'CqhValue', value: parseFloat($1), unit: 'cqh' }; }
110150
| CQIS { $$ = { type: 'CqiValue', value: parseFloat($1), unit: 'cqi' }; }

src/lib/reducer.js

+20
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,29 @@ function isValueType(node) {
1717
case 'ChValue':
1818
case 'RemValue':
1919
case 'VhValue':
20+
case 'SvhValue':
21+
case 'LvhValue':
22+
case 'DvhValue':
2023
case 'VwValue':
24+
case 'SvwValue':
25+
case 'LvwValue':
26+
case 'DvwValue':
2127
case 'VminValue':
28+
case 'SvminValue':
29+
case 'LvminValue':
30+
case 'DvminValue':
2231
case 'VmaxValue':
32+
case 'SvmaxValue':
33+
case 'LvmaxValue':
34+
case 'DvmaxValue':
35+
case 'VbValue':
36+
case 'SvbValue':
37+
case 'LvbValue':
38+
case 'DvbValue':
39+
case 'ViValue':
40+
case 'SviValue':
41+
case 'LviValue':
42+
case 'DviValue':
2343
case 'CqwValue':
2444
case 'CqhValue':
2545
case 'CqiValue':

src/parser.d.ts

+20
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,29 @@ export interface DimensionExpression {
2323
| 'ChValue'
2424
| 'RemValue'
2525
| 'VhValue'
26+
| 'SvhValue'
27+
| 'LvhValue'
28+
| 'DvhValue'
2629
| 'VwValue'
30+
| 'SvwValue'
31+
| 'LvwValue'
32+
| 'DvwValue'
2733
| 'VminValue'
34+
| 'SvminValue'
35+
| 'LvminValue'
36+
| 'DvminValue'
2837
| 'VmaxValue'
38+
| 'SvmaxValue'
39+
| 'LvmaxValue'
40+
| 'DvmaxValue'
41+
| 'VbValue'
42+
| 'SvbValue'
43+
| 'LvbValue'
44+
| 'DvbValue'
45+
| 'ViValue'
46+
| 'SviValue'
47+
| 'LviValue'
48+
| 'DviValue'
2949
| 'CqwValue'
3050
| 'CqhValue'
3151
| 'CqbValue'

0 commit comments

Comments
 (0)