whole_func_string: function skipUntil(predicate) {
      return function* (iterable) {
          let i = 0;
          let canReturn = false;
          for (const item of iterable) {
              if (!canReturn) {
                  canReturn = predicate(item, i);
                  if (canReturn) {
                      yield item;
                  }
                  i = i + 1;
              }
              else {
                  yield item;
              }
          }
      };
  }
func_code_string: function skipUntil(predicate) {
      return function* (iterable) {
          let i = 0;
          let canReturn = false;
          for (const item of iterable) {
              if (!canReturn) {
                  canReturn = predicate(item, i);
                  if (canReturn) {
                      yield item;
                  }
                  i = i + 1;
              }
              else {
                  yield item;
              }
          }
      };
  }
func_documentation_string: Skip items in an iterable until the passed predicate matches, then yioeld all items in the iterable