startWith.js 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. /** PURE_IMPORTS_START _observable_fromArray,_observable_scalar,_observable_empty,_observable_concat,_util_isScheduler PURE_IMPORTS_END */
  2. import { fromArray } from '../observable/fromArray';
  3. import { scalar } from '../observable/scalar';
  4. import { empty } from '../observable/empty';
  5. import { concat as concatStatic } from '../observable/concat';
  6. import { isScheduler } from '../util/isScheduler';
  7. export function startWith() {
  8. var array = [];
  9. for (var _i = 0; _i < arguments.length; _i++) {
  10. array[_i] = arguments[_i];
  11. }
  12. return function (source) {
  13. var scheduler = array[array.length - 1];
  14. if (isScheduler(scheduler)) {
  15. array.pop();
  16. }
  17. else {
  18. scheduler = null;
  19. }
  20. var len = array.length;
  21. if (len === 1 && !scheduler) {
  22. return concatStatic(scalar(array[0]), source);
  23. }
  24. else if (len > 0) {
  25. return concatStatic(fromArray(array, scheduler), source);
  26. }
  27. else {
  28. return concatStatic(empty(scheduler), source);
  29. }
  30. };
  31. }
  32. //# sourceMappingURL=startWith.js.map