text: "use strict";
  Object.defineProperty(exports, "__esModule", { value: true });
  exports.using = void 0;
  var Observable_1 = require("../Observable");
  var innerFrom_1 = require("./innerFrom");
  var empty_1 = require("./empty");
  function using(resourceFactory, observableFactory) {
      return new Observable_1.Observable(function (subscriber) {
          var resource = resourceFactory();
          var result = observableFactory(resource);
          var source = result ? innerFrom_1.innerFrom(result) : empty_1.EMPTY;
          source.subscribe(subscriber);
          return function () {
              if (resource) {
                  resource.unsubscribe();
              }
          };
      });
  }
  exports.using = using;
  //# sourceMappingURL=using.js.map