hunk.code_window:  * @param {string | Function} val - Value to set property to.
    * @param {number} [idx] - Optional index within the selection.
    */
   function setCss(el, prop, val, idx) {
     if (typeof prop == 'string') {
       var styles = getCss(el);
       if (typeof val === 'function') {
         val = val.call(el, idx, styles[prop]);
       }
  
hunk.labels: keep keep keep keep replace keep keep keep keep keep
hunk.after_edit:   if (typeof prop === 'string') {
  
hunk.file_path: lib/api/css.js
hunk.type: replace
file: {
    "env": {
      "node": true
    },
    "plugins": ["jsdoc"],
    "extends": ["eslint:recommended", "plugin:jsdoc/recommended", "prettier"],
    "globals": { "Set": true, "Symbol": true },
    "rules": {
      "array-callback-return": [
        "error",
        {
          "allowImplicit": true
        }
      ],
      "no-lonely-if": 2,
      "no-proto": 2,
      "curly": [2, "multi-line"],
      "one-var": [2, "never"],
      "no-else-return": [
        2,
        {
          "allowElseIf": false
        }
      ],
      "no-shadow": 2,
      "no-unused-expressions": 2,
      "no-useless-call": 2,
      "no-use-before-define": [2, "nofunc"],
      "no-void": 2,
      "yoda": 2,
  
      "jsdoc/require-jsdoc": 0,
      "jsdoc/check-param-names": 2,
      "jsdoc/check-tag-names": 2,
      "jsdoc/check-types": 2,
      "jsdoc/newline-after-description": 2,
      "jsdoc/require-description-complete-sentence": 2,
      "jsdoc/require-hyphen-before-param-description": 2,
      "jsdoc/require-param-description": 2,
      "jsdoc/require-param-name": 2,
      "jsdoc/require-param-type": 2,
      "jsdoc/require-param": 2,
      "jsdoc/valid-types": 2
    },
    "settings": {
      "jsdoc": {
        "additionalTagNames": {
          "customTags": ["hideconstructor"]
        },
        "preferredTypes": {
          "node": "Node",
          "nodewithchildren": "NodeWithChildren",
          "element": "Element",
          "cheerio": "Cheerio"
        }
      }
    }
  }
  