code: function skipUntil(predicate) {
      return function (iterable) {
          return __asyncGenerator(this, arguments, function* () {
              var e_18, _a;
              let i = 0;
              let canReturn = false;
              try {
                  for (var iterable_16 = __asyncValues(iterable), iterable_16_1; iterable_16_1 = yield __await(iterable_16.next()), !iterable_16_1.done;) {
                      const item = iterable_16_1.value;
                      if (!canReturn) {
                          canReturn = yield __await(predicate(item, i));
                          if (canReturn) {
                              yield yield __await(item);
                          }
                          i = i + 1;
                      }
                      else {
                          yield yield __await(item);
                      }
                  }
              }
              catch (e_18_1) { e_18 = { error: e_18_1 }; }
              finally {
                  try {
                      if (iterable_16_1 && !iterable_16_1.done && (_a = iterable_16.return)) yield __await(_a.call(iterable_16));
                  }
                  finally { if (e_18) throw e_18.error; }
              }
          });
      };
  }
docs: Skip items in an iterable until the passed predicate matches, then yield all items in the iterable