11
2+ const { isFailure, isList } = require ( '../utils/value.js' )
23const { parseBlockContents, parseCSSDeclaration, parseCSSGrammar } = require ( '../parse/parser.js' )
34const { serializeCSSComponentValue, serializeCSSValue } = require ( '../serialize.js' )
45const { implementation : CSSRuleImpl } = require ( './CSSRule-impl.js' )
56const counterStyles = require ( '../values/counter-styles.js' )
67const { cssPropertyToIDLAttribute } = require ( '../utils/string.js' )
78const { '@counter-style' : descriptors } = require ( '../descriptors/definitions.js' )
8- const { isList } = require ( '../utils/value.js' )
99const { keyword } = require ( '../values/value.js' )
1010
1111const descriptorNames = Object . keys ( descriptors )
@@ -56,9 +56,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
5656 if ( this . system !== 'additive' ) {
5757 return
5858 }
59- value = parseCSSDeclaration ( 'additive-symbols' , value , false , this ) ?. value
60- if ( value ) {
61- this . _additiveSymbols = value
59+ value = parseCSSDeclaration ( 'additive-symbols' , value , false , this )
60+ if ( ! isFailure ( value ) ) {
61+ this . _additiveSymbols = value . value
6262 }
6363 }
6464
@@ -70,9 +70,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
7070 return _fallback ? serializeCSSValue ( { name : 'fallback' , value : _fallback } ) : ''
7171 }
7272 set fallback ( value ) {
73- value = parseCSSDeclaration ( 'fallback' , value , false , this ) ?. value
74- if ( value ) {
75- this . _fallback = value
73+ value = parseCSSDeclaration ( 'fallback' , value , false , this )
74+ if ( ! isFailure ( value ) ) {
75+ this . _fallback = value . value
7676 }
7777 }
7878
@@ -84,7 +84,7 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
8484 }
8585 set name ( name ) {
8686 name = parseCSSGrammar ( CSS . escape ( name ) , '<counter-style-name>' , this )
87- if ( name ) {
87+ if ( ! isFailure ( name ) ) {
8888 const lowercase = name . value . toLowerCase ( )
8989 if ( counterStyles . predefined . includes ( lowercase ) ) {
9090 name = keyword ( lowercase , [ 'counter-style-name' ] )
@@ -101,9 +101,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
101101 return _negative ? serializeCSSValue ( { name : 'negative' , value : _negative } ) : ''
102102 }
103103 set negative ( value ) {
104- value = parseCSSDeclaration ( 'negative' , value , false , this ) ?. value
105- if ( value ) {
106- this . _negative = value
104+ value = parseCSSDeclaration ( 'negative' , value , false , this )
105+ if ( ! isFailure ( value ) ) {
106+ this . _negative = value . value
107107 }
108108 }
109109
@@ -115,9 +115,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
115115 return _pad ? serializeCSSValue ( { name : 'pad' , value : _pad } ) : ''
116116 }
117117 set pad ( value ) {
118- value = parseCSSDeclaration ( 'pad' , value , false , this ) ?. value
119- if ( value ) {
120- this . _pad = value
118+ value = parseCSSDeclaration ( 'pad' , value , false , this )
119+ if ( ! isFailure ( value ) ) {
120+ this . _pad = value . value
121121 }
122122 }
123123
@@ -129,9 +129,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
129129 return _prefix ? serializeCSSValue ( { name : 'prefix' , value : _prefix } ) : ''
130130 }
131131 set prefix ( value ) {
132- value = parseCSSDeclaration ( 'prefix' , value , false , this ) ?. value
133- if ( value ) {
134- this . _prefix = value
132+ value = parseCSSDeclaration ( 'prefix' , value , false , this )
133+ if ( ! isFailure ( value ) ) {
134+ this . _prefix = value . value
135135 }
136136 }
137137
@@ -143,9 +143,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
143143 return _range ? serializeCSSValue ( { name : 'range' , value : _range } ) : ''
144144 }
145145 set range ( value ) {
146- value = parseCSSDeclaration ( 'range' , value , false , this ) ?. value
147- if ( value ) {
148- this . _range = value
146+ value = parseCSSDeclaration ( 'range' , value , false , this )
147+ if ( ! isFailure ( value ) ) {
148+ this . _range = value . value
149149 }
150150 }
151151
@@ -157,9 +157,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
157157 return _speakAs ? serializeCSSValue ( { name : 'speak-as' , value : _speakAs } ) : ''
158158 }
159159 set speakAs ( value ) {
160- value = parseCSSDeclaration ( 'speak-as' , value , false , this ) ?. value
161- if ( value ) {
162- this . _speakAs = value
160+ value = parseCSSDeclaration ( 'speak-as' , value , false , this )
161+ if ( ! isFailure ( value ) ) {
162+ this . _speakAs = value . value
163163 }
164164 }
165165
@@ -171,9 +171,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
171171 return _suffix ? serializeCSSValue ( { name : 'suffix' , value : _suffix } ) : ''
172172 }
173173 set suffix ( value ) {
174- value = parseCSSDeclaration ( 'suffix' , value , false , this ) ?. value
175- if ( value ) {
176- this . _suffix = value
174+ value = parseCSSDeclaration ( 'suffix' , value , false , this )
175+ if ( ! isFailure ( value ) ) {
176+ this . _suffix = value . value
177177 }
178178 }
179179
@@ -189,9 +189,9 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
189189 if ( system === 'additive' || system . startsWith ( 'extends' ) ) {
190190 return
191191 }
192- value = parseCSSDeclaration ( 'symbols' , value , false , this ) ?. value
193- if ( value && ( 1 < value . length || ( system !== 'alphabetic' && system !== 'numeric' ) ) ) {
194- this . _symbols = value
192+ value = parseCSSDeclaration ( 'symbols' , value , false , this )
193+ if ( ! isFailure ( value ) && ( 1 < value . value . length || ( system !== 'alphabetic' && system !== 'numeric' ) ) ) {
194+ this . _symbols = value . value
195195 }
196196 }
197197
@@ -206,15 +206,15 @@ class CSSCounterStyleRuleImpl extends CSSRuleImpl {
206206 const { _system } = this
207207 if ( ! _system ) {
208208 // Explicit defaut system
209- value = parseCSSDeclaration ( 'system' , value , false , this ) ?. value
210- if ( value ? .value === 'symbolic' ) {
211- this . _system = value
209+ value = parseCSSDeclaration ( 'system' , value , false , this )
210+ if ( ! isFailure ( value ) && value . value . value === 'symbolic' ) {
211+ this . _system = value . value
212212 }
213213 } else if ( isList ( _system ) ) {
214214 // Fixed <integer>? or extends <counter-style-name>
215- value = parseCSSDeclaration ( 'system' , value , false , this ) ?. value
216- if ( value && value [ 0 ] ?. value === _system [ 0 ] ?. value ) {
217- this . _system = value
215+ value = parseCSSDeclaration ( 'system' , value , false , this )
216+ if ( ! isFailure ( value ) && value . value [ 0 ] ?. value === _system [ 0 ] ?. value ) {
217+ this . _system = value . value
218218 }
219219 }
220220 }
0 commit comments