{"version":3,"file":"ngspot-rxjs-operators.mjs","sources":["../../../../packages/rxjs/operators/src/deferred-start-with.ts","../../../../packages/rxjs/operators/src/filter-out-nullish.ts","../../../../packages/rxjs/operators/src/log.ts","../../../../packages/rxjs/operators/src/mutation-observer.ts","../../../../packages/rxjs/operators/src/resize-observer.ts","../../../../packages/rxjs/operators/src/zone.ts","../../../../packages/rxjs/operators/ngspot-rxjs-operators.ts"],"sourcesContent":["import { defer, Observable, OperatorFunction } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\n\r\nexport function deferredStartWith<T>(\r\n  cb: () => T\r\n): OperatorFunction<unknown, T> {\r\n  return function (source: Observable<any>) {\r\n    return defer(() => {\r\n      return source.pipe(startWith(cb()));\r\n    });\r\n  };\r\n}\r\n","import { filter, OperatorFunction, pipe } from 'rxjs';\r\n\r\n/**\r\n * @usage\r\n * ```\r\n * source$.pipe(filterOutNullish())\r\n * ```\r\n */\r\nexport function filterOutNullish<T>(): OperatorFunction<\r\n  T | null | undefined,\r\n  T\r\n> {\r\n  return pipe(filter((x): x is T => x != null));\r\n}\r\n","import { Observable, OperatorFunction, pipe, UnaryFunction } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n/**\r\n * Utility operator to ease debugging of observables.\r\n *\r\n * Example of usage:\r\n * ```\r\n * obs$.pipe(log('users'))\r\n * ```\r\n * @param info optional data. Usually helps to identify the logged stream\r\n */\r\nexport function log$<T>(\r\n  info?: unknown,\r\n  predicateFn?: (data?: T) => any\r\n): UnaryFunction<Observable<T | null | undefined>, Observable<T>> {\r\n  const stacktrace = getStackTrace();\r\n  const caller = stacktrace[2];\r\n\r\n  function log(event: string, data?: T) {\r\n    const args: unknown[] = [event];\r\n    if (info) {\r\n      args.unshift(info);\r\n    }\r\n    if (!event.includes('tap.complete')) {\r\n      const toLog = predicateFn ? predicateFn(data) : data;\r\n      args.push(toLog);\r\n    }\r\n    // eslint-disable-next-line no-console\r\n    console.log(...args);\r\n  }\r\n  return pipe(\r\n    tap<T>(\r\n      (x) => {\r\n        log(`[${caller}] tap.next`, x);\r\n      },\r\n      (x) => {\r\n        log(`[${caller}] tap.error`, x);\r\n      },\r\n      () => {\r\n        log(`[${caller}] tap.complete`);\r\n      }\r\n    ) as OperatorFunction<T | null | undefined, T>\r\n  );\r\n}\r\n\r\nfunction getStackTrace() {\r\n  const obj = {} as { stack: string };\r\n  (Error as any).captureStackTrace(obj, getStackTrace);\r\n  return obj.stack\r\n    .split('\\n')\r\n    .map((s) => {\r\n      let text = s.trim();\r\n      const openParenIx = text.indexOf(' (');\r\n      if (openParenIx > -1) {\r\n        text = text.substring(0, openParenIx);\r\n      }\r\n      if (text.includes('http://localhost')) {\r\n        text = '';\r\n      }\r\n      return text;\r\n    })\r\n    .filter((x) => !!x);\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport function mutationObserver(\r\n  el: HTMLElement,\r\n  options: MutationObserverInit\r\n) {\r\n  return new Observable((subscriber) => {\r\n    const observer = new MutationObserver((mutation) => {\r\n      subscriber.next(mutation);\r\n    });\r\n    observer.observe(el, options);\r\n\r\n    return () => observer.disconnect();\r\n  });\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport function resizeObserver(el: HTMLElement) {\r\n  return new Observable<ResizeObserverEntry[]>((subscriber) => {\r\n    const ro = new ResizeObserver((entries) => {\r\n      subscriber.next(entries);\r\n    });\r\n\r\n    ro.observe(el);\r\n\r\n    return () => {\r\n      ro.unobserve(el);\r\n      ro.disconnect();\r\n    };\r\n  });\r\n}\r\n","import { NgZone } from '@angular/core';\r\n\r\nimport { MonoTypeOperatorFunction, Observable } from 'rxjs';\r\n\r\nexport function zoneFull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\r\n  return (source) =>\r\n    new Observable((subscriber) =>\r\n      source.subscribe({\r\n        next: (value) => ngZone.run(() => subscriber.next(value)),\r\n        error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\r\n        complete: () => ngZone.run(() => subscriber.complete()),\r\n      })\r\n    );\r\n}\r\n\r\nexport function zoneFree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\r\n  return (source) =>\r\n    new Observable((subscriber) =>\r\n      ngZone.runOutsideAngular(() => source.subscribe(subscriber))\r\n    );\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}