code: function executeArrayMutation(state, payload, action) {
        var newValue, pathWithIds;
  
        if (!PROP_SUBPROP.includes('*')) {
          newValue = payload;
          pathWithIds = PROP_SUBPROP;
        } else {
          if (!isArray(payload) && action !== 'splice') payload = [payload];
          if (action !== 'pop' && action !== 'shift') newValue = payload.pop();
          var ids = getIdsFromPayload(payload, conf, PROP_SUBPROP);
          if (!checkIdWildcardRatio(ids, PROP_SUBPROP, conf)) return;
          pathWithIds = fillinPathWildcards(ids, PROP_SUBPROP, state, conf);
        }
  
        if (action === 'push') {
          return pushDeepValue(state, pathWithIds, newValue);
        }
  
        if (action === 'pop') {
          return popDeepValue(state, pathWithIds);
        }
  
        if (action === 'shift') {
          return shiftDeepValue(state, pathWithIds);
        }
  
        if (action === 'splice') {
          return spliceDeepValue.apply(void 0, [state, pathWithIds].concat(_toConsumableArray(newValue)));
        }
      }
docs: =================================================> ARRAY MUTATIONS =================================================> execute mutation