function createSlots(slots, dynamicSlots) {
      for (let i = 0; i < dynamicSlots.length; i++) {
          const slot = dynamicSlots[i];
          // array of dynamic slot generated by <template v-for="..." #[...]>
          if (isArray(slot)) {
              for (let j = 0; j < slot.length; j++) {
                  slots[slot[j].name] = slot[j].fn;
              }
          }
          else if (slot) {
              // conditional single slot generated by <template v-if="..." #foo>
              slots[slot.name] = slot.key
                  ? (...args) => {
                      const res = slot.fn(...args);
                      // attach branch key so each conditional branch is considered a
                      // different fragment
                      if (res)
                          res.key = slot.key;
                      return res;
                  }
                  : slot.fn;
          }
      }
      return slots;
  }
Compiler runtime helper for creating dynamic slots object
@private