packages/okam-build/lib/processor/css/plugins/postcss-plugin-env.js
function processAppSpecifiedDeclaration(allAppTypes, appType, decl) {
    let {prop, parent} = decl;
    let result;
    if ((result = SPECIFIED_APP_PROP_DECL_REGEXP.exec(prop))) {
        let propApp = result[1];
        let isMatchApp = appType === propApp;
        if (allAppTypes.includes(propApp) && !isMatchApp) {
            // remove not current app build type style declaration
            decl.remove();
        }
        else if (isMatchApp) {
            // remove the previous property style declaration that has same
            // style property name declaration that ignore app type prefix
            // and remove the specified app type prefix of the property
            let newPropName = prop.replace(SPECIFIED_APP_PROP_DECL_REGEXP, '');
            removeUnUseDecl(decl, newPropName);
            decl.prop = newPropName;
        }

        // remove empty rule
        if (!parent.nodes || !parent.nodes.length) {
            parent.remove();
        }
    }
}
function processAppSpecifiedDeclaration(allAppTypes, appType, decl) {
    let {prop, parent} = decl;
    let result;
    if ((result = SPECIFIED_APP_PROP_DECL_REGEXP.exec(prop))) {
        let propApp = result[1];
        let isMatchApp = appType === propApp;
        if (allAppTypes.includes(propApp) && !isMatchApp) {
            // remove not current app build type style declaration
            decl.remove();
        }
        else if (isMatchApp) {
            // remove the previous property style declaration that has same
            // style property name declaration that ignore app type prefix
            // and remove the specified app type prefix of the property
            let newPropName = prop.replace(SPECIFIED_APP_PROP_DECL_REGEXP, '');
            removeUnUseDecl(decl, newPropName);
            decl.prop = newPropName;
        }

        // remove empty rule
        if (!parent.nodes || !parent.nodes.length) {
            parent.remove();
        }
    }
}
function processAppSpecifiedDeclaration ( allAppTypes , appType , decl ) { let { prop , parent } = decl ; let result ; if ( ( result = SPECIFIED_APP_PROP_DECL_REGEXP . exec ( prop ) ) ) { let propApp = result [ 1 ] ; let isMatchApp = appType === propApp ; if ( allAppTypes . includes ( propApp ) && ! isMatchApp ) { // remove not current app build type style declaration decl . remove ( ) ; } else if ( isMatchApp ) { // remove the previous property style declaration that has same // style property name declaration that ignore app type prefix // and remove the specified app type prefix of the property let newPropName = prop . replace ( SPECIFIED_APP_PROP_DECL_REGEXP , '' ) ; removeUnUseDecl ( decl , newPropName ) ; decl . prop = newPropName ; } // remove empty rule if ( ! parent . nodes || ! parent . nodes . length ) { parent . remove ( ) ; } } }
Process specified app target css style property declaration

@inner
@param {Array.<string>} allAppTypes all supported build media target
@param {string} appType the current build media target
@param {Object} decl css style declaration
Process specified app target css style property declaration