Fix procedural to declarative conversion

This commit is contained in:
Raymond Hill 2023-06-16 09:34:35 -04:00
parent 5d596b644d
commit 07fae6a0d1
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with 17 additions and 10 deletions

View File

@ -671,25 +671,30 @@ FilterContainer.prototype.disableSurveyor = function(details) {
FilterContainer.prototype.cssRuleFromProcedural = function(pfilter) { FilterContainer.prototype.cssRuleFromProcedural = function(pfilter) {
if ( pfilter.cssable !== true ) { return; } if ( pfilter.cssable !== true ) { return; }
const { tasks, action } = pfilter; const { tasks, action } = pfilter;
let mq; let mq, selector;
if ( tasks !== undefined ) { if ( Array.isArray(tasks) ) {
if ( tasks.length > 1 ) { return; }
if ( tasks[0][0] !== 'matches-media' ) { return; } if ( tasks[0][0] !== 'matches-media' ) { return; }
mq = tasks[0][1]; mq = tasks[0][1];
if ( tasks.length > 2 ) { return; }
if ( tasks.length === 2 ) {
if ( tasks[1][0] !== 'spath' ) { return; }
selector = tasks[1][1];
}
} }
let style; let style;
if ( Array.isArray(action) ) { if ( Array.isArray(action) ) {
if ( action[0] !== 'style' ) { return; } if ( action[0] !== 'style' ) { return; }
selector = selector || pfilter.selector;
style = action[1]; style = action[1];
} }
if ( mq === undefined && style === undefined ) { return; } if ( mq === undefined && style === undefined && selector === undefined ) { return; }
if ( mq === undefined ) { if ( mq === undefined ) {
return `${pfilter.selector}\n{${style}}`; return `${selector}\n{${style}}`;
} }
if ( style === undefined ) { if ( style === undefined ) {
return `@media ${mq} {\n${pfilter.selector}\n{display:none!important;}\n}`; return `@media ${mq} {\n${selector}\n{display:none!important;}\n}`;
} }
return `@media ${mq} {\n${pfilter.selector}\n{${style}}\n}`; return `@media ${mq} {\n${selector}\n{${style}}\n}`;
}; };
/******************************************************************************/ /******************************************************************************/

View File

@ -3112,9 +3112,11 @@ class ExtSelectorCompiler {
isCssable(r) { isCssable(r) {
if ( r instanceof Object === false ) { return false; } if ( r instanceof Object === false ) { return false; }
if ( Array.isArray(r.action) && r.action[0] !== 'style' ) { return false; } if ( Array.isArray(r.action) && r.action[0] !== 'style' ) { return false; }
if ( r.tasks === undefined ) { return true; } if ( Array.isArray(r.tasks) === false ) { return true; }
if ( r.tasks.length > 1 ) { return false; } if ( r.tasks[0][0] === 'matches-media' ) {
if ( r.tasks[0][0] === 'matches-media' ) { return true; } if ( r.tasks.length === 1 ) { return true; }
if ( r.tasks.length === 2 && r.tasks[1][0] === 'spath' ) { return true; }
}
return false; return false;
} }