├── .circleci
└── config.yml
├── .dependency-cruiser.json
├── .dockerignore
├── .eslintignore
├── .eslintrc
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE.md
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── documentation.md
│ ├── feature_request.md
│ └── support-question.md
├── PULL_REQUEST_TEMPLATE.md
├── lock.yml
└── workflows
│ ├── ci_main.yml
│ ├── ci_ts_latest.yml
│ └── rebase.yml
├── .gitignore
├── .make-helpers.js
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE.txt
├── README.md
├── docs_app
├── .gitignore
├── README.md
├── angular.json
├── assets
│ ├── Rx_Logo_S.png
│ └── images
│ │ └── marble-diagrams
│ │ ├── audit.png
│ │ ├── auditTime.png
│ │ ├── buffer.png
│ │ ├── bufferCount.png
│ │ ├── bufferTime.png
│ │ ├── bufferToggle.png
│ │ ├── bufferWhen.png
│ │ ├── catch.png
│ │ ├── combineAll.png
│ │ ├── combineLatest.png
│ │ ├── concat.png
│ │ ├── concatAll.png
│ │ ├── concatMap.png
│ │ ├── concatMapTo.png
│ │ ├── count.png
│ │ ├── debounce.png
│ │ ├── debounceTime.png
│ │ ├── defaultIfEmpty.png
│ │ ├── defer.png
│ │ ├── delay.png
│ │ ├── delayWhen.png
│ │ ├── dematerialize.png
│ │ ├── elementAt.png
│ │ ├── empty.png
│ │ ├── endWith.png
│ │ ├── every.png
│ │ ├── exhaust.png
│ │ ├── exhaustMap.png
│ │ ├── expand.png
│ │ ├── filter.png
│ │ ├── find.png
│ │ ├── findIndex.png
│ │ ├── first.png
│ │ ├── forkJoin.png
│ │ ├── from.png
│ │ ├── fromEvent.png
│ │ ├── fromEventPattern.png
│ │ ├── generate.png
│ │ ├── groupBy.png
│ │ ├── ignoreElements.png
│ │ ├── interval.png
│ │ ├── isEmpty.png
│ │ ├── last.png
│ │ ├── map.png
│ │ ├── mapTo.png
│ │ ├── materialize.png
│ │ ├── max.png
│ │ ├── merge.png
│ │ ├── mergeAll.png
│ │ ├── mergeMap.png
│ │ ├── mergeMapTo.png
│ │ ├── min.png
│ │ ├── multicast.png
│ │ ├── never.png
│ │ ├── of.png
│ │ ├── onErrorResumeNext.png
│ │ ├── pairs.png
│ │ ├── pairwise.png
│ │ ├── partition.png
│ │ ├── pluck.png
│ │ ├── publish.png
│ │ ├── publishLast.png
│ │ ├── race.png
│ │ ├── range.png
│ │ ├── reduce.png
│ │ ├── refCount.png
│ │ ├── repeat.png
│ │ ├── repeatWhen.png
│ │ ├── retry.png
│ │ ├── retryWhen.png
│ │ ├── sample.png
│ │ ├── sampleTime.png
│ │ ├── scan.png
│ │ ├── sequenceEqual.png
│ │ ├── share.png
│ │ ├── single.png
│ │ ├── skip.png
│ │ ├── skipLast.png
│ │ ├── skipUntil.png
│ │ ├── skipWhile.png
│ │ ├── startWith.png
│ │ ├── subscribeOn.png
│ │ ├── switchAll.png
│ │ ├── switchMap.png
│ │ ├── switchMapTo.png
│ │ ├── take.png
│ │ ├── takeLast.png
│ │ ├── takeUntil.png
│ │ ├── takeWhile.png
│ │ ├── tap.png
│ │ ├── throttle.png
│ │ ├── throttleTime.png
│ │ ├── throw.png
│ │ ├── throwIfEmpty.png
│ │ ├── timeinterval.png
│ │ ├── timeout.png
│ │ ├── timeoutWith.png
│ │ ├── timer.png
│ │ ├── timestamp.png
│ │ ├── toArray.png
│ │ ├── window.png
│ │ ├── windowCount.png
│ │ ├── windowTime.png
│ │ ├── windowToggle.png
│ │ ├── windowWhen.png
│ │ └── withLatestFrom.png
├── browserslist
├── content
│ ├── code-of-conduct.md
│ ├── file-not-found.md
│ ├── guide
│ │ ├── installation.md
│ │ ├── observable.md
│ │ ├── observer.md
│ │ ├── operators.md
│ │ ├── overview.md
│ │ ├── scheduler.md
│ │ ├── subject.md
│ │ ├── subscription.md
│ │ ├── testing
│ │ │ ├── internal-marble-tests.md
│ │ │ └── marble-testing.md
│ │ └── v6
│ │ │ ├── migration.md
│ │ │ └── pipeable-operators.md
│ ├── images
│ │ └── marketing
│ │ │ └── home
│ │ │ ├── Rx_Logo-512-512.png
│ │ │ ├── rxjs-live-london.svg
│ │ │ └── rxjs-live.svg
│ ├── license.md
│ ├── maintainer-guidelines.md
│ ├── marketing
│ │ ├── announcements.json
│ │ ├── api.html
│ │ ├── contributors.json
│ │ ├── index.html
│ │ ├── operator-decision-tree.html
│ │ └── team.html
│ ├── navigation.json
│ └── resources.md
├── database.rules.json
├── firebase.json
├── ngsw-config.json
├── package-lock.json
├── package.json
├── scripts
│ ├── _payload-limits.json
│ ├── deploy-to-firebase.sh
│ ├── deploy-to-firebase.test.sh
│ ├── payload.sh
│ ├── publish-docs.sh
│ └── test-pwa-score.js
├── src
│ ├── app
│ │ ├── app.component.html
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── custom-elements
│ │ │ ├── announcement-bar
│ │ │ │ ├── announcement-bar.component.spec.ts
│ │ │ │ ├── announcement-bar.component.ts
│ │ │ │ └── announcement-bar.module.ts
│ │ │ ├── api
│ │ │ │ ├── api-list.component.html
│ │ │ │ ├── api-list.component.spec.ts
│ │ │ │ ├── api-list.component.ts
│ │ │ │ ├── api-list.module.ts
│ │ │ │ ├── api.service.spec.ts
│ │ │ │ └── api.service.ts
│ │ │ ├── code
│ │ │ │ ├── code-example.component.spec.ts
│ │ │ │ ├── code-example.component.ts
│ │ │ │ ├── code-example.module.ts
│ │ │ │ ├── code-tabs.component.spec.ts
│ │ │ │ ├── code-tabs.component.ts
│ │ │ │ ├── code-tabs.module.ts
│ │ │ │ ├── code.component.spec.ts
│ │ │ │ ├── code.component.ts
│ │ │ │ ├── code.module.ts
│ │ │ │ └── pretty-printer.service.ts
│ │ │ ├── contributor
│ │ │ │ ├── contributor-list.component.spec.ts
│ │ │ │ ├── contributor-list.component.ts
│ │ │ │ ├── contributor-list.module.ts
│ │ │ │ ├── contributor.component.ts
│ │ │ │ ├── contributor.service.spec.ts
│ │ │ │ ├── contributor.service.ts
│ │ │ │ └── contributors.model.ts
│ │ │ ├── current-location
│ │ │ │ ├── current-location.component.spec.ts
│ │ │ │ ├── current-location.component.ts
│ │ │ │ └── current-location.module.ts
│ │ │ ├── custom-elements.module.ts
│ │ │ ├── element-registry.ts
│ │ │ ├── elements-loader.spec.ts
│ │ │ ├── elements-loader.ts
│ │ │ ├── expandable-section
│ │ │ │ ├── expandable-section.component.html
│ │ │ │ ├── expandable-section.component.ts
│ │ │ │ └── expandable-section.module.ts
│ │ │ ├── lazy-custom-element.component.spec.ts
│ │ │ ├── lazy-custom-element.component.ts
│ │ │ ├── live-example
│ │ │ │ ├── live-example.component.html
│ │ │ │ ├── live-example.component.spec.ts
│ │ │ │ ├── live-example.component.ts
│ │ │ │ └── live-example.module.ts
│ │ │ ├── operator-decision-tree
│ │ │ │ ├── README.md
│ │ │ │ ├── fixtures.ts
│ │ │ │ ├── interfaces.ts
│ │ │ │ ├── operator-decision-tree-data.service.spec.ts
│ │ │ │ ├── operator-decision-tree-data.service.ts
│ │ │ │ ├── operator-decision-tree.component.html
│ │ │ │ ├── operator-decision-tree.component.scss
│ │ │ │ ├── operator-decision-tree.component.spec.ts
│ │ │ │ ├── operator-decision-tree.component.ts
│ │ │ │ ├── operator-decision-tree.module.spec.ts
│ │ │ │ ├── operator-decision-tree.module.ts
│ │ │ │ ├── operator-decision-tree.service.spec.ts
│ │ │ │ ├── operator-decision-tree.service.ts
│ │ │ │ ├── utils.spec.ts
│ │ │ │ └── utils.ts
│ │ │ ├── resource
│ │ │ │ ├── resource-list.component.html
│ │ │ │ ├── resource-list.component.spec.ts
│ │ │ │ ├── resource-list.component.ts
│ │ │ │ ├── resource-list.module.ts
│ │ │ │ ├── resource.model.ts
│ │ │ │ ├── resource.service.spec.ts
│ │ │ │ └── resource.service.ts
│ │ │ ├── search
│ │ │ │ ├── file-not-found-search.component.spec.ts
│ │ │ │ ├── file-not-found-search.component.ts
│ │ │ │ └── file-not-found-search.module.ts
│ │ │ └── toc
│ │ │ │ ├── toc.component.html
│ │ │ │ ├── toc.component.spec.ts
│ │ │ │ ├── toc.component.ts
│ │ │ │ └── toc.module.ts
│ │ ├── documents
│ │ │ ├── document-contents.ts
│ │ │ ├── document.service.spec.ts
│ │ │ └── document.service.ts
│ │ ├── layout
│ │ │ ├── doc-viewer
│ │ │ │ ├── doc-viewer.component.spec.ts
│ │ │ │ ├── doc-viewer.component.ts
│ │ │ │ └── dt.component.ts
│ │ │ ├── footer
│ │ │ │ ├── footer.component.html
│ │ │ │ └── footer.component.ts
│ │ │ ├── mode-banner
│ │ │ │ └── mode-banner.component.ts
│ │ │ ├── nav-item
│ │ │ │ ├── nav-item.component.html
│ │ │ │ ├── nav-item.component.spec.ts
│ │ │ │ └── nav-item.component.ts
│ │ │ ├── nav-menu
│ │ │ │ ├── nav-menu.component.spec.ts
│ │ │ │ └── nav-menu.component.ts
│ │ │ ├── notification
│ │ │ │ ├── notification.component.html
│ │ │ │ ├── notification.component.spec.ts
│ │ │ │ └── notification.component.ts
│ │ │ └── top-menu
│ │ │ │ ├── top-menu.component.spec.ts
│ │ │ │ └── top-menu.component.ts
│ │ ├── navigation
│ │ │ ├── navigation.model.ts
│ │ │ ├── navigation.service.spec.ts
│ │ │ └── navigation.service.ts
│ │ ├── search
│ │ │ ├── interfaces.ts
│ │ │ ├── search-box
│ │ │ │ ├── search-box.component.spec.ts
│ │ │ │ └── search-box.component.ts
│ │ │ ├── search-worker.js
│ │ │ ├── search.service.spec.ts
│ │ │ └── search.service.ts
│ │ ├── shared
│ │ │ ├── attribute-utils.spec.ts
│ │ │ ├── attribute-utils.ts
│ │ │ ├── copier.service.ts
│ │ │ ├── current-date.ts
│ │ │ ├── custom-icon-registry.spec.ts
│ │ │ ├── custom-icon-registry.ts
│ │ │ ├── deployment.service.spec.ts
│ │ │ ├── deployment.service.ts
│ │ │ ├── ga.service.spec.ts
│ │ │ ├── ga.service.ts
│ │ │ ├── location.service.spec.ts
│ │ │ ├── location.service.ts
│ │ │ ├── logger.service.spec.ts
│ │ │ ├── logger.service.ts
│ │ │ ├── reporting-error-handler.spec.ts
│ │ │ ├── reporting-error-handler.ts
│ │ │ ├── scroll-spy.service.spec.ts
│ │ │ ├── scroll-spy.service.ts
│ │ │ ├── scroll.service.spec.ts
│ │ │ ├── scroll.service.ts
│ │ │ ├── search-results
│ │ │ │ ├── search-results.component.html
│ │ │ │ ├── search-results.component.spec.ts
│ │ │ │ └── search-results.component.ts
│ │ │ ├── select
│ │ │ │ ├── select.component.html
│ │ │ │ ├── select.component.spec.ts
│ │ │ │ └── select.component.ts
│ │ │ ├── shared.module.ts
│ │ │ ├── stackblitz.service.ts
│ │ │ ├── toc.service.spec.ts
│ │ │ ├── toc.service.ts
│ │ │ ├── web-worker.ts
│ │ │ └── window.ts
│ │ └── sw-updates
│ │ │ ├── sw-updates.module.ts
│ │ │ ├── sw-updates.service.spec.ts
│ │ │ └── sw-updates.service.ts
│ ├── assets
│ │ ├── .gitkeep
│ │ ├── images
│ │ │ ├── favicons
│ │ │ │ ├── apple-touch-icon-144x144.png
│ │ │ │ ├── favicon-128x128.png
│ │ │ │ ├── favicon-144x144.png
│ │ │ │ ├── favicon-152x152.png
│ │ │ │ ├── favicon-192x192.png
│ │ │ │ ├── favicon-384x384.png
│ │ │ │ ├── favicon-512x512.png
│ │ │ │ ├── favicon-72x72.png
│ │ │ │ ├── favicon-96x96.png
│ │ │ │ └── favicon.ico
│ │ │ ├── guide
│ │ │ │ └── marble-diagram-anatomy.svg
│ │ │ ├── logos
│ │ │ │ ├── Rx_Logo_S.png
│ │ │ │ ├── github-icon.svg
│ │ │ │ ├── logo.png
│ │ │ │ └── twitter-icon.svg
│ │ │ ├── marble-diagrams
│ │ │ │ ├── NEVER.png
│ │ │ │ ├── audit.png
│ │ │ │ ├── auditTime.png
│ │ │ │ ├── buffer.png
│ │ │ │ ├── bufferCount.png
│ │ │ │ ├── bufferTime.png
│ │ │ │ ├── bufferToggle.png
│ │ │ │ ├── bufferWhen.png
│ │ │ │ ├── catch.png
│ │ │ │ ├── combineAll.png
│ │ │ │ ├── combineLatest.png
│ │ │ │ ├── concat.png
│ │ │ │ ├── concatAll.png
│ │ │ │ ├── concatMap.png
│ │ │ │ ├── concatMapTo.png
│ │ │ │ ├── count.png
│ │ │ │ ├── create.png
│ │ │ │ ├── debounce.png
│ │ │ │ ├── debounceTime.png
│ │ │ │ ├── defaultIfEmpty.png
│ │ │ │ ├── defer.png
│ │ │ │ ├── delay.png
│ │ │ │ ├── delayWhen.png
│ │ │ │ ├── dematerialize.png
│ │ │ │ ├── distinctUntilChanged.png
│ │ │ │ ├── distinctUntilKeyChanged.png
│ │ │ │ ├── elementAt.png
│ │ │ │ ├── empty.png
│ │ │ │ ├── endWith.png
│ │ │ │ ├── every.png
│ │ │ │ ├── exhaust.png
│ │ │ │ ├── exhaustMap.png
│ │ │ │ ├── expand.png
│ │ │ │ ├── filter.png
│ │ │ │ ├── find.png
│ │ │ │ ├── findIndex.png
│ │ │ │ ├── first.png
│ │ │ │ ├── forkJoin.png
│ │ │ │ ├── from.png
│ │ │ │ ├── fromEvent.png
│ │ │ │ ├── fromEventPattern.png
│ │ │ │ ├── generate.png
│ │ │ │ ├── groupBy.png
│ │ │ │ ├── ignoreElements.png
│ │ │ │ ├── interval.png
│ │ │ │ ├── isEmpty.png
│ │ │ │ ├── last.png
│ │ │ │ ├── map.png
│ │ │ │ ├── mapTo.png
│ │ │ │ ├── materialize.png
│ │ │ │ ├── max.png
│ │ │ │ ├── merge.png
│ │ │ │ ├── mergeAll.png
│ │ │ │ ├── mergeMap.png
│ │ │ │ ├── mergeMapTo.png
│ │ │ │ ├── min.png
│ │ │ │ ├── multicast.png
│ │ │ │ ├── observeOn.png
│ │ │ │ ├── of.png
│ │ │ │ ├── onErrorResumeNext.png
│ │ │ │ ├── pairs.png
│ │ │ │ ├── pairwise.png
│ │ │ │ ├── partition.png
│ │ │ │ ├── pluck.png
│ │ │ │ ├── publish.png
│ │ │ │ ├── publishBehavior.png
│ │ │ │ ├── publishLast.png
│ │ │ │ ├── publishReplay.png
│ │ │ │ ├── race.png
│ │ │ │ ├── range.png
│ │ │ │ ├── reduce.png
│ │ │ │ ├── refCount.png
│ │ │ │ ├── repeat.png
│ │ │ │ ├── repeatWhen.png
│ │ │ │ ├── retry.png
│ │ │ │ ├── retryWhen.png
│ │ │ │ ├── sample.png
│ │ │ │ ├── sampleTime.png
│ │ │ │ ├── scan.png
│ │ │ │ ├── sequenceEqual.png
│ │ │ │ ├── share.png
│ │ │ │ ├── single.png
│ │ │ │ ├── skip.png
│ │ │ │ ├── skipLast.png
│ │ │ │ ├── skipUntil.png
│ │ │ │ ├── skipWhile.png
│ │ │ │ ├── startWith.png
│ │ │ │ ├── subscribeOn.png
│ │ │ │ ├── switchAll.png
│ │ │ │ ├── switchMap.png
│ │ │ │ ├── switchMapTo.png
│ │ │ │ ├── take.png
│ │ │ │ ├── takeLast.png
│ │ │ │ ├── takeUntil.png
│ │ │ │ ├── takeWhile.png
│ │ │ │ ├── tap.png
│ │ │ │ ├── throttle.png
│ │ │ │ ├── throttleTime.png
│ │ │ │ ├── throw.png
│ │ │ │ ├── throwIfEmpty.png
│ │ │ │ ├── timeInterval.png
│ │ │ │ ├── timeout.png
│ │ │ │ ├── timeoutWith.png
│ │ │ │ ├── timer.png
│ │ │ │ ├── timestamp.png
│ │ │ │ ├── toArray.png
│ │ │ │ ├── window.png
│ │ │ │ ├── windowCount.png
│ │ │ │ ├── windowTime.png
│ │ │ │ ├── windowToggle.png
│ │ │ │ ├── windowWhen.png
│ │ │ │ ├── withLatestFrom.png
│ │ │ │ └── zipAll.png
│ │ │ └── support
│ │ │ │ └── rxjs-404.png
│ │ └── js
│ │ │ ├── devtools-welcome.js
│ │ │ └── prettify.js
│ ├── environments
│ │ ├── environment.archive.ts
│ │ ├── environment.next.ts
│ │ ├── environment.stable.ts
│ │ └── environment.ts
│ ├── extra-files
│ │ ├── README.md
│ │ ├── archive
│ │ │ └── robots.txt
│ │ ├── next
│ │ │ └── robots.txt
│ │ └── stable
│ │ │ └── robots.txt
│ ├── google385281288605d160.html
│ ├── ie-polyfills.js
│ ├── index.html
│ ├── karma.conf.js
│ ├── main.ts
│ ├── noop-worker-basic.js
│ ├── polyfills.ts
│ ├── pwa-manifest.json
│ ├── styles.scss
│ ├── styles
│ │ ├── 0-base
│ │ │ ├── _base-dir.scss
│ │ │ └── _typography.scss
│ │ ├── 1-layouts
│ │ │ ├── _api-page.scss
│ │ │ ├── _content-layout.scss
│ │ │ ├── _doc-viewer.scss
│ │ │ ├── _footer.scss
│ │ │ ├── _layout-global.scss
│ │ │ ├── _layouts-dir.scss
│ │ │ ├── _marketing-layout.scss
│ │ │ ├── _not-found.scss
│ │ │ ├── _print-layout.scss
│ │ │ ├── _sidenav.scss
│ │ │ ├── _table-of-contents.scss
│ │ │ └── _top-menu.scss
│ │ ├── 2-modules
│ │ │ ├── _alert.scss
│ │ │ ├── _api-list.scss
│ │ │ ├── _api-pages.scss
│ │ │ ├── _buttons.scss
│ │ │ ├── _callout.scss
│ │ │ ├── _card.scss
│ │ │ ├── _code.scss
│ │ │ ├── _contribute.scss
│ │ │ ├── _contributor.scss
│ │ │ ├── _deploy-theme.scss
│ │ │ ├── _details.scss
│ │ │ ├── _edit-page-cta.scss
│ │ │ ├── _features.scss
│ │ │ ├── _filetree.scss
│ │ │ ├── _heading-anchors.scss
│ │ │ ├── _hr.scss
│ │ │ ├── _images.scss
│ │ │ ├── _label.scss
│ │ │ ├── _modules-dir.scss
│ │ │ ├── _notification.scss
│ │ │ ├── _presskit.scss
│ │ │ ├── _progress-bar.scss
│ │ │ ├── _resources.scss
│ │ │ ├── _scrollbar.scss
│ │ │ ├── _search-results.scss
│ │ │ ├── _select-menu.scss
│ │ │ ├── _subsection.scss
│ │ │ ├── _table.scss
│ │ │ └── _toc.scss
│ │ ├── _constants.scss
│ │ ├── _mixins.scss
│ │ ├── _typography-theme.scss
│ │ ├── main.scss
│ │ └── rxjs-theme.scss
│ ├── test.ts
│ ├── testing
│ │ ├── doc-viewer-utils.ts
│ │ ├── location.service.ts
│ │ ├── logger.service.ts
│ │ └── search.service.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.spec.json
│ ├── tslint.json
│ └── typings.d.ts
├── tests
│ └── e2e
│ │ ├── protractor.conf.js
│ │ ├── tsconfig.e2e.json
│ │ └── visual-testing.e2e-spec.ts
├── tools
│ ├── README.md
│ ├── decision-tree-generator
│ │ ├── README.md
│ │ ├── jest.config.js
│ │ ├── main.ts
│ │ ├── package-lock.json
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── lib
│ │ │ │ ├── addUniqueId.spec.ts
│ │ │ │ ├── addUniqueId.ts
│ │ │ │ ├── build.spec.ts
│ │ │ │ ├── build.ts
│ │ │ │ ├── decisionTreeReducer.spec.ts
│ │ │ │ ├── decisionTreeReducer.ts
│ │ │ │ ├── extractInitialSequence.spec.ts
│ │ │ │ ├── extractInitialSequence.ts
│ │ │ │ ├── fixtures.ts
│ │ │ │ ├── flattenApiList.spec.ts
│ │ │ │ ├── flattenApiList.ts
│ │ │ │ ├── generateUniqueId.spec.ts
│ │ │ │ ├── generateUniqueId.ts
│ │ │ │ ├── helpers.spec.ts
│ │ │ │ ├── helpers.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── interfaces.ts
│ │ │ └── tree.yml
│ │ └── tsconfig.json
│ ├── firebase-test-utils
│ │ ├── FirebaseGlob.spec.ts
│ │ ├── FirebaseGlob.ts
│ │ ├── FirebaseRedirect.spec.ts
│ │ ├── FirebaseRedirect.ts
│ │ ├── FirebaseRedirector.spec.ts
│ │ └── FirebaseRedirector.ts
│ ├── stackblitz
│ │ └── rxjs.version.js
│ ├── transforms
│ │ ├── .eslintignore
│ │ ├── .eslintrc.js
│ │ ├── README.md
│ │ ├── angular-api-package
│ │ │ ├── index.js
│ │ │ ├── mocks
│ │ │ │ ├── aliasedExports.ts
│ │ │ │ ├── anotherOperator.ts
│ │ │ │ ├── importedSrc.ts
│ │ │ │ ├── operator.ts
│ │ │ │ └── testSrc.ts
│ │ │ ├── post-processors
│ │ │ │ └── embedMarbleDiagrams.js
│ │ │ ├── processors
│ │ │ │ ├── addMetadataAliases.js
│ │ │ │ ├── addMetadataAliases.spec.js
│ │ │ │ ├── addNotYetDocumentedProperty.js
│ │ │ │ ├── addNotYetDocumentedProperty.spec.js
│ │ │ │ ├── computeApiBreadCrumbs.js
│ │ │ │ ├── computeApiBreadCrumbs.spec.js
│ │ │ │ ├── computeSearchTitle.js
│ │ │ │ ├── computeSearchTitle.spec.js
│ │ │ │ ├── computeStability.js
│ │ │ │ ├── computeStability.spec.js
│ │ │ │ ├── convertPrivateClassesToInterfaces.js
│ │ │ │ ├── extractDecoratedClasses.js
│ │ │ │ ├── extractDecoratedClasses.spec.js
│ │ │ │ ├── extractPipeParams.js
│ │ │ │ ├── extractPipeParams.spec.js
│ │ │ │ ├── filterContainedDocs.js
│ │ │ │ ├── filterPrivateDocs.js
│ │ │ │ ├── filterPrivateDocs.spec.js
│ │ │ │ ├── generateApiListDoc.js
│ │ │ │ ├── generateApiListDoc.spec.js
│ │ │ │ ├── generateDeprecationsListDoc.js
│ │ │ │ ├── markAliases.spec.ts
│ │ │ │ ├── markAliases.ts
│ │ │ │ ├── markBarredODocsAsPrivate.js
│ │ │ │ ├── markBarredODocsAsPrivate.spec.js
│ │ │ │ ├── matchUpDirectiveDecorators.js
│ │ │ │ ├── matchUpDirectiveDecorators.spec.js
│ │ │ │ ├── mergeDecoratorDocs.js
│ │ │ │ ├── mergeDecoratorDocs.spec.js
│ │ │ │ ├── migrateLegacyJSDocTags.js
│ │ │ │ ├── migrateLegacyJSDocTags.spec.js
│ │ │ │ ├── processClassLikeMembers.js
│ │ │ │ ├── processClassLikeMembers.spec.js
│ │ │ │ ├── simplifyMemberAnchors.js
│ │ │ │ ├── simplifyMemberAnchors.spec.js
│ │ │ │ ├── splitDescription.js
│ │ │ │ └── splitDescription.spec.js
│ │ │ └── tag-defs
│ │ │ │ ├── Annotation.js
│ │ │ │ ├── deprecated.js
│ │ │ │ ├── docsNotRequired.js
│ │ │ │ ├── experimental.js
│ │ │ │ ├── howToUse.js
│ │ │ │ ├── internal.js
│ │ │ │ ├── ngModule.js
│ │ │ │ ├── no-description.js
│ │ │ │ ├── security.js
│ │ │ │ ├── stable.js
│ │ │ │ ├── suppress.js
│ │ │ │ ├── syntax.js
│ │ │ │ ├── throws.js
│ │ │ │ ├── ts2dart_const.js
│ │ │ │ ├── usageNotes.js
│ │ │ │ └── whatItDoes.js
│ │ ├── angular-base-package
│ │ │ ├── ignore.words
│ │ │ ├── index.js
│ │ │ ├── post-processors
│ │ │ │ ├── add-image-dimensions.js
│ │ │ │ ├── add-image-dimensions.spec.js
│ │ │ │ ├── auto-link-code.js
│ │ │ │ ├── auto-link-code.spec.js
│ │ │ │ ├── autolink-headings.js
│ │ │ │ ├── autolink-headings.spec.js
│ │ │ │ ├── h1-checker.js
│ │ │ │ └── h1-checker.spec.js
│ │ │ ├── processors
│ │ │ │ ├── checkUnbalancedBackTicks.js
│ │ │ │ ├── checkUnbalancedBackTicks.spec.js
│ │ │ │ ├── convertToJson.js
│ │ │ │ ├── convertToJson.spec.js
│ │ │ │ ├── copyContentAssets.js
│ │ │ │ ├── copyContentAssets.spec.js
│ │ │ │ ├── createSitemap.js
│ │ │ │ ├── createSitemap.spec.js
│ │ │ │ ├── fixInternalDocumentLinks.js
│ │ │ │ ├── fixInternalDocumentLinks.spec.js
│ │ │ │ ├── generateKeywords.js
│ │ │ │ ├── generateKeywords.spec.js
│ │ │ │ ├── renderLinkInfo.js
│ │ │ │ └── renderLinkInfo.spec.js
│ │ │ ├── readers
│ │ │ │ └── json.js
│ │ │ ├── rendering
│ │ │ │ ├── filterByPropertyValue.js
│ │ │ │ ├── filterByPropertyValue.spec.js
│ │ │ │ ├── indentForMarkdown.js
│ │ │ │ ├── toId.js
│ │ │ │ ├── toId.spec.js
│ │ │ │ ├── trimBlankLines.js
│ │ │ │ ├── trimBlankLines.spec.js
│ │ │ │ ├── truncateCode.js
│ │ │ │ └── truncateCode.spec.js
│ │ │ └── services
│ │ │ │ ├── copyFolder.js
│ │ │ │ ├── filterAmbiguousDirectiveAliases.js
│ │ │ │ ├── filterAmbiguousDirectiveAliases.spec.js
│ │ │ │ ├── filterPipes.js
│ │ │ │ ├── filterPipes.spec.js
│ │ │ │ └── getImageDimensions.js
│ │ ├── angular-content-package
│ │ │ ├── index.js
│ │ │ └── inline-tag-defs
│ │ │ │ └── anchor.js
│ │ ├── angular.io-package
│ │ │ ├── index.js
│ │ │ └── processors
│ │ │ │ ├── cleanGeneratedFiles.js
│ │ │ │ ├── createOverviewDump.js
│ │ │ │ └── processNavigationMap.js
│ │ ├── authors-package
│ │ │ ├── api-package.js
│ │ │ ├── guide-package.js
│ │ │ ├── index.js
│ │ │ ├── index.spec.js
│ │ │ ├── marketing-package.js
│ │ │ ├── tutorial-package.js
│ │ │ └── watchr.js
│ │ ├── config.js
│ │ ├── content-package
│ │ │ ├── index.js
│ │ │ ├── readers
│ │ │ │ ├── content.js
│ │ │ │ └── content.spec.js
│ │ │ └── tag-defs
│ │ │ │ ├── intro.js
│ │ │ │ └── title.js
│ │ ├── examples-package
│ │ │ ├── file-readers
│ │ │ │ └── example-reader.js
│ │ │ ├── index.js
│ │ │ ├── inline-tag-defs
│ │ │ │ ├── example.js
│ │ │ │ └── example.spec.js
│ │ │ ├── processors
│ │ │ │ ├── collect-examples.js
│ │ │ │ ├── collect-examples.spec.js
│ │ │ │ ├── render-examples.js
│ │ │ │ └── render-examples.spec.js
│ │ │ └── services
│ │ │ │ ├── example-map.js
│ │ │ │ ├── getExampleRegion.js
│ │ │ │ ├── getExampleRegion.spec.js
│ │ │ │ ├── parseArgString.js
│ │ │ │ ├── region-matchers
│ │ │ │ ├── block-c.js
│ │ │ │ ├── block-c.spec.js
│ │ │ │ ├── html.js
│ │ │ │ ├── html.spec.js
│ │ │ │ ├── inline-c-only.js
│ │ │ │ ├── inline-c-only.spec.js
│ │ │ │ ├── inline-c.js
│ │ │ │ ├── inline-c.spec.js
│ │ │ │ ├── inline-hash.js
│ │ │ │ └── inline-hash.spec.js
│ │ │ │ ├── region-parser.js
│ │ │ │ └── region-parser.spec.js
│ │ ├── helpers
│ │ │ ├── test-package.js
│ │ │ ├── utils.js
│ │ │ └── utils.spec.js
│ │ ├── links-package
│ │ │ ├── index.js
│ │ │ ├── inline-tag-defs
│ │ │ │ ├── link.js
│ │ │ │ └── link.spec.js
│ │ │ └── services
│ │ │ │ ├── disambiguators
│ │ │ │ ├── disambiguateByDeprecated.js
│ │ │ │ ├── disambiguateByDeprecated.spec.js
│ │ │ │ ├── disambiguateByModule.js
│ │ │ │ └── disambiguateByModule.spec.js
│ │ │ │ ├── getAliases.js
│ │ │ │ ├── getAliases.spec.js
│ │ │ │ ├── getDocFromAlias.js
│ │ │ │ ├── getDocFromAlias.spec.js
│ │ │ │ ├── getLinkInfo.js
│ │ │ │ └── getLinkInfo.spec.js
│ │ ├── post-process-package
│ │ │ ├── index.js
│ │ │ └── processors
│ │ │ │ ├── post-process-html.js
│ │ │ │ └── post-process-html.spec.js
│ │ ├── remark-package
│ │ │ ├── index.js
│ │ │ └── services
│ │ │ │ ├── handlers
│ │ │ │ └── code.js
│ │ │ │ ├── renderMarkdown.js
│ │ │ │ └── renderMarkdown.spec.js
│ │ ├── target-package
│ │ │ ├── index.js
│ │ │ ├── inline-tag-defs
│ │ │ │ ├── target.js
│ │ │ │ └── target.spec.js
│ │ │ └── services
│ │ │ │ ├── targetEnvironments.js
│ │ │ │ └── targetEnvironments.spec.js
│ │ ├── templates
│ │ │ ├── README.md
│ │ │ ├── api
│ │ │ │ ├── base.template.html
│ │ │ │ ├── class.template.html
│ │ │ │ ├── const.template.html
│ │ │ │ ├── decorator.template.html
│ │ │ │ ├── deprecation.template.html
│ │ │ │ ├── directive.template.html
│ │ │ │ ├── enum.template.html
│ │ │ │ ├── export-base.template.html
│ │ │ │ ├── function.template.html
│ │ │ │ ├── includes
│ │ │ │ │ ├── annotations.html
│ │ │ │ │ ├── class-overview.html
│ │ │ │ │ ├── decorator-overview.html
│ │ │ │ │ ├── deprecation.html
│ │ │ │ │ ├── description.html
│ │ │ │ │ ├── directive-overview.html
│ │ │ │ │ ├── export-as.html
│ │ │ │ │ ├── info-bar.html
│ │ │ │ │ ├── interface-overview.html
│ │ │ │ │ ├── metadata.html
│ │ │ │ │ ├── pipe-overview.html
│ │ │ │ │ ├── renamed-exports.html
│ │ │ │ │ ├── security-notes.html
│ │ │ │ │ ├── see-also.html
│ │ │ │ │ ├── selectors.html
│ │ │ │ │ └── usageNotes.html
│ │ │ │ ├── interface.template.html
│ │ │ │ ├── let.template.html
│ │ │ │ ├── lib
│ │ │ │ │ ├── descendants.html
│ │ │ │ │ ├── directiveHelpers.html
│ │ │ │ │ ├── githubLinks.html
│ │ │ │ │ ├── memberHelpers.html
│ │ │ │ │ └── paramList.html
│ │ │ │ ├── module.template.html
│ │ │ │ ├── pipe.template.html
│ │ │ │ ├── type-alias.template.html
│ │ │ │ ├── value-module.template.html
│ │ │ │ └── var.template.html
│ │ │ ├── content.template.html
│ │ │ ├── data-module.template.js
│ │ │ ├── example-region.template.html
│ │ │ ├── json-doc.template.json
│ │ │ ├── overview-dump.template.html
│ │ │ └── sitemap.template.xml
│ │ └── test.js
│ └── tslint.json
├── tsconfig.docs.json
├── tsconfig.json
└── tslint.json
├── integration
├── side-effects
│ ├── README.md
│ ├── side-effects.json
│ └── snapshots
│ │ ├── esm
│ │ ├── ajax.js
│ │ ├── fetch.js
│ │ ├── index.js
│ │ ├── operators.js
│ │ ├── testing.js
│ │ └── websocket.js
│ │ ├── esm2015
│ │ ├── ajax.js
│ │ ├── fetch.js
│ │ ├── index.js
│ │ ├── operators.js
│ │ ├── testing.js
│ │ └── websocket.js
│ │ └── esm5
│ │ ├── ajax.js
│ │ ├── fetch.js
│ │ ├── index.js
│ │ ├── operators.js
│ │ ├── testing.js
│ │ └── websocket.js
└── systemjs
│ ├── systemjs-compatibility-spec.js
│ └── tsconfig.json
├── package-lock.json
├── package.json
├── resources
└── CI-CD
│ ├── README.md
│ └── logo
│ └── svg
│ ├── RxJs_Logo_Basic.svg
│ ├── RxJs_Logo_Basic_Outline.svg
│ ├── RxJs_Logo_Black.svg
│ └── RxJs_Logo_Black_Outline.svg
├── spec-dtslint
├── Observable-spec.ts
├── helpers.ts
├── index.d.ts
├── observables
│ ├── combineLatest-spec.ts
│ ├── concat-spec.ts
│ ├── defer-spec.ts
│ ├── dom
│ │ ├── ajax-spec.ts
│ │ └── animationFrames-spec.ts
│ ├── empty-spec.ts
│ ├── forkJoin-spec.ts
│ ├── from-spec.ts
│ ├── iif-spec.ts
│ ├── interval-spec.ts
│ ├── never-spec.ts
│ ├── of-spec.ts
│ ├── partition-spec.ts
│ ├── race-spec.ts
│ ├── range-spec.ts
│ ├── throwError-spec.ts
│ ├── timer-spec.ts
│ └── zip-spec.ts
├── operators
│ ├── audit-spec.ts
│ ├── auditTime-spec.ts
│ ├── buffer-spec.ts
│ ├── bufferCount-spec.ts
│ ├── bufferTime-spec.ts
│ ├── bufferToggle-spec.ts
│ ├── bufferWhen-spec.ts
│ ├── catchError-spec.ts
│ ├── combineAll-spec.ts
│ ├── combineLatest-spec.ts
│ ├── combineLatestWith-spec.ts
│ ├── concat-spec.ts
│ ├── concatAll-spec.ts
│ ├── concatMap-spec.ts
│ ├── concatMapTo-spec.ts
│ ├── concatWith-spec.ts
│ ├── count-spec.ts
│ ├── debounce-spec.ts
│ ├── debounceTime-spec.ts
│ ├── defaultIfEmpty-spec.ts
│ ├── delay-spec.ts
│ ├── delayWhen-spec.ts
│ ├── dematerialize-spec.ts
│ ├── distinct-spec.ts
│ ├── distinctUntilChanged-spec.ts
│ ├── distinctUntilKeyChanged-spec.ts
│ ├── elementAt-spec.ts
│ ├── endWith-spec.ts
│ ├── every-spec.ts
│ ├── exhaust-spec.ts
│ ├── exhaustMap-spec.ts
│ ├── expand-spec.ts
│ ├── filter-spec.ts
│ ├── finalize-spec.ts
│ ├── find-spec.ts
│ ├── findIndex-spec.ts
│ ├── first-spec.ts
│ ├── groupBy-spec.ts
│ ├── ignoreElements-spec.ts
│ ├── isEmpty-spec.ts
│ ├── last-spec.ts
│ ├── map-spec.ts
│ ├── mapTo-spec.ts
│ ├── materialize-spec.ts
│ ├── max-spec.ts
│ ├── merge-spec.ts
│ ├── mergeAll-spec.ts
│ ├── mergeMap-spec.ts
│ ├── mergeMapTo-spec.ts
│ ├── mergeScan-spec.ts
│ ├── mergeWith-spec.ts
│ ├── min-spec.ts
│ ├── multicast-spec.ts
│ ├── observeOn-spec.ts
│ ├── onErrorResumeNext-spec.ts
│ ├── pairwise-spec.ts
│ ├── pluck-spec.ts
│ ├── publish-spec.ts
│ ├── publishBehavior-spec.ts
│ ├── publishLast-spec.ts
│ ├── publishReplay-spec.ts
│ ├── race-spec.ts
│ ├── reduce-spec.ts
│ ├── refCount-spec.ts
│ ├── repeat-spec.ts
│ ├── retry-spec.ts
│ ├── retryWhen-spec.ts
│ ├── sample-spec.ts
│ ├── sampleTime-spec.ts
│ ├── scan-spec.ts
│ ├── sequenceEqual-spec.ts
│ ├── share-spec.ts
│ ├── shareReplay-spec.ts
│ ├── single-spec.ts
│ ├── skip-spec.ts
│ ├── skipLast-spec.ts
│ ├── skipUntil-spec.ts
│ ├── skipWhile-spec.ts
│ ├── startWith-spec.ts
│ ├── subscribeOn-spec.ts
│ ├── switchAll-spec.ts
│ ├── switchMap-spec.ts
│ ├── switchMapTo-spec.ts
│ ├── take-spec.ts
│ ├── takeLast-spec.ts
│ ├── takeUntil-spec.ts
│ ├── takeWhile-spec.ts
│ ├── tap-spec.ts
│ ├── throttle-spec.ts
│ ├── throttleTime-spec.ts
│ ├── throwIfEmpty-spec.ts
│ ├── timeInterval-spec.ts
│ ├── timeout-spec.ts
│ ├── timeoutWith-spec.ts
│ ├── timestamp-spec.ts
│ ├── toArray-spec.ts
│ ├── window-spec.ts
│ ├── windowCount-spec.ts
│ ├── windowTime-spec.ts
│ ├── windowToggle-spec.ts
│ ├── windowWhen-spec.ts
│ ├── withLatestFrom-spec.ts
│ ├── zip-spec.ts
│ ├── zipAll-spec.ts
│ └── zipWith-spec.ts
├── tsconfig.json
├── tslint.json
├── types-spec.ts
└── util
│ └── pipe-spec.ts
├── spec
├── Notification-spec.ts
├── Observable-spec.ts
├── Scheduler-spec.ts
├── Subject-spec.ts
├── Subscriber-spec.ts
├── Subscription-spec.ts
├── ajax
│ └── index-spec.ts
├── config-spec.ts
├── exports-spec.ts.disabled
├── helpers
│ ├── interop-helper-spec.ts
│ ├── interop-helper.ts
│ ├── marble-testing.ts
│ ├── observableMatcher.ts
│ ├── polyfills.ts
│ ├── test-helper.ts
│ ├── testScheduler-ui.ts
│ └── tests2png
│ │ ├── diagram-test-runner.ts
│ │ ├── painter.ts
│ │ └── types.ts
├── index-spec.ts
├── observables
│ ├── IteratorObservable-spec.ts
│ ├── SubscribeOnObservable-spec.ts
│ ├── bindCallback-spec.ts
│ ├── bindNodeCallback-spec.ts
│ ├── combineLatest-spec.ts
│ ├── concat-spec.ts
│ ├── defer-spec.ts
│ ├── dom
│ │ ├── ajax-spec.ts
│ │ ├── animationFrames-spec.ts
│ │ ├── fetch-spec.ts
│ │ └── webSocket-spec.ts
│ ├── empty-spec.ts
│ ├── forkJoin-spec.ts
│ ├── from-promise-spec.ts
│ ├── from-spec.ts
│ ├── fromEvent-spec.ts
│ ├── fromEventPattern-spec.ts
│ ├── generate-spec.ts
│ ├── if-spec.ts
│ ├── interval-spec.ts
│ ├── merge-spec.ts
│ ├── never-spec.ts
│ ├── of-spec.ts
│ ├── onErrorResumeNext-spec.ts
│ ├── pairs-spec.ts
│ ├── partition-spec.ts
│ ├── race-spec.ts
│ ├── range-spec.ts
│ ├── throwError-spec.ts
│ ├── timer-spec.ts
│ ├── using-spec.ts
│ └── zip-spec.ts
├── operators
│ ├── audit-spec.ts
│ ├── auditTime-spec.ts
│ ├── buffer-spec.ts
│ ├── bufferCount-spec.ts
│ ├── bufferTime-spec.ts
│ ├── bufferToggle-spec.ts
│ ├── bufferWhen-spec.ts
│ ├── catch-spec.ts
│ ├── combineAll-spec.ts
│ ├── combineLatest-legacy-spec.ts
│ ├── combineLatestWith-spec.ts
│ ├── concat-spec.ts
│ ├── concatAll-spec.ts
│ ├── concatMap-spec.ts
│ ├── concatMapTo-spec.ts
│ ├── concatWith-spec.ts
│ ├── count-spec.ts
│ ├── debounce-spec.ts
│ ├── debounceTime-spec.ts
│ ├── defaultIfEmpty-spec.ts
│ ├── delay-spec.ts
│ ├── delayWhen-spec.ts
│ ├── dematerialize-spec.ts
│ ├── distinct-spec.ts
│ ├── distinctUntilChanged-spec.ts
│ ├── distinctUntilKeyChanged-spec.ts
│ ├── elementAt-spec.ts
│ ├── endWith-spec.ts
│ ├── every-spec.ts
│ ├── exhaust-spec.ts
│ ├── exhaustMap-spec.ts
│ ├── expand-spec.ts
│ ├── filter-spec.ts
│ ├── finalize-spec.ts
│ ├── find-spec.ts
│ ├── findIndex-spec.ts
│ ├── first-spec.ts
│ ├── groupBy-spec.ts
│ ├── ignoreElements-spec.ts
│ ├── index-spec.ts
│ ├── isEmpty-spec.ts
│ ├── last-spec.ts
│ ├── map-spec.ts
│ ├── mapTo-spec.ts
│ ├── materialize-spec.ts
│ ├── max-spec.ts
│ ├── merge-legacy-spec.ts
│ ├── mergeAll-spec.ts
│ ├── mergeMap-spec.ts
│ ├── mergeMapTo-spec.ts
│ ├── mergeScan-spec.ts
│ ├── mergeWith-spec.ts
│ ├── min-spec.ts
│ ├── multicast-spec.ts
│ ├── observeOn-spec.ts
│ ├── onErrorResumeNext-spec.ts
│ ├── pairwise-spec.ts
│ ├── pluck-spec.ts
│ ├── publish-spec.ts
│ ├── publishBehavior-spec.ts
│ ├── publishLast-spec.ts
│ ├── publishReplay-spec.ts
│ ├── race-spec.ts
│ ├── reduce-spec.ts
│ ├── refCount-spec.ts
│ ├── repeat-spec.ts
│ ├── repeatWhen-spec.ts
│ ├── retry-spec.ts
│ ├── retryWhen-spec.ts
│ ├── sample-spec.ts
│ ├── sampleTime-spec.ts
│ ├── scan-spec.ts
│ ├── sequenceEqual-spec.ts
│ ├── share-spec.ts
│ ├── shareReplay-spec.ts
│ ├── single-spec.ts
│ ├── skip-spec.ts
│ ├── skipLast-spec.ts
│ ├── skipUntil-spec.ts
│ ├── skipWhile-spec.ts
│ ├── startWith-spec.ts
│ ├── subscribeOn-spec.ts
│ ├── switch-spec.ts
│ ├── switchMap-spec.ts
│ ├── switchMapTo-spec.ts
│ ├── take-spec.ts
│ ├── takeLast-spec.ts
│ ├── takeUntil-spec.ts
│ ├── takeWhile-spec.ts
│ ├── tap-spec.ts
│ ├── throttle-spec.ts
│ ├── throttleTime-spec.ts
│ ├── throwIfEmpty-spec.ts
│ ├── timeInterval-spec.ts
│ ├── timeout-spec.ts
│ ├── timeoutWith-spec.ts
│ ├── timestamp-spec.ts
│ ├── toArray-spec.ts
│ ├── toPromise-spec.ts
│ ├── window-spec.ts
│ ├── windowCount-spec.ts
│ ├── windowTime-spec.ts
│ ├── windowToggle-spec.ts
│ ├── windowWhen-spec.ts
│ ├── withLatestFrom-spec.ts
│ ├── zip-legacy-spec.ts
│ ├── zipAll-spec.ts
│ └── zipWith-spec.ts
├── scheduled
│ └── scheduled-spec.ts
├── schedulers
│ ├── AnimationFrameScheduler-spec.ts
│ ├── AsapScheduler-spec.ts
│ ├── QueueScheduler-spec.ts
│ ├── TestScheduler-spec.ts
│ └── VirtualTimeScheduler-spec.ts
├── subjects
│ ├── AsyncSubject-spec.ts
│ ├── BehaviorSubject-spec.ts
│ └── ReplaySubject-spec.ts
├── support
│ ├── default.opts
│ ├── mocha-browser-runner.html
│ ├── mocha-path-mappings.js
│ ├── mocha.sauce.gruntfile.js
│ ├── mocha.sauce.runner.js
│ ├── tests2png.opts
│ └── webpack.mocha.config.js
├── testing
│ └── index-spec.ts
├── tsconfig.json
├── util
│ ├── ArgumentOutOfRangeError-spec.ts
│ ├── EmptyError-spec.ts
│ ├── Immediate-spec.ts
│ ├── IsNumeric-spec.ts
│ ├── ObjectUnsubscribedError-spec.ts
│ ├── TimeoutError-spec.ts
│ ├── UnsubscriptionError-spec.ts
│ ├── canReportError-spec.ts
│ ├── isObservable-spec.ts
│ ├── isPromise-spec.ts
│ ├── pipe-spec.ts
│ ├── subscribeToResult-spec.ts
│ └── toSubscriber-spec.ts
└── websocket
│ └── index-spec.ts
├── src
├── Rx.global.js
├── ajax
│ └── index.ts
├── fetch
│ └── index.ts
├── index.ts
├── internal
│ ├── AsyncSubject.ts
│ ├── BehaviorSubject.ts
│ ├── InnerSubscriber.ts
│ ├── Notification.ts
│ ├── Observable.ts
│ ├── Observer.ts
│ ├── Operator.ts
│ ├── OuterSubscriber.ts
│ ├── ReplaySubject.ts
│ ├── Scheduler.ts
│ ├── Subject.ts
│ ├── SubjectSubscription.ts
│ ├── Subscriber.ts
│ ├── Subscription.ts
│ ├── config.ts
│ ├── observable
│ │ ├── ConnectableObservable.ts
│ │ ├── SubscribeOnObservable.ts
│ │ ├── bindCallback.ts
│ │ ├── bindNodeCallback.ts
│ │ ├── combineLatest.ts
│ │ ├── concat.ts
│ │ ├── defer.ts
│ │ ├── dom
│ │ │ ├── AjaxObservable.ts
│ │ │ ├── WebSocketSubject.ts
│ │ │ ├── ajax.ts
│ │ │ ├── animationFrames.ts
│ │ │ ├── fetch.ts
│ │ │ └── webSocket.ts
│ │ ├── empty.ts
│ │ ├── forkJoin.ts
│ │ ├── from.ts
│ │ ├── fromArray.ts
│ │ ├── fromEvent.ts
│ │ ├── fromEventPattern.ts
│ │ ├── fromIterable.ts
│ │ ├── fromObservable.ts
│ │ ├── fromPromise.ts
│ │ ├── generate.ts
│ │ ├── iif.ts
│ │ ├── interval.ts
│ │ ├── merge.ts
│ │ ├── never.ts
│ │ ├── of.ts
│ │ ├── onErrorResumeNext.ts
│ │ ├── pairs.ts
│ │ ├── partition.ts
│ │ ├── race.ts
│ │ ├── range.ts
│ │ ├── throwError.ts
│ │ ├── timer.ts
│ │ ├── using.ts
│ │ └── zip.ts
│ ├── operators
│ │ ├── audit.ts
│ │ ├── auditTime.ts
│ │ ├── buffer.ts
│ │ ├── bufferCount.ts
│ │ ├── bufferTime.ts
│ │ ├── bufferToggle.ts
│ │ ├── bufferWhen.ts
│ │ ├── catchError.ts
│ │ ├── combineAll.ts
│ │ ├── combineLatestWith.ts
│ │ ├── concat.ts
│ │ ├── concatAll.ts
│ │ ├── concatMap.ts
│ │ ├── concatMapTo.ts
│ │ ├── concatWith.ts
│ │ ├── count.ts
│ │ ├── debounce.ts
│ │ ├── debounceTime.ts
│ │ ├── defaultIfEmpty.ts
│ │ ├── delay.ts
│ │ ├── delayWhen.ts
│ │ ├── dematerialize.ts
│ │ ├── distinct.ts
│ │ ├── distinctUntilChanged.ts
│ │ ├── distinctUntilKeyChanged.ts
│ │ ├── elementAt.ts
│ │ ├── endWith.ts
│ │ ├── every.ts
│ │ ├── exhaust.ts
│ │ ├── exhaustMap.ts
│ │ ├── expand.ts
│ │ ├── filter.ts
│ │ ├── finalize.ts
│ │ ├── find.ts
│ │ ├── findIndex.ts
│ │ ├── first.ts
│ │ ├── groupBy.ts
│ │ ├── ignoreElements.ts
│ │ ├── index.ts
│ │ ├── isEmpty.ts
│ │ ├── last.ts
│ │ ├── map.ts
│ │ ├── mapTo.ts
│ │ ├── materialize.ts
│ │ ├── max.ts
│ │ ├── mergeAll.ts
│ │ ├── mergeMap.ts
│ │ ├── mergeMapTo.ts
│ │ ├── mergeScan.ts
│ │ ├── mergeWith.ts
│ │ ├── min.ts
│ │ ├── multicast.ts
│ │ ├── observeOn.ts
│ │ ├── onErrorResumeNext.ts
│ │ ├── pairwise.ts
│ │ ├── partition.ts
│ │ ├── pluck.ts
│ │ ├── publish.ts
│ │ ├── publishBehavior.ts
│ │ ├── publishLast.ts
│ │ ├── publishReplay.ts
│ │ ├── race.ts
│ │ ├── reduce.ts
│ │ ├── refCount.ts
│ │ ├── repeat.ts
│ │ ├── repeatWhen.ts
│ │ ├── retry.ts
│ │ ├── retryWhen.ts
│ │ ├── sample.ts
│ │ ├── sampleTime.ts
│ │ ├── scan.ts
│ │ ├── sequenceEqual.ts
│ │ ├── share.ts
│ │ ├── shareReplay.ts
│ │ ├── single.ts
│ │ ├── skip.ts
│ │ ├── skipLast.ts
│ │ ├── skipUntil.ts
│ │ ├── skipWhile.ts
│ │ ├── startWith.ts
│ │ ├── subscribeOn.ts
│ │ ├── switchAll.ts
│ │ ├── switchMap.ts
│ │ ├── switchMapTo.ts
│ │ ├── take.ts
│ │ ├── takeLast.ts
│ │ ├── takeUntil.ts
│ │ ├── takeWhile.ts
│ │ ├── tap.ts
│ │ ├── throttle.ts
│ │ ├── throttleTime.ts
│ │ ├── throwIfEmpty.ts
│ │ ├── timeInterval.ts
│ │ ├── timeout.ts
│ │ ├── timeoutWith.ts
│ │ ├── timestamp.ts
│ │ ├── toArray.ts
│ │ ├── window.ts
│ │ ├── windowCount.ts
│ │ ├── windowTime.ts
│ │ ├── windowToggle.ts
│ │ ├── windowWhen.ts
│ │ ├── withLatestFrom.ts
│ │ ├── zipAll.ts
│ │ └── zipWith.ts
│ ├── scheduled
│ │ ├── scheduleArray.ts
│ │ ├── scheduleIterable.ts
│ │ ├── scheduleObservable.ts
│ │ ├── schedulePromise.ts
│ │ └── scheduled.ts
│ ├── scheduler
│ │ ├── Action.ts
│ │ ├── AnimationFrameAction.ts
│ │ ├── AnimationFrameScheduler.ts
│ │ ├── AsapAction.ts
│ │ ├── AsapScheduler.ts
│ │ ├── AsyncAction.ts
│ │ ├── AsyncScheduler.ts
│ │ ├── QueueAction.ts
│ │ ├── QueueScheduler.ts
│ │ ├── VirtualTimeScheduler.ts
│ │ ├── animationFrame.ts
│ │ ├── asap.ts
│ │ ├── async.ts
│ │ └── queue.ts
│ ├── symbol
│ │ ├── iterator.ts
│ │ ├── observable.ts
│ │ └── rxSubscriber.ts
│ ├── testing
│ │ ├── ColdObservable.ts
│ │ ├── HotObservable.ts
│ │ ├── SubscriptionLog.ts
│ │ ├── SubscriptionLoggable.ts
│ │ ├── TestMessage.ts
│ │ └── TestScheduler.ts
│ ├── types.ts
│ ├── umd.ts
│ └── util
│ │ ├── ArgumentOutOfRangeError.ts
│ │ ├── EmptyError.ts
│ │ ├── Immediate.ts
│ │ ├── ObjectUnsubscribedError.ts
│ │ ├── TimeoutError.ts
│ │ ├── UnsubscriptionError.ts
│ │ ├── applyMixins.ts
│ │ ├── canReportError.ts
│ │ ├── errorObject.ts
│ │ ├── hostReportError.ts
│ │ ├── identity.ts
│ │ ├── isArray.ts
│ │ ├── isArrayLike.ts
│ │ ├── isDate.ts
│ │ ├── isFunction.ts
│ │ ├── isInteropObservable.ts
│ │ ├── isIterable.ts
│ │ ├── isNumeric.ts
│ │ ├── isObject.ts
│ │ ├── isObservable.ts
│ │ ├── isPromise.ts
│ │ ├── isScheduler.ts
│ │ ├── noop.ts
│ │ ├── not.ts
│ │ ├── pipe.ts
│ │ ├── root.ts
│ │ ├── subscribeTo.ts
│ │ ├── subscribeToArray.ts
│ │ ├── subscribeToIterable.ts
│ │ ├── subscribeToObservable.ts
│ │ ├── subscribeToPromise.ts
│ │ ├── subscribeToResult.ts
│ │ ├── toSubscriber.ts
│ │ └── tryCatch.ts
├── operators
│ └── index.ts
├── testing
│ └── index.ts
├── tsconfig.base.json
├── tsconfig.cjs.json
├── tsconfig.cjs.spec.json
├── tsconfig.esm.json
├── tsconfig.esm5.json
├── tsconfig.esm5.rollup.json
├── tsconfig.types.json
└── webSocket
│ └── index.ts
├── tools
├── add-license-to-file.js
├── custom-esdoc-plugin.js
├── generate-alias.js
├── make-closure-core.js
├── make-closure.js
├── make-umd-bundle.js
├── prepare-package.js
└── rollup-bundle.js
├── tsconfig.json
├── tslint.json
└── wallaby.js
/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | Dockerfile*
4 | docker-compose*
5 | .dockerignore
6 | .git
7 | .gitignore
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | integration/side-effects/snapshots/
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # no eol conversions!
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/documentation.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Documentation
3 | about: Issues around documentation
4 |
5 | ---
6 |
7 | ### Documentation Related To Component:
8 |
9 |
10 |
11 | ### Please check those that apply
12 |
13 | - [ ] typo
14 | - [ ] documentation doesn't exist
15 | - [ ] documentation needs clarification
16 | - [ ] error(s) in example
17 | - [ ] needs example
18 |
19 | ### Description Of The Issue
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/support-question.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Support Question
3 | about: "If you have a question, please check out our StackOverflow! "
4 | ---We primarily use GitHub as an issue tracker; for usage and support questions, please check out these resources below. Thanks!
5 |
6 | ---
7 |
8 | - StackOverflow: https://stackoverflow.com/questions/tagged/rxjs using the tag `rxjs`
9 | - Also have a look at the readme for more information, possibly can have some answers already:
10 |
11 | * https://github.com/ReactiveX/rxjs/blob/master/README.md
12 | * https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md
13 |
--------------------------------------------------------------------------------
/.github/workflows/ci_ts_latest.yml:
--------------------------------------------------------------------------------
1 | name: CI (ts@latest)
2 |
3 | on:
4 | pull_request:
5 | types: ['opened', 'reopened', 'synchronize']
6 |
7 | jobs:
8 | build:
9 |
10 | runs-on: ubuntu-latest
11 | strategy:
12 | matrix:
13 | node: [ '13' ]
14 |
15 | name: ts@latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 | - uses: actions/setup-node@v1
20 | with:
21 | node-version: ${{ matrix.node }}
22 | - name: build
23 | run: |
24 | npm install -g npm@latest
25 | npm ci
26 | npm install --no-save typescript@latest
27 | npm run compile
28 |
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Editor-specific
2 | .idea/
3 | *.iml
4 | *.sublime-project
5 | *.sublime-workspace
6 | .settings
7 | .vscode
8 |
9 | # Installed libs
10 | node_modules/
11 | typings/
12 |
13 | # Generated
14 | dist/
15 | dist-compat/
16 | tmp/
17 | coverage/
18 | img/
19 | spec-js/
20 | spec-build/
21 | .out/
22 | .tmp/
23 |
24 | # Import location artifacts
25 | /ajax/
26 | /fetch/
27 | /operators/
28 | /testing/
29 | /webSocket/
30 |
31 | # Misc
32 | npm-debug.log
33 | .DS_STORE
34 | *.tgz
35 |
36 | # The check-side-effects package generates and deletes this file.
37 | # If the process is killed, it will be left behind.
38 | check-side-effects.tmp-input.js
39 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:lts
2 |
3 | # Create app directory
4 | WORKDIR /rxjs
5 |
6 | COPY . .
7 |
8 | WORKDIR /rxjs/docs_app
9 |
10 | RUN npm run setup
11 |
12 | EXPOSE 4200
13 |
14 | CMD ["npm", "start:docker"]
--------------------------------------------------------------------------------
/docs_app/assets/Rx_Logo_S.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/Rx_Logo_S.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/audit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/audit.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/auditTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/auditTime.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/buffer.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/bufferCount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/bufferCount.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/bufferTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/bufferTime.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/bufferToggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/bufferToggle.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/bufferWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/bufferWhen.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/catch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/catch.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/combineAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/combineAll.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/combineLatest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/combineLatest.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/concat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/concat.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/concatAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/concatAll.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/concatMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/concatMap.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/concatMapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/concatMapTo.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/count.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/count.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/debounce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/debounce.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/debounceTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/debounceTime.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/defaultIfEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/defaultIfEmpty.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/defer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/defer.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/delay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/delay.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/delayWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/delayWhen.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/dematerialize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/dematerialize.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/elementAt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/elementAt.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/empty.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/endWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/endWith.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/every.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/every.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/exhaust.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/exhaust.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/exhaustMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/exhaustMap.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/expand.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/filter.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/find.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/find.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/findIndex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/findIndex.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/first.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/first.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/forkJoin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/forkJoin.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/from.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/from.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/fromEvent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/fromEvent.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/fromEventPattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/fromEventPattern.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/generate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/generate.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/groupBy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/groupBy.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/ignoreElements.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/ignoreElements.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/interval.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/interval.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/isEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/isEmpty.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/last.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/last.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/map.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/mapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/mapTo.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/materialize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/materialize.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/max.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/max.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/merge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/merge.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/mergeAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/mergeAll.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/mergeMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/mergeMap.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/mergeMapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/mergeMapTo.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/min.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/multicast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/multicast.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/never.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/never.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/of.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/of.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/onErrorResumeNext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/onErrorResumeNext.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/pairs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/pairs.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/pairwise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/pairwise.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/partition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/partition.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/pluck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/pluck.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/publish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/publish.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/publishLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/publishLast.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/race.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/race.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/range.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/range.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/reduce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/reduce.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/refCount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/refCount.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/repeat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/repeat.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/repeatWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/repeatWhen.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/retry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/retry.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/retryWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/retryWhen.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/sample.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/sampleTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/sampleTime.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/scan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/scan.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/sequenceEqual.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/sequenceEqual.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/share.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/single.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/single.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/skip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/skip.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/skipLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/skipLast.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/skipUntil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/skipUntil.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/skipWhile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/skipWhile.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/startWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/startWith.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/subscribeOn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/subscribeOn.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/switchAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/switchAll.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/switchMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/switchMap.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/switchMapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/switchMapTo.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/take.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/take.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/takeLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/takeLast.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/takeUntil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/takeUntil.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/takeWhile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/takeWhile.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/tap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/tap.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/throttle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/throttle.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/throttleTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/throttleTime.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/throw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/throw.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/throwIfEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/throwIfEmpty.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/timeinterval.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/timeinterval.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/timeout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/timeout.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/timeoutWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/timeoutWith.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/timer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/timer.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/timestamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/timestamp.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/toArray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/toArray.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/window.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/window.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/windowCount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/windowCount.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/windowTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/windowTime.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/windowToggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/windowToggle.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/windowWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/windowWhen.png
--------------------------------------------------------------------------------
/docs_app/assets/images/marble-diagrams/withLatestFrom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/assets/images/marble-diagrams/withLatestFrom.png
--------------------------------------------------------------------------------
/docs_app/browserslist:
--------------------------------------------------------------------------------
1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2 | # For additional information regarding the format and rule options, please see:
3 | # https://github.com/browserslist/browserslist#queries
4 |
5 | # You can see what browsers were selected by your queries by running:
6 | # npx browserslist
7 |
8 | > 0.5%
9 | last 2 versions
10 | Firefox ESR
11 | not dead
12 | not IE 9-11 # For IE 9-11 support, remove 'not'.
--------------------------------------------------------------------------------
/docs_app/content/file-not-found.md:
--------------------------------------------------------------------------------
1 | @description
2 |
3 |
4 |
5 |
6 |
Page Not Found
7 |
We're sorry. The page you are looking for cannot be found.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/docs_app/content/images/marketing/home/Rx_Logo-512-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/content/images/marketing/home/Rx_Logo-512-512.png
--------------------------------------------------------------------------------
/docs_app/content/marketing/announcements.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "startDate": "2019-12-20",
4 | "endDate": "2020-03-20",
5 | "message": "RxJS Live Conference in London March 19th-20th, 2020",
6 | "imageUrl": "generated/images/marketing/home/rxjs-live-london.svg",
7 | "linkUrl": "https://www.rxjs.live/london"
8 | }
9 | ]
--------------------------------------------------------------------------------
/docs_app/content/marketing/api.html:
--------------------------------------------------------------------------------
1 | API List
2 |
3 |
--------------------------------------------------------------------------------
/docs_app/content/marketing/operator-decision-tree.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs_app/content/marketing/team.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs_app/database.rules.json:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | ".read": "auth != null",
4 | ".write": "auth != null"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/docs_app/scripts/_payload-limits.json:
--------------------------------------------------------------------------------
1 | {
2 | "aio": {
3 | "master": {
4 | "uncompressed": {
5 | "inline": 1971,
6 | "main": 567849,
7 | "polyfills": 40272,
8 | "prettify": 14886
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/docs_app/scripts/payload.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -eu -o pipefail
4 |
5 | readonly thisDir=$(cd $(dirname $0); pwd)
6 | readonly parentDir=$(dirname $thisDir)
7 |
8 | # Track payload size functions
9 | source ../scripts/ci/payload-size.sh
10 |
11 | trackPayloadSize "aio" "dist/*.js" true true "${thisDir}/_payload-limits.json"
12 |
13 |
--------------------------------------------------------------------------------
/docs_app/scripts/publish-docs.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | readonly projectId=rxjs-dev
4 | readonly deployedUrl=https://rxjs-dev.firebaseapp.com
5 | readonly firebaseToken=$FIREBASE_TOKEN
6 |
7 | # Deploy
8 | (
9 | cd "`dirname $0`/.."
10 |
11 | # Build the app
12 | npm run build --env=stable
13 |
14 | # Include any mode-specific files
15 | cp -rf src/extra-files/$deployEnv/. dist/
16 |
17 | # Deploy to Firebase
18 | npm run firebase -- login
19 | npm run firebase -- use "$projectId"
20 | npm run firebase -- deploy --message "Deploy docs automatically" --non-interactive
21 | npm run firebase -- logout
22 | )
23 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/code/code.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { CodeComponent } from './code.component';
4 | import { MatSnackBarModule } from '@angular/material/snack-bar';
5 | import { PrettyPrinter } from './pretty-printer.service';
6 | import { CopierService } from 'app/shared/copier.service';
7 |
8 | @NgModule({
9 | imports: [ CommonModule, MatSnackBarModule ],
10 | declarations: [ CodeComponent ],
11 | entryComponents: [ CodeComponent ],
12 | exports: [ CodeComponent ],
13 | providers: [ PrettyPrinter, CopierService ]
14 | })
15 | export class CodeModule { }
16 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/contributor/contributors.model.ts:
--------------------------------------------------------------------------------
1 | export class ContributorGroup {
2 | name: string;
3 | order: number;
4 | contributors: Contributor[];
5 | }
6 |
7 | export class Contributor {
8 | group: string;
9 | name: string;
10 | picture?: string;
11 | website?: string;
12 | twitter?: string;
13 | github?: string;
14 | bio?: string;
15 | isFlipped? = false;
16 | }
17 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/current-location/current-location.component.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable component-selector */
2 | import { Component } from '@angular/core';
3 | import { LocationService } from 'app/shared/location.service';
4 |
5 | /** Renders the current location path. */
6 | @Component({
7 | selector: 'current-location',
8 | template: '{{ location.currentPath | async }}'
9 | })
10 | export class CurrentLocationComponent {
11 | constructor(public location: LocationService) { }
12 | }
13 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/current-location/current-location.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, Type } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { CurrentLocationComponent } from './current-location.component';
4 | import { WithCustomElementComponent } from '../element-registry';
5 |
6 | @NgModule({
7 | imports: [ CommonModule ],
8 | declarations: [ CurrentLocationComponent ],
9 | entryComponents: [ CurrentLocationComponent ]
10 | })
11 | export class CurrentLocationModule implements WithCustomElementComponent {
12 | customElementComponent: Type = CurrentLocationComponent;
13 | }
14 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/expandable-section/expandable-section.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{title}}
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/expandable-section/expandable-section.component.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable component-selector */
2 | import {Component, Input} from '@angular/core';
3 |
4 | /** Custom element wrapper for the material expansion panel with a title input. */
5 | @Component({
6 | selector: 'aio-expandable-section',
7 | templateUrl: 'expandable-section.component.html',
8 | })
9 | export class ExpandableSectionComponent {
10 | @Input() title;
11 | }
12 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/live-example/live-example.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, Type } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { EmbeddedStackblitzComponent, LiveExampleComponent } from './live-example.component';
4 | import { WithCustomElementComponent } from '../element-registry';
5 |
6 | @NgModule({
7 | imports: [ CommonModule ],
8 | declarations: [ LiveExampleComponent, EmbeddedStackblitzComponent ],
9 | entryComponents: [ LiveExampleComponent ]
10 | })
11 | export class LiveExampleModule implements WithCustomElementComponent {
12 | customElementComponent: Type = LiveExampleComponent;
13 | }
14 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/operator-decision-tree/README.md:
--------------------------------------------------------------------------------
1 | The `operator-decision-tree` module requires `decision-tree-data.json`, which is hosted at `/generated/app`.
2 |
3 | The JSON is generated via the `docs_app/tools/decision-tree-generator`.
4 |
5 | # TODO
6 | - Consider placing the widget on the home page - or a link on the home page, “Decision Tree”
7 | - Manual focus calls when navigating the tree (example: after making a selection, focus on the current sentence)
8 | - Drop jasmine-marbles for just the TestScheduler
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/operator-decision-tree/interfaces.ts:
--------------------------------------------------------------------------------
1 | export interface OperatorTreeNode {
2 | id: string;
3 | label?: string;
4 | options?: string[];
5 | path?: string;
6 | docType?: string;
7 | method?: string;
8 | }
9 |
10 | export interface OperatorTreeNodeWithOptions extends OperatorTreeNode {
11 | options: string[];
12 | }
13 |
14 | export interface OperatorDecisionTree {
15 | [key: string]: OperatorTreeNode;
16 | initial: Required>;
17 | error?: any;
18 | }
19 |
20 | export interface State {
21 | previousBranchIds: string[];
22 | currentBranchId: string;
23 | }
24 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/operator-decision-tree/operator-decision-tree-data.service.ts:
--------------------------------------------------------------------------------
1 | import { HttpClient } from '@angular/common/http';
2 | import { Injectable } from '@angular/core';
3 | import { Observable } from 'rxjs';
4 | import { OperatorDecisionTree } from './interfaces';
5 |
6 | @Injectable()
7 | export class OperatorDecisionTreeDataService {
8 | constructor(private http: HttpClient) {}
9 |
10 | getDecisionTree$(): Observable {
11 | return this.http.get(
12 | '/generated/docs/app/decision-tree-data.json'
13 | );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/operator-decision-tree/operator-decision-tree.module.spec.ts:
--------------------------------------------------------------------------------
1 | import { OperatorDecisionTreeModule } from './operator-decision-tree.module';
2 |
3 | describe('OperatorDecisionTreeModule', () => {
4 | let chooseYourOwnOperatorModule: OperatorDecisionTreeModule;
5 |
6 | beforeEach(() => {
7 | chooseYourOwnOperatorModule = new OperatorDecisionTreeModule();
8 | });
9 |
10 | it('should create an instance', () => {
11 | expect(chooseYourOwnOperatorModule).toBeTruthy();
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/operator-decision-tree/utils.ts:
--------------------------------------------------------------------------------
1 | import { OperatorTreeNodeWithOptions } from './interfaces';
2 |
3 | export function isInitialDecision(previousBranchIds: string[]): boolean {
4 | return (
5 | previousBranchIds.includes('initial') && previousBranchIds.length === 1
6 | );
7 | }
8 |
9 | export function treeIsErrorFree(tree): boolean {
10 | return !tree.error;
11 | }
12 |
13 | export function nodeHasOptions(node): node is OperatorTreeNodeWithOptions {
14 | return !!node.options;
15 | }
16 |
--------------------------------------------------------------------------------
/docs_app/src/app/custom-elements/toc/toc.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, Type } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { MatIconModule } from '@angular/material/icon';
4 | import { WithCustomElementComponent } from '../element-registry';
5 | import { TocComponent } from './toc.component';
6 |
7 | @NgModule({
8 | imports: [ CommonModule, MatIconModule ],
9 | declarations: [ TocComponent ],
10 | entryComponents: [ TocComponent ],
11 | })
12 | export class TocModule implements WithCustomElementComponent {
13 | customElementComponent: Type = TocComponent;
14 | }
15 |
--------------------------------------------------------------------------------
/docs_app/src/app/documents/document-contents.ts:
--------------------------------------------------------------------------------
1 | export interface DocumentContents {
2 | /** The unique identifier for this document */
3 | id: string;
4 | /** The HTML to display in the doc viewer */
5 | contents: string|null;
6 | }
7 |
--------------------------------------------------------------------------------
/docs_app/src/app/layout/footer/footer.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Code licensed under an Apache-2.0 License .
4 | Documentation licensed under
5 | CC BY 4.0 .
6 |
7 |
8 | Version {{versionInfo?.full}}.
9 |
10 |
11 |
--------------------------------------------------------------------------------
/docs_app/src/app/layout/footer/footer.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 |
3 | import { NavigationNode, VersionInfo } from 'app/navigation/navigation.service';
4 |
5 | @Component({
6 | selector: 'aio-footer',
7 | templateUrl: 'footer.component.html'
8 | })
9 | export class FooterComponent {
10 | @Input() nodes: NavigationNode[];
11 | @Input() versionInfo: VersionInfo;
12 | }
13 |
--------------------------------------------------------------------------------
/docs_app/src/app/layout/mode-banner/mode-banner.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { VersionInfo } from 'app/navigation/navigation.service';
3 |
4 | @Component({
5 | selector: 'aio-mode-banner',
6 | template: `
7 |
8 | This is the
archived documentation for Angular v{{version?.major}}.
9 | Please visit
angular.io to see documentation for the current version of Angular.
10 |
11 | `
12 | })
13 | export class ModeBannerComponent {
14 | @Input() mode: string;
15 | @Input() version: VersionInfo;
16 | }
17 |
--------------------------------------------------------------------------------
/docs_app/src/app/layout/nav-menu/nav-menu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { CurrentNode, NavigationNode } from 'app/navigation/navigation.service';
3 |
4 | @Component({
5 | selector: 'aio-nav-menu',
6 | template: `
7 |
8 | `
9 | })
10 | export class NavMenuComponent {
11 | @Input() currentNode: CurrentNode;
12 | @Input() isWide = false;
13 | @Input() nodes: NavigationNode[];
14 | get filteredNodes() { return this.nodes ? this.nodes.filter(n => !n.hidden) : []; }
15 | }
16 |
--------------------------------------------------------------------------------
/docs_app/src/app/layout/notification/notification.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/docs_app/src/app/layout/top-menu/top-menu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { NavigationNode } from 'app/navigation/navigation.service';
3 |
4 | @Component({
5 | selector: 'aio-top-menu',
6 | template: `
7 | `
10 | })
11 | export class TopMenuComponent {
12 | @Input() nodes: NavigationNode[];
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/docs_app/src/app/search/interfaces.ts:
--------------------------------------------------------------------------------
1 | export interface SearchResults {
2 | query: string;
3 | results: SearchResult[];
4 | }
5 |
6 | export interface SearchResult {
7 | path: string;
8 | title: string;
9 | type: string;
10 | titleWords: string;
11 | keywords: string;
12 | }
13 |
14 | export interface SearchArea {
15 | name: string;
16 | pages: SearchResult[];
17 | priorityPages: SearchResult[];
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/docs_app/src/app/shared/current-date.ts:
--------------------------------------------------------------------------------
1 | import { InjectionToken } from '@angular/core';
2 |
3 | export const CurrentDateToken = new InjectionToken('CurrentDate');
4 | export function currentDateProvider() { return new Date(); }
5 |
--------------------------------------------------------------------------------
/docs_app/src/app/shared/deployment.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { LocationService } from 'app/shared/location.service';
3 | import { environment } from 'environments/environment';
4 |
5 | /**
6 | * Information about the deployment of this application.
7 | */
8 | @Injectable()
9 | export class Deployment {
10 | /**
11 | * The deployment mode set from the environment provided at build time;
12 | * or overridden by the `mode` query parameter: e.g. `...?mode=archive`
13 | */
14 | mode: string = this.location.search()['mode'] || environment.mode;
15 |
16 | constructor(private location: LocationService) {}
17 | };
18 |
--------------------------------------------------------------------------------
/docs_app/src/app/shared/logger.service.ts:
--------------------------------------------------------------------------------
1 | import { ErrorHandler, Injectable } from '@angular/core';
2 | import { environment } from '../../environments/environment';
3 |
4 |
5 | @Injectable()
6 | export class Logger {
7 |
8 | constructor(private errorHandler: ErrorHandler) {}
9 |
10 | log(value: any, ...rest: any[]) {
11 | if (!environment.production) {
12 | console.log(value, ...rest);
13 | }
14 | }
15 |
16 | error(error: Error) {
17 | this.errorHandler.handleError(error);
18 | }
19 |
20 | warn(value: any, ...rest: any[]) {
21 | console.warn(value, ...rest);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/docs_app/src/app/shared/shared.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { SearchResultsComponent } from './search-results/search-results.component';
4 | import { SelectComponent } from './select/select.component';
5 |
6 | @NgModule({
7 | imports: [
8 | CommonModule
9 | ],
10 | exports: [
11 | SearchResultsComponent,
12 | SelectComponent
13 | ],
14 | declarations: [
15 | SearchResultsComponent,
16 | SelectComponent
17 | ]
18 | })
19 | export class SharedModule {}
20 |
--------------------------------------------------------------------------------
/docs_app/src/app/shared/window.ts:
--------------------------------------------------------------------------------
1 | import { InjectionToken } from '@angular/core';
2 |
3 | export const WindowToken = new InjectionToken('Window');
4 | export function windowProvider() { return window; }
5 |
--------------------------------------------------------------------------------
/docs_app/src/app/sw-updates/sw-updates.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 |
3 | import { SwUpdatesService } from './sw-updates.service';
4 |
5 |
6 | @NgModule({
7 | providers: [
8 | SwUpdatesService
9 | ]
10 | })
11 | export class SwUpdatesModule {}
12 |
--------------------------------------------------------------------------------
/docs_app/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/.gitkeep
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/apple-touch-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/apple-touch-icon-144x144.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-128x128.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-144x144.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-152x152.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-192x192.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-384x384.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-512x512.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-72x72.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon-96x96.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/favicons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/favicons/favicon.ico
--------------------------------------------------------------------------------
/docs_app/src/assets/images/logos/Rx_Logo_S.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/logos/Rx_Logo_S.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/logos/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/logos/logo.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/NEVER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/NEVER.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/audit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/audit.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/auditTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/auditTime.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/buffer.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/bufferCount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/bufferCount.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/bufferTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/bufferTime.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/bufferToggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/bufferToggle.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/bufferWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/bufferWhen.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/catch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/catch.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/combineAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/combineAll.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/combineLatest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/combineLatest.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/concat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/concat.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/concatAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/concatAll.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/concatMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/concatMap.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/concatMapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/concatMapTo.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/count.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/count.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/create.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/debounce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/debounce.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/debounceTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/debounceTime.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/defaultIfEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/defaultIfEmpty.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/defer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/defer.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/delay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/delay.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/delayWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/delayWhen.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/dematerialize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/dematerialize.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/distinctUntilChanged.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/distinctUntilChanged.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/distinctUntilKeyChanged.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/distinctUntilKeyChanged.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/elementAt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/elementAt.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/empty.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/endWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/endWith.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/every.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/every.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/exhaust.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/exhaust.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/exhaustMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/exhaustMap.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/expand.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/filter.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/find.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/find.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/findIndex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/findIndex.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/first.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/first.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/forkJoin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/forkJoin.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/from.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/from.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/fromEvent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/fromEvent.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/fromEventPattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/fromEventPattern.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/generate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/generate.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/groupBy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/groupBy.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/ignoreElements.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/ignoreElements.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/interval.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/interval.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/isEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/isEmpty.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/last.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/last.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/map.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/mapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/mapTo.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/materialize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/materialize.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/max.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/max.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/merge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/merge.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/mergeAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/mergeAll.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/mergeMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/mergeMap.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/mergeMapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/mergeMapTo.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/min.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/multicast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/multicast.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/observeOn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/observeOn.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/of.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/of.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/onErrorResumeNext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/onErrorResumeNext.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/pairs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/pairs.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/pairwise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/pairwise.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/partition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/partition.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/pluck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/pluck.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/publish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/publish.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/publishBehavior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/publishBehavior.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/publishLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/publishLast.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/publishReplay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/publishReplay.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/race.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/race.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/range.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/range.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/reduce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/reduce.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/refCount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/refCount.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/repeat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/repeat.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/repeatWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/repeatWhen.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/retry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/retry.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/retryWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/retryWhen.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/sample.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/sampleTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/sampleTime.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/scan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/scan.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/sequenceEqual.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/sequenceEqual.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/share.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/single.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/single.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/skip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/skip.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/skipLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/skipLast.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/skipUntil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/skipUntil.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/skipWhile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/skipWhile.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/startWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/startWith.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/subscribeOn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/subscribeOn.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/switchAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/switchAll.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/switchMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/switchMap.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/switchMapTo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/switchMapTo.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/take.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/take.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/takeLast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/takeLast.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/takeUntil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/takeUntil.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/takeWhile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/takeWhile.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/tap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/tap.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/throttle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/throttle.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/throttleTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/throttleTime.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/throw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/throw.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/throwIfEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/throwIfEmpty.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/timeInterval.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/timeInterval.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/timeout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/timeout.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/timeoutWith.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/timeoutWith.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/timer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/timer.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/timestamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/timestamp.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/toArray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/toArray.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/window.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/window.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/windowCount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/windowCount.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/windowTime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/windowTime.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/windowToggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/windowToggle.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/windowWhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/windowWhen.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/withLatestFrom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/withLatestFrom.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/marble-diagrams/zipAll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/marble-diagrams/zipAll.png
--------------------------------------------------------------------------------
/docs_app/src/assets/images/support/rxjs-404.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/react-native-community/rxjs/d03dcd0ec736408b80d2ca68b0446f5de3472185/docs_app/src/assets/images/support/rxjs-404.png
--------------------------------------------------------------------------------
/docs_app/src/assets/js/devtools-welcome.js:
--------------------------------------------------------------------------------
1 | var welcomeText = (
2 | ' ____ _ ____ \n' +
3 | '| _ \\ __ __ | / ___| \n' +
4 | '| |_) |\\ \\/ / | \\___ \\ \n' +
5 | '| _ < > < |_| |___) | \n' +
6 | '|_| \\_\\/_/\\_\\___/|____/ \n' +
7 | '\nstarted experimenting with RxJS:\n' +
8 | '\ntype this into the console:\n' +
9 | '\nrxjs.interval(500).pipe(rxjs.operators.take(4)).subscribe(console.log)\n'
10 | );
11 | if (console.info) {
12 | console.info(welcomeText);
13 | } else {
14 | console.log(welcomeText);
15 | }
16 |
--------------------------------------------------------------------------------
/docs_app/src/environments/environment.archive.ts:
--------------------------------------------------------------------------------
1 | // This is for archived sites, which are hosted at https://vX.angular.io, where X is the major Angular version.
2 | export const environment = {
3 | gaId: 'UA-36380079-2', // Production id (since it is linked from the main site)
4 | production: true,
5 | mode: 'archive'
6 | };
7 |
--------------------------------------------------------------------------------
/docs_app/src/environments/environment.next.ts:
--------------------------------------------------------------------------------
1 | // This is for the staging site, which is hosted at https://next.angular.io (and https://aio-staging.firebaseapp.org)
2 | export const environment = {
3 | gaId: 'UA-36380079-2', // Production id (since it is linked from the main site)
4 | production: true,
5 | mode: 'next'
6 | };
7 |
--------------------------------------------------------------------------------
/docs_app/src/environments/environment.stable.ts:
--------------------------------------------------------------------------------
1 | // This is for the production site, which is hosted at https://angular.io
2 | export const environment = {
3 | gaId: 'UA-36380079-2', // Production id
4 | production: true,
5 | mode: 'stable'
6 | };
7 |
--------------------------------------------------------------------------------
/docs_app/src/extra-files/README.md:
--------------------------------------------------------------------------------
1 | # Extra files folder
2 |
3 | This folder is used for extra files that should be included in deployments to firebase.
4 |
5 | After the AIO application had been built and before it is deployed all files and folders
6 | inside the folder with the same name as the current deployment mode (next, stable, archive)
7 | will be copied to the `dist` folder.
8 |
9 | See the `scripts/deploy-to-firebase.sh` script for more detail.
10 |
11 | **Note:**
12 | The `deploy-to-firebase.sh` script always expects there to be a folder for the current deployment
13 | mode (even if it is empty).
14 |
--------------------------------------------------------------------------------
/docs_app/src/extra-files/archive/robots.txt:
--------------------------------------------------------------------------------
1 | # Disallow all URLs (see http://www.robotstxt.org/robotstxt.html)
2 | User-agent: *
3 | Disallow: /
4 |
--------------------------------------------------------------------------------
/docs_app/src/extra-files/next/robots.txt:
--------------------------------------------------------------------------------
1 | # Disallow all URLs (see http://www.robotstxt.org/robotstxt.html)
2 | User-agent: *
3 | Disallow: /
4 |
--------------------------------------------------------------------------------
/docs_app/src/extra-files/stable/robots.txt:
--------------------------------------------------------------------------------
1 | # Allow all URLs (see http://www.robotstxt.org/robotstxt.html)
2 | User-agent: *
3 | Disallow:
4 | Sitemap: https://angular.io/generated/sitemap.xml
5 |
--------------------------------------------------------------------------------
/docs_app/src/google385281288605d160.html:
--------------------------------------------------------------------------------
1 | google-site-verification: google385281288605d160.html
--------------------------------------------------------------------------------
/docs_app/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule);
12 |
--------------------------------------------------------------------------------
/docs_app/src/styles.scss:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 | @import './styles/rxjs-theme';
3 | @import './styles/main.scss';
4 |
--------------------------------------------------------------------------------
/docs_app/src/styles/0-base/_base-dir.scss:
--------------------------------------------------------------------------------
1 | /* ==============================
2 | BASE STYLES
3 | ============================== */
4 |
5 | @import 'typography';
--------------------------------------------------------------------------------
/docs_app/src/styles/1-layouts/_doc-viewer.scss:
--------------------------------------------------------------------------------
1 | .no-animations aio-doc-viewer > * {
2 | // Disable view transition animations.
3 | transition: none !important;
4 | }
5 |
--------------------------------------------------------------------------------
/docs_app/src/styles/1-layouts/_layouts-dir.scss:
--------------------------------------------------------------------------------
1 | /* ==============================
2 | LAYOUT STYLES
3 | ============================== */
4 |
5 | @import 'api-page';
6 | @import 'content-layout';
7 | @import 'doc-viewer';
8 | @import 'footer';
9 | @import 'layout-global';
10 | @import 'marketing-layout';
11 | @import 'not-found';
12 | @import 'sidenav';
13 | @import 'table-of-contents';
14 | @import 'top-menu';
15 | @import 'print-layout';
--------------------------------------------------------------------------------
/docs_app/src/styles/1-layouts/_not-found.scss:
--------------------------------------------------------------------------------
1 | #file-not-found {
2 | padding: 3rem 3rem 3rem;
3 | }
4 |
5 | .nf-container {
6 | align-items: center;
7 | padding: 32px;
8 | }
9 |
10 | .nf-response {
11 | margin: 32px;
12 | height: 100%;
13 | flex-direction: column;
14 |
15 | h1 {
16 | font-size: 48px;
17 | color: $pink;
18 | text-transform: uppercase;
19 | margin: 8px 0;
20 | }
21 | }
22 |
23 | .nf-icon.material-icons {
24 | color: $pink;
25 | font-size: 100px;
26 | position: static;
27 | }
28 |
--------------------------------------------------------------------------------
/docs_app/src/styles/1-layouts/_table-of-contents.scss:
--------------------------------------------------------------------------------
1 | nav#main-table-of-contents {
2 | width: 200px;
3 | height: 900px;
4 | position: fixed;
5 | right: 0;
6 | top: 50px;
7 | bottom: 100px;
8 | margin-left: 32px;
9 | background-color: $pink;
10 | }
--------------------------------------------------------------------------------
/docs_app/src/styles/2-modules/_contribute.scss:
--------------------------------------------------------------------------------
1 | .contribute-container {
2 | h2 {
3 | margin: 0;
4 | }
5 |
6 | .l-sub-section {
7 | width: 90%;
8 | margin-bottom: 20px;
9 |
10 | &:last-child {
11 | margin-bottom: 0;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/docs_app/src/styles/2-modules/_edit-page-cta.scss:
--------------------------------------------------------------------------------
1 | .edit-page-cta {
2 | font-weight: 400;
3 | font-size: 14px;
4 | color: $pink;
5 | text-align: right;
6 | margin-right: 32px;
7 | display: block;
8 | position: absolute;
9 | right: 0;
10 | }
--------------------------------------------------------------------------------
/docs_app/src/styles/2-modules/_heading-anchors.scss:
--------------------------------------------------------------------------------
1 | .sidenav-content {
2 | h1, h2, h3, h4, h5, h6 {
3 |
4 | .header-link {
5 | color: $mediumgray;
6 | margin: 0 4px;
7 | text-decoration: none;
8 | user-select: none;
9 | visibility: hidden;
10 | display: inline-block;
11 | vertical-align: text-top;
12 | }
13 |
14 | &:hover .header-link {
15 | visibility: visible;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/docs_app/src/styles/2-modules/_hr.scss:
--------------------------------------------------------------------------------
1 | hr {
2 | border: none;
3 | background: $lightgray;
4 | height: 1px;
5 | }
6 |
7 | .hr-margin {
8 | display: block;
9 | height: 1px;
10 | border: 0;
11 | margin-top: 16px;
12 | margin-bottom: 16px;
13 | padding: 0;
14 | }
--------------------------------------------------------------------------------
/docs_app/src/styles/2-modules/_progress-bar.scss:
--------------------------------------------------------------------------------
1 | .progress-bar-container {
2 | height: 2px;
3 | overflow: hidden;
4 | position: fixed;
5 | top: 0;
6 | width: 100vw;
7 | z-index: 11;
8 | }
9 |
--------------------------------------------------------------------------------
/docs_app/src/styles/2-modules/_subsection.scss:
--------------------------------------------------------------------------------
1 | .l-sub-section {
2 | color: $darkgray;
3 | background-color: rgba($pink, 0.05);
4 | border-left: 8px solid $pink;
5 | padding: 16px;
6 | margin-bottom: 8px;
7 | display: table;
8 | clear: both;
9 | width: 100%;
10 | box-sizing: border-box;
11 |
12 | h3 {
13 | margin: 8px 0 0;
14 | }
15 |
16 | a:hover {
17 | color: $pink;
18 | text-decoration: underline;
19 | }
20 | }
--------------------------------------------------------------------------------
/docs_app/src/styles/main.scss:
--------------------------------------------------------------------------------
1 | // import global themes
2 | @import '~@angular/material/theming';
3 | @import './rxjs-theme';
4 |
5 | // import global variables
6 | @import './constants';
7 |
8 | // import global mixins
9 | @import './mixins';
10 |
11 | // import directories
12 | @import './0-base/base-dir';
13 | @import './1-layouts/layouts-dir';
14 | @import './2-modules/modules-dir';
15 |
--------------------------------------------------------------------------------
/docs_app/src/testing/logger.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 |
3 | @Injectable()
4 | export class MockLogger {
5 |
6 | output: { log: any[], error: any[], warn: any[] } = {
7 | log: [],
8 | error: [],
9 | warn: []
10 | };
11 |
12 | log(value: any, ...rest: any[]) {
13 | this.output.log.push([value, ...rest]);
14 | }
15 |
16 | error(value: any, ...rest: any[]) {
17 | this.output.error.push([value, ...rest]);
18 | }
19 |
20 | warn(value: any, ...rest: any[]) {
21 | this.output.warn.push([value, ...rest]);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/docs_app/src/testing/search.service.ts:
--------------------------------------------------------------------------------
1 | import { Subject } from 'rxjs';
2 | import { SearchResults } from 'app/search/interfaces';
3 |
4 | export class MockSearchService {
5 | searchResults = new Subject();
6 | initWorker = jasmine.createSpy('initWorker');
7 | loadIndex = jasmine.createSpy('loadIndex');
8 | search = jasmine.createSpy('search');
9 | }
10 |
--------------------------------------------------------------------------------
/docs_app/src/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/app",
5 | "baseUrl": "",
6 | "types": [],
7 | "importHelpers": true
8 | },
9 | "exclude": [
10 | "testing/**/*",
11 | "test.ts",
12 | "test-specs.ts",
13 | "**/*.spec.ts"
14 | ],
15 | "angularCompilerOptions": {
16 | "preserveWhitespaces": false
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/docs_app/src/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/spec",
5 | "types": [
6 | "jasmine",
7 | "node"
8 | ]
9 | },
10 | "files": [
11 | "test.ts",
12 | "polyfills.ts"
13 | ],
14 | "include": [
15 | "testing/**/*.ts",
16 | "**/*.spec.ts",
17 | "**/*.d.ts"
18 | ]
19 | }
--------------------------------------------------------------------------------
/docs_app/src/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tslint.json",
3 | "rules": {
4 | "directive-selector": [
5 | true,
6 | "attribute",
7 | "aio",
8 | "camelCase"
9 | ],
10 | "component-selector": [
11 | true,
12 | "element",
13 | "aio",
14 | "kebab-case"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/docs_app/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | /* SystemJS module definition */
2 | declare var module: NodeModule;
3 | interface NodeModule {
4 | id: string;
5 | }
6 |
--------------------------------------------------------------------------------
/docs_app/tests/e2e/tsconfig.e2e.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../../out-tsc/e2e",
5 | "baseUrl": "./",
6 | "module": "commonjs",
7 | "target": "es5",
8 | "types": [
9 | "jasmine",
10 | "jasminewd2",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | roots: ['/src'],
3 | transform: {
4 | '^.+\\.tsx?$': 'ts-jest',
5 | },
6 | testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
7 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
8 | };
9 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/src/lib/build.spec.ts:
--------------------------------------------------------------------------------
1 | import { build } from './build';
2 | import { mockFlatApiList, mockRawTreeNodes } from './fixtures';
3 | import { treeNodeCount } from './helpers';
4 |
5 | describe('build', () => {
6 | const tree = build(mockFlatApiList, mockRawTreeNodes);
7 | it('should return a flat map of all nodes and one additional initial node', () => {
8 | expect(tree).toHaveProperty('initial');
9 | expect(Object.keys(tree).length).toBe(treeNodeCount(mockRawTreeNodes) + 1);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/src/lib/extractInitialSequence.ts:
--------------------------------------------------------------------------------
1 | import { TreeNode } from './interfaces';
2 |
3 | /**
4 | * Strip out initial sequence and add to tree
5 | *
6 | * @export
7 | * @param {Tree} tree
8 | * @returns {{id: string, options: string[]}}
9 | */
10 | export function extractInitialSequence(tree: TreeNode[]): {id: string, options: string[]} {
11 | return {
12 | id: 'initial',
13 | options: tree.filter(node => !node.depth).map(node => node.id)
14 | };
15 | }
16 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/src/lib/generateUniqueId.spec.ts:
--------------------------------------------------------------------------------
1 | import { generateUniqueId } from './generateUniqueId';
2 |
3 | describe('generateUniqueId', () => {
4 | describe('when called', () => {
5 | it('will generate a unique string', () => {
6 | const x = generateUniqueId();
7 | expect(x).not.toBe(generateUniqueId());
8 | expect(typeof x).toBe('string');
9 | });
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/src/lib/generateUniqueId.ts:
--------------------------------------------------------------------------------
1 | import { randomBytes } from 'crypto';
2 |
3 | /**
4 | * Generates a unique ID for the decision tree nodes
5 | *
6 | * @export
7 | * @requires crypto:randomByes
8 | * @returns {string}
9 | */
10 | export function generateUniqueId(): string {
11 | return randomBytes(2).toString('hex');
12 | }
13 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/src/lib/helpers.spec.ts:
--------------------------------------------------------------------------------
1 | import { isStable } from './helpers';
2 |
3 | describe('isStable', () => {
4 | describe('when passed anything but the string "deprecated"', () => {
5 | it('will return true', () => {
6 | expect(isStable('')).toBeTruthy();
7 | });
8 | });
9 | describe('when passed the string "deprecated"', () => {
10 | it('will return false', () => {
11 | expect(isStable('deprecated')).toBeFalsy();
12 | });
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/src/lib/index.ts:
--------------------------------------------------------------------------------
1 | export * from './addUniqueId';
2 | export * from './build';
3 | export * from './extractInitialSequence';
4 | export * from './flattenApiList';
5 | export * from './generateUniqueId';
6 | export * from './interfaces';
7 | export * from './decisionTreeReducer';
8 |
--------------------------------------------------------------------------------
/docs_app/tools/decision-tree-generator/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs"
4 | }
5 | }
--------------------------------------------------------------------------------
/docs_app/tools/stackblitz/rxjs.version.js:
--------------------------------------------------------------------------------
1 | // Exposes the current RxJS version number from the library's package.json
2 | // for usage in TypeScript files.
3 | // (Since said package.json is outside of this TypeScript project, it's not
4 | // available for a direct TypeScript import).
5 |
6 | module.exports = require('../../../package.json').version;
7 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/.eslintignore:
--------------------------------------------------------------------------------
1 | **/*.template.js
2 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'env': {
3 | 'es6': true,
4 | 'jasmine': true,
5 | 'node': true
6 | },
7 | 'extends': [
8 | 'eslint:recommended',
9 | 'plugin:jasmine/recommended'
10 | ],
11 | 'plugins': [
12 | 'jasmine'
13 | ],
14 | 'rules': {
15 | 'indent': ['error', 2],
16 | 'linebreak-style': ['error', 'unix'],
17 | 'quotes': ['error', 'single'],
18 | 'semi': ['error', 'always'],
19 | 'jasmine/new-line-before-expect': 0
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/mocks/aliasedExports.ts:
--------------------------------------------------------------------------------
1 | export * from './operator';
2 | export { operator as aliasedOperator } from './operator';
3 | export { operator } from './operator';
4 | export { anotherOperator as operatorWithoutDuplicate } from './anotherOperator';
5 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/mocks/anotherOperator.ts:
--------------------------------------------------------------------------------
1 | export const anotherOperator = () => {};
2 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/mocks/importedSrc.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright Google Inc. All Rights Reserved.
4 | *
5 | * Use of this source code is governed by an MIT-style license that can be
6 | * found in the LICENSE file at https://angular.io/license
7 | */
8 |
9 | export const x = 100;
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/mocks/operator.ts:
--------------------------------------------------------------------------------
1 | export const operator = () => {};
2 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/processors/computeSearchTitle.js:
--------------------------------------------------------------------------------
1 | module.exports = function computeSearchTitleProcessor() {
2 | return {
3 | $runAfter: ['ids-computed'],
4 | $runBefore: ['generateKeywordsProcessor'],
5 | $process(docs) {
6 | docs.forEach(doc => {
7 | switch(doc.docType) {
8 | case 'function':
9 | doc.searchTitle = `${doc.name}()`;
10 | break;
11 | case 'module':
12 | doc.searchTitle = `${doc.id} package`;
13 | break;
14 | }
15 | });
16 | }
17 | };
18 | };
19 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/processors/convertPrivateClassesToInterfaces.js:
--------------------------------------------------------------------------------
1 | module.exports = function convertPrivateClassesToInterfacesProcessor(
2 | convertPrivateClassesToInterfaces) {
3 | return {
4 | $runAfter: ['processing-docs'],
5 | $runBefore: ['docs-processed'],
6 | $process: function(docs) {
7 | convertPrivateClassesToInterfaces(docs, false);
8 | return docs;
9 | }
10 | };
11 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/processors/filterPrivateDocs.js:
--------------------------------------------------------------------------------
1 | module.exports = function filterPrivateDocs() {
2 | return {
3 | $runAfter: ['extra-docs-added'],
4 | $runBefore: ['computing-paths'],
5 | $process: function(docs) {
6 | return docs.filter(function(doc) { return doc.privateExport !== true; });
7 | }
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/processors/markBarredODocsAsPrivate.js:
--------------------------------------------------------------------------------
1 | module.exports = function markBarredODocsAsPrivate() {
2 | return {
3 | $runAfter: ['readTypeScriptModules'],
4 | $runBefore: ['adding-extra-docs'],
5 | $process: function(docs) {
6 | docs.forEach(doc => {
7 | if (doc.name && doc.name.indexOf('ɵ') === 0) {
8 | doc.privateExport = true;
9 | }
10 | });
11 | }
12 | };
13 | };
14 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/Annotation.js:
--------------------------------------------------------------------------------
1 | // A ts2dart compiler annotation that can be ignored in API docs.
2 | module.exports = function() {
3 | return {name: 'Annotation', ignore: true};
4 | };
5 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/deprecated.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'deprecated'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/docsNotRequired.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'docsNotRequired'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/experimental.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'experimental'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/howToUse.js:
--------------------------------------------------------------------------------
1 | module.exports = function(log, createDocMessage) {
2 | return {
3 | name: 'howToUse',
4 | deprecated: true,
5 | transforms(doc, tag, value) {
6 | log.warn(createDocMessage('Deprecated `@howToUse` tag found', doc));
7 | log.warn('PLEASE FIX by renaming to `@usageNotes.');
8 | return value;
9 | }
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/internal.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Use this tag to ensure that dgeni does not include this code item
3 | * in the rendered docs.
4 | *
5 | * The `@internal` tag indicates to the compiler not to include the
6 | * item in the public typings file.
7 | * Use the `@nodoc` alias if you only want to hide the item from the
8 | * docs but not from the typings file.
9 | */
10 | module.exports = function() {
11 | return {
12 | name: 'internal',
13 | aliases: ['nodoc'],
14 | transforms: function() { return true; }
15 | };
16 | };
17 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/ngModule.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'ngModule'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/no-description.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'noDescription', transforms: function() { return true; }};
3 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/security.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'security'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/stable.js:
--------------------------------------------------------------------------------
1 | module.exports = function(log, createDocMessage) {
2 | return {
3 | name: 'stable',
4 | deprecated: true,
5 | transforms(doc, tag, value) {
6 | log.warn(createDocMessage('Deprecated `@stable` tag found', doc));
7 | log.warn('PLEASE REMOVE - its value is now computed.');
8 | return value;
9 | }
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/suppress.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'suppress'};
3 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/syntax.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'syntax'};
3 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/throws.js:
--------------------------------------------------------------------------------
1 | module.exports = function(extractTypeTransform, wholeTagTransform) {
2 | return {
3 | name: 'throws',
4 | aliases: ['exception'],
5 | multi: true,
6 | transforms: [ extractTypeTransform, wholeTagTransform ]
7 | };
8 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/ts2dart_const.js:
--------------------------------------------------------------------------------
1 | // A ts2dart compiler annotation that can be ignored in API docs.
2 | module.exports = function() {
3 | return {name: 'ts2dart_const', ignore: true};
4 | };
5 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/usageNotes.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {
3 | name: 'usageNotes'
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-api-package/tag-defs/whatItDoes.js:
--------------------------------------------------------------------------------
1 | module.exports = function(log, createDocMessage) {
2 | return {
3 | name: 'whatItDoes',
4 | deprecated: true,
5 | transforms(doc, tag, value) {
6 | log.warn(createDocMessage('Deprecated `@whatItDoes` tag found', doc));
7 | log.warn('PLEASE FIX by adding the content of this tag as the first paragraph of the `@description` tag.');
8 | return value;
9 | }
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/processors/copyContentAssets.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = function copyContentAssetsProcessor(copyFolder) {
3 | return {
4 | $runBefore: ['postProcessHtml'],
5 | assetMappings: [],
6 | $process() {
7 | this.assetMappings.forEach(map => {
8 | copyFolder(map.from, map.to);
9 | });
10 | }
11 | };
12 | };
13 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/readers/json.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Read in JSON files
3 | */
4 | module.exports = function jsonFileReader() {
5 | return {
6 | name: 'jsonFileReader',
7 | getDocs: function(fileInfo) {
8 |
9 | // We return a single element array because content files only contain one document
10 | return [{
11 | docType: fileInfo.baseName + '-json',
12 | data: JSON.parse(fileInfo.content),
13 | template: 'json-doc.template.json',
14 | id: fileInfo.baseName,
15 | aliases: [fileInfo.baseName, fileInfo.relativePath]
16 | }];
17 | }
18 | };
19 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/rendering/filterByPropertyValue.js:
--------------------------------------------------------------------------------
1 | module.exports = function filterBy() {
2 | return {
3 | name: 'filterByPropertyValue',
4 | process: function(list, property, value) {
5 | if (!list) return list;
6 | return list.filter(item => item[property] === value);
7 | }
8 | };
9 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/rendering/toId.js:
--------------------------------------------------------------------------------
1 | module.exports = function toId() {
2 | return {
3 | name: 'toId',
4 | process: function(str) { return str.replace(/[^(a-z)(A-Z)(0-9)._-]/g, '-'); }
5 | };
6 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/rendering/toId.spec.js:
--------------------------------------------------------------------------------
1 | var factory = require('./toId');
2 |
3 | describe('toId filter', function() {
4 | var filter;
5 |
6 | beforeEach(function() { filter = factory(); });
7 |
8 | it('should be called "toId"', function() { expect(filter.name).toEqual('toId'); });
9 |
10 | it('should convert a string to make it appropriate for use as an HTML id', function() {
11 | expect(filter.process('This is a big string with €bad#characaters¢\nAnd even NewLines'))
12 | .toEqual('This-is-a-big-string-with--bad-characaters--And-even-NewLines');
13 | });
14 | });
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/rendering/trimBlankLines.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {
3 | name: 'trimBlankLines',
4 | process: function(str) {
5 | var lines = str.split(/\r?\n/);
6 | while (lines.length && (lines[0].trim() === '')) {
7 | lines.shift();
8 | }
9 | while (lines.length && (lines[lines.length - 1].trim() === '')) {
10 | lines.pop();
11 | }
12 | return lines.join('\n');
13 | }
14 | };
15 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/rendering/trimBlankLines.spec.js:
--------------------------------------------------------------------------------
1 | var factory = require('./trimBlankLines');
2 |
3 | describe('trimBlankLines filter', function() {
4 | var filter;
5 |
6 | beforeEach(function() { filter = factory(); });
7 |
8 | it('should be called "trimBlankLines"',
9 | function() { expect(filter.name).toEqual('trimBlankLines'); });
10 |
11 | it('should remove empty lines from the start and end of the string', function() {
12 | expect(filter.process('\n \n\nsome text\n \nmore text\n \n'))
13 | .toEqual('some text\n \nmore text');
14 | });
15 | });
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/services/copyFolder.js:
--------------------------------------------------------------------------------
1 | const {copySync} = require('fs-extra');
2 |
3 | module.exports = function copyFolder() {
4 | return (from, to) => copySync(from, to);
5 | };
6 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/services/filterPipes.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * This service is used by the autoLinkCode post-processors to filter out pipe docs
4 | * where the matching word is the pipe name and is not preceded by a pipe
5 | */
6 | module.exports = function filterPipes() {
7 | return (docs, words, index) =>
8 | docs.filter(doc =>
9 | doc.docType !== 'pipe' ||
10 | doc.pipeOptions.name !== '\'' + words[index] + '\'' ||
11 | index > 0 && words[index - 1].trim() === '|');
12 | };
13 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-base-package/services/getImageDimensions.js:
--------------------------------------------------------------------------------
1 | const { resolve } = require('canonical-path');
2 | const sizeOf = require('image-size');
3 |
4 | module.exports = function getImageDimensions() {
5 | return (basePath, path) => sizeOf(resolve(basePath, path));
6 | };
7 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular-content-package/inline-tag-defs/anchor.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | name: 'a',
3 | description: 'A shorthand for creating heading anchors. Usage: `{@a some-id}`',
4 | handler: function(doc, tagName, tagDescription) {
5 | return ' ';
6 | }
7 | };
8 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/angular.io-package/processors/cleanGeneratedFiles.js:
--------------------------------------------------------------------------------
1 | const rimraf = require('rimraf');
2 | module.exports = function cleanGeneratedFiles() {
3 | return {
4 | $runAfter: ['writing-files'],
5 | $runBefore: ['writeFilesProcessor'],
6 | $process: function() {
7 | rimraf.sync('src/generated/{*.json}');
8 | }
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/content-package/tag-defs/intro.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'intro'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/content-package/tag-defs/title.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | return {name: 'title'};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/file-readers/example-reader.js:
--------------------------------------------------------------------------------
1 | /**
2 | * The point of this reader is to tag all the files that are going to be used as examples in the
3 | * documentation.
4 | * Later on we can extract the regions, via "shredding"; and we can also construct runnable examples
5 | * for passing to Stackblitz and the like.
6 | */
7 | module.exports = function exampleFileReader() {
8 | return {
9 | name: 'exampleFileReader',
10 | getDocs: function(fileInfo) {
11 | return [{docType: 'example-file', content: fileInfo.content, startingLine: 1}];
12 | }
13 | };
14 | };
15 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/services/example-map.js:
--------------------------------------------------------------------------------
1 | module.exports = function exampleMap() {
2 | return {};
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/services/region-matchers/block-c.js:
--------------------------------------------------------------------------------
1 | // These kind of comments are used CSS and other languages that do not support inline comments
2 | module.exports = {
3 | regionStartMatcher: /^\s*\/\*\s*#docregion\s*(.*)\s*\*\/\s*$/,
4 | regionEndMatcher: /^\s*\/\*\s*#enddocregion\s*(.*)\s*\*\/\s*$/,
5 | plasterMatcher: /^\s*\/\*\s*#docplaster\s*(.*)\s*\*\/\s*$/,
6 | createPlasterComment: plaster => `/* ${plaster} */`
7 | };
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/services/region-matchers/html.js:
--------------------------------------------------------------------------------
1 | // These kind of comments are used in HTML
2 | module.exports = {
3 | regionStartMatcher: /^\s*)?\s*$/,
4 | regionEndMatcher: /^\s*\s*$/,
5 | plasterMatcher: /^\s*\s*$/,
6 | createPlasterComment: plaster => ``
7 | };
8 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/services/region-matchers/inline-c-only.js:
--------------------------------------------------------------------------------
1 | // These kind of comments are used in languages that do not support block comments, such as Jade
2 | module.exports = {
3 | regionStartMatcher: /^\s*\/\/\s*#docregion\s*(.*)\s*$/,
4 | regionEndMatcher: /^\s*\/\/\s*#enddocregion\s*(.*)\s*$/,
5 | plasterMatcher: /^\s*\/\/\s*#docplaster\s*(.*)\s*$/,
6 | createPlasterComment: plaster => `// ${plaster}`
7 | };
8 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/services/region-matchers/inline-c.js:
--------------------------------------------------------------------------------
1 | // This comment type is used in C like languages such as JS, TS, Dart, etc
2 | module.exports = {
3 | regionStartMatcher: /^\s*\/\/\s*#docregion\s*(.*)\s*$/,
4 | regionEndMatcher: /^\s*\/\/\s*#enddocregion\s*(.*)\s*$/,
5 | plasterMatcher: /^\s*\/\/\s*#docplaster\s*(.*)\s*$/,
6 | createPlasterComment: plaster => `/* ${plaster} */`
7 | };
8 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/examples-package/services/region-matchers/inline-hash.js:
--------------------------------------------------------------------------------
1 | // These type of comments are used in hash comment based languages such as bash and Yaml
2 | module.exports = {
3 | regionStartMatcher: /^\s*#\s*#docregion\s*(.*)\s*$/,
4 | regionEndMatcher: /^\s*#\s*#enddocregion\s*(.*)\s*$/,
5 | plasterMatcher: /^\s*#\s*#docplaster\s*(.*)\s*$/,
6 | createPlasterComment: plaster => `# ${plaster}`
7 | };
8 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/links-package/services/disambiguators/disambiguateByDeprecated.js:
--------------------------------------------------------------------------------
1 | module.exports = function disambiguateByDeprecated() {
2 | return (alias, originatingDoc, docs) => docs.filter(doc => doc.deprecated === undefined);
3 | };
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/links-package/services/disambiguators/disambiguateByDeprecated.spec.js:
--------------------------------------------------------------------------------
1 | const disambiguateByDeprecated = require('./disambiguateByDeprecated')();
2 | const docs = [
3 | { id: 'doc1' },
4 | { id: 'doc2', deprecated: true },
5 | { id: 'doc3', deprecated: '' },
6 | { id: 'doc4' },
7 | { id: 'doc5', deprecated: 'Some text' },
8 | ];
9 |
10 | describe('disambiguateByDeprecated', () => {
11 | it('should filter out docs whose `deprecated` property is defined', () => {
12 | expect(disambiguateByDeprecated('alias', {}, docs)).toEqual([
13 | { id: 'doc1' },
14 | { id: 'doc4' },
15 | ]);
16 | });
17 | });
--------------------------------------------------------------------------------
/docs_app/tools/transforms/links-package/services/disambiguators/disambiguateByModule.js:
--------------------------------------------------------------------------------
1 | module.exports = function disambiguateByModule() {
2 | return (alias, originatingDoc, docs) => {
3 | const originatingModule = originatingDoc && originatingDoc.moduleDoc;
4 | if (originatingModule) {
5 | const filteredDocs = docs.filter(doc => doc.moduleDoc === originatingModule);
6 | if (filteredDocs.length > 0) {
7 | return filteredDocs;
8 | }
9 | }
10 | return docs;
11 | };
12 | };
13 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/links-package/services/getAliases.spec.js:
--------------------------------------------------------------------------------
1 | var getAliasesFactory = require('./getAliases');
2 |
3 | describe('getAliases', function() {
4 |
5 | it('should extract all the parts from a code name', function() {
6 |
7 | var getAliases = getAliasesFactory();
8 |
9 | expect(getAliases({id: 'module:ng.service:$http#get'})).toEqual([
10 | '$http#get', 'service:$http#get', 'ng.$http#get', 'module:ng.$http#get',
11 | 'ng.service:$http#get', 'module:ng.service:$http#get', 'get'
12 | ]);
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/post-process-package/index.js:
--------------------------------------------------------------------------------
1 | var Package = require('dgeni').Package;
2 | var base = require('dgeni-packages/base');
3 |
4 | module.exports = new Package('post-process-package', [base])
5 | .processor(require('./processors/post-process-html'));
6 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/remark-package/index.js:
--------------------------------------------------------------------------------
1 | var Package = require('dgeni').Package;
2 |
3 | /**
4 | * @dgPackage remark
5 | * @description Overrides the renderMarkdown service with an implementation based on remark
6 | */
7 | module.exports = new Package('remark', ['nunjucks'])
8 |
9 | .factory(require('./services/renderMarkdown'));
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/remark-package/services/handlers/code.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Render markdown code blocks as `` tags
3 | */
4 | module.exports = function code(h, node) {
5 | var value = node.value ? ('\n' + node.value + '\n') : '';
6 | var lang = node.lang && node.lang.match(/^[^ \t]+(?=[ \t]|$)/);
7 | var props = {};
8 |
9 | if (lang) {
10 | props.language = lang;
11 | }
12 |
13 | return h(node, 'code-example', props, [{ type: 'text', value }]);
14 | };
15 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/target-package/index.js:
--------------------------------------------------------------------------------
1 | var Package = require('dgeni').Package;
2 |
3 | module.exports = new Package('target', [require('dgeni-packages/jsdoc')])
4 |
5 | .factory(require('./services/targetEnvironments'))
6 | .factory(require('./inline-tag-defs/target'))
7 |
8 | .config(function(inlineTagProcessor, targetInlineTagDef) {
9 | inlineTagProcessor.inlineTagDefinitions.push(targetInlineTagDef);
10 | });
11 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/const.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'var.template.html' -%}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/decorator.template.html:
--------------------------------------------------------------------------------
1 | {% import "lib/memberHelpers.html" as memberHelper -%}
2 | {% import "lib/paramList.html" as params -%}
3 | {% extends 'export-base.template.html' %}
4 |
5 | {% block overview %}{% include "includes/decorator-overview.html" %}{% endblock %}
6 | {% block details %}
7 | {% include "includes/description.html" %}
8 | {$ memberHelper.renderProperties(doc.members, 'metadata-members', 'metadata-member', 'Options') $}
9 | {% endblock %}
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/deprecation.template.html:
--------------------------------------------------------------------------------
1 | {% block overview %}
2 |
3 | Deprecations
4 | The API listed below will be removed in the next major release!
5 |
6 | {% for deprecation in doc.data %}
7 |
8 |
9 | {$ deprecation.name $}
10 |
11 |
12 | {$ deprecation.text $}
13 |
14 |
15 | {% endfor %}
16 |
17 |
18 | {% endblock %}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/directive.template.html:
--------------------------------------------------------------------------------
1 | {% import "lib/directiveHelpers.html" as directiveHelper -%}
2 | {% import "lib/paramList.html" as params -%}
3 | {% extends 'class.template.html' -%}
4 |
5 | {% block overview %}{% include "includes/directive-overview.html" %}{% endblock %}
6 | {% block additional -%}
7 | {% include "includes/selectors.html" %}
8 | {$ directiveHelper.renderBindings(doc.inputs, 'inputs', 'input', 'Inputs') $}
9 | {$ directiveHelper.renderBindings(doc.outputs, 'outputs', 'output', 'Outputs') $}
10 | {% include "includes/export-as.html" %}
11 | {% endblock %}
12 |
13 | {% block annotations %}{% endblock %}
14 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/enum.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'class.template.html' -%}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/export-base.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.template.html' -%}
2 |
3 | {% block body %}
4 | {% include "includes/renamed-exports.html" %}
5 | {$ doc.shortDescription | marked $}
6 | {% include "includes/security-notes.html" %}
7 | {% include "includes/deprecation.html" %}
8 | {% block overview %}{% endblock %}
9 | {% block details %}{% endblock %}
10 | {% include "includes/usageNotes.html" %}
11 | {% include "includes/see-also.html" %}
12 | {% endblock %}
13 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/annotations.html:
--------------------------------------------------------------------------------
1 | {%- if doc.decorators.length %}
2 |
3 | Annotations
4 | {%- for decorator in doc.decorators %}
5 | @{$ decorator.name $}({$ decorator.arguments $})
6 | {% if not decorator.notYetDocumented %}{$ decorator.description | marked $}{% endif %}
7 | {% endfor %}
8 |
9 | {% endif %}
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/class-overview.html:
--------------------------------------------------------------------------------
1 | {% import "lib/memberHelpers.html" as memberHelper -%}
2 |
3 |
4 |
5 | {% if doc.isAbstract %}abstract {% endif%}{$ doc.docType $} {$ doc.name $}{$ doc.typeParams | escape $}{$ memberHelper.renderHeritage(doc) $} {{$ memberHelper.renderMembers(doc) $}
6 | }
7 |
8 | {$ descendants.renderDescendants(doc, 'class', 'Subclasses') $}
9 |
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/decorator-overview.html:
--------------------------------------------------------------------------------
1 | {% import "lib/memberHelpers.html" as memberHelper -%}
2 |
3 | {% if doc.members.length %}
4 |
5 |
6 | @{$ doc.name $}{$ doc.typeParams | escape $}({ {$ memberHelper.renderMembers(doc) $}
7 | })
8 |
9 |
10 | {% endif %}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/deprecation.html:
--------------------------------------------------------------------------------
1 | {% if doc.deprecated %}
2 |
3 | Deprecation Notes
4 | {$ doc.deprecated | marked $}
5 |
6 | {% endif %}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/description.html:
--------------------------------------------------------------------------------
1 | {% if doc.description %}
2 |
3 | Description
4 | {$ doc.description | trimBlankLines | marked $}
5 |
6 | {% endif %}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/export-as.html:
--------------------------------------------------------------------------------
1 | {%- if doc.exportAs %}
2 |
3 | Exported as
4 |
5 | {$ doc.exportAs $}
6 |
7 |
8 | {% endif %}
9 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/interface-overview.html:
--------------------------------------------------------------------------------
1 | {% import "lib/memberHelpers.html" as memberHelper -%}
2 |
3 |
4 |
5 | interface {$ doc.name $}{$ doc.typeParams | escape $}{$ memberHelper.renderHeritage(doc) $} {{$ memberHelper.renderMembers(doc) $}
6 | }
7 |
8 | {$ descendants.renderDescendants(doc, 'interface', 'Child Interfaces') $}
9 | {$ descendants.renderDescendants(doc, 'class', 'Class Implementations') $}
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/renamed-exports.html:
--------------------------------------------------------------------------------
1 | {% if doc.renamedDuplicates %}
2 |
3 | Aliased as
4 | {% for d in doc.renamedDuplicates %}
5 | {$ d.name $} {% if not loop.last %}, {% endif %}
6 | {% endfor %}
7 |
8 | {% endif %}
9 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/security-notes.html:
--------------------------------------------------------------------------------
1 | {% if doc.security %}
2 |
3 | Security Risk
4 | {$ doc.security | marked $}
5 |
6 | {% endif %}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/see-also.html:
--------------------------------------------------------------------------------
1 | {%- if doc.see.length %}
2 |
3 | See Also
4 |
5 | {% for see in doc.see %}
6 | {$ see | marked $} {% endfor %}
7 |
8 |
9 | {% endif %}
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/selectors.html:
--------------------------------------------------------------------------------
1 | {%- if doc.selector %}
2 |
3 | Selectors
4 |
5 | {%- for selector in doc.selector.split(',') %}
6 | {$ selector $}{% endfor %}
7 |
8 |
9 | {% endif %}
10 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/includes/usageNotes.html:
--------------------------------------------------------------------------------
1 | {% if doc.usageNotes %}
2 |
3 | Usage Notes
4 | {$ doc.usageNotes | marked $}
5 |
6 | {% endif %}
7 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/let.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'var.template.html' -%}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/lib/directiveHelpers.html:
--------------------------------------------------------------------------------
1 | {% macro renderBindings(bindings, cssContainerClass, cssItemClass, title) -%}
2 | {% if bindings.length %}
3 |
4 | {$ title $}
5 | {% for binding in bindings %}
6 |
7 | {$ binding.bindingName $}
bound to {$ binding.memberDoc.containerDoc.name $}.{$ binding.propertyName $}
8 | {#{$ binding.memberDoc.description | trimBlankLines | marked $}#}
9 |
10 | {% endfor %}
11 |
12 | {% endif %}
13 | {%- endmacro %}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/module.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.template.html' -%}
2 |
3 | {% block body -%}
4 |
5 | {% include "includes/deprecation.html" %}
6 | {% include "includes/description.html" %}
7 |
8 |
9 |
10 | {% for export in doc.exports -%}
11 | {% if not export.duplicateOf %}
12 | {$ export.name $}
13 | {% endif %}
14 | {%- endfor %}
15 |
16 |
17 |
18 | {%- endblock %}
19 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/pipe.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'export-base.template.html' -%}
2 |
3 | {% block overview %}
4 | {% include "includes/pipe-overview.html" %}
5 | {% endblock %}
6 | {% block details %}
7 | {% include "includes/description.html" %}
8 | {% endblock %}
9 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/type-alias.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'export-base.template.html' %}
2 |
3 | {% block overview %}
4 |
5 |
6 | type {$ doc.name $}{$ doc.typeParameters | escape $}{% if doc.typeDefinition %} = {$ doc.typeDefinition | escape $}{% endif %};
7 |
8 |
9 | {% endblock %}
10 |
11 | {% block details %}
12 | {% include "includes/description.html" %}
13 | {% endblock %}
14 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/value-module.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'interface.template.html' %}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/api/var.template.html:
--------------------------------------------------------------------------------
1 | {% extends 'export-base.template.html' %}
2 |
3 | {% block overview %}
4 |
5 | const {$ doc.name $}: {$ doc.symbolTypeName or 'any' $};
6 |
7 | {% endblock %}
8 |
9 | {% block details %}
10 | {% include "includes/description.html" %}
11 | {% endblock %}
12 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/content.template.html:
--------------------------------------------------------------------------------
1 | {% if doc.title %}{$ ('# ' + doc.title.trim()) | marked $}{% endif %}
2 |
3 | {$ doc.description | marked $}
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/data-module.template.js:
--------------------------------------------------------------------------------
1 | /* tslint:disable quotemark */
2 | /* TODO: rework this so that it has single quotes */
3 | export const {$ doc.serviceName $} = {$ doc.value | json $};
4 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/example-region.template.html:
--------------------------------------------------------------------------------
1 | {$ doc.contents | escape $}
2 |
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/json-doc.template.json:
--------------------------------------------------------------------------------
1 | {$ doc.data | json $}
--------------------------------------------------------------------------------
/docs_app/tools/transforms/templates/sitemap.template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {%- for url in doc.urls %}
4 |
5 | https://rxjs-dev.firebaseapp.com/{$ url $}
6 | {% endfor %}
7 |
--------------------------------------------------------------------------------
/docs_app/tsconfig.docs.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "noUnusedParameters": false,
6 | "noUnusedLocals": false,
7 | "target": "es6"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/integration/side-effects/README.md:
--------------------------------------------------------------------------------
1 | This test checks if the side effects for loading RxJs packages have changed using .
2 |
3 | Running `npm test:side-effects` will check all ES modules listed in `side-effects.json`.
4 |
5 | Running `npm test:side-effects:update` will update any changed side effects.
6 |
7 | To add a new ES module to this test, add a new entry in `side-effects.json`.
8 |
9 | Usually the ESM and FESM should have the same output, but retained objects that were renamed during the flattening step will leave behind a different name.
10 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm/ajax.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm/fetch.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm/index.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm/operators.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm/testing.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm/websocket.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm2015/ajax.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm2015/fetch.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm2015/index.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm2015/operators.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm2015/testing.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm2015/websocket.js:
--------------------------------------------------------------------------------
1 | var NotificationKind;
2 |
3 | (function(NotificationKind) {
4 | NotificationKind["NEXT"] = "N";
5 | NotificationKind["ERROR"] = "E";
6 | NotificationKind["COMPLETE"] = "C";
7 | })(NotificationKind || (NotificationKind = {}));
8 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm5/ajax.js:
--------------------------------------------------------------------------------
1 | import "tslib";
2 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm5/fetch.js:
--------------------------------------------------------------------------------
1 | import "tslib";
2 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm5/index.js:
--------------------------------------------------------------------------------
1 | import "tslib";
2 |
3 | var NotificationKind;
4 |
5 | (function(NotificationKind) {
6 | NotificationKind["NEXT"] = "N";
7 | NotificationKind["ERROR"] = "E";
8 | NotificationKind["COMPLETE"] = "C";
9 | })(NotificationKind || (NotificationKind = {}));
10 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm5/operators.js:
--------------------------------------------------------------------------------
1 | import "tslib";
2 |
3 | var NotificationKind;
4 |
5 | (function(NotificationKind) {
6 | NotificationKind["NEXT"] = "N";
7 | NotificationKind["ERROR"] = "E";
8 | NotificationKind["COMPLETE"] = "C";
9 | })(NotificationKind || (NotificationKind = {}));
10 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm5/testing.js:
--------------------------------------------------------------------------------
1 | import "tslib";
2 |
3 | var NotificationKind;
4 |
5 | (function(NotificationKind) {
6 | NotificationKind["NEXT"] = "N";
7 | NotificationKind["ERROR"] = "E";
8 | NotificationKind["COMPLETE"] = "C";
9 | })(NotificationKind || (NotificationKind = {}));
10 |
--------------------------------------------------------------------------------
/integration/side-effects/snapshots/esm5/websocket.js:
--------------------------------------------------------------------------------
1 | import "tslib";
2 |
3 | var NotificationKind;
4 |
5 | (function(NotificationKind) {
6 | NotificationKind["NEXT"] = "N";
7 | NotificationKind["ERROR"] = "E";
8 | NotificationKind["COMPLETE"] = "C";
9 | })(NotificationKind || (NotificationKind = {}));
10 |
--------------------------------------------------------------------------------
/integration/systemjs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "moduleResolution": "classic",
5 | "target": "es2015",
6 | "outDir": "../../dist/integration/",
7 | "rootDir": "."
8 | },
9 | "exclude": [
10 | "node_modules"
11 | ]
12 | }
--------------------------------------------------------------------------------
/resources/CI-CD/README.md:
--------------------------------------------------------------------------------
1 | This folder contains all resources, docs licenses or other information
2 | related to the corporate identity and corporate design of this project.
3 |
--------------------------------------------------------------------------------
/spec-dtslint/index.d.ts:
--------------------------------------------------------------------------------
1 | // TypeScript Version: 2.8
2 |
--------------------------------------------------------------------------------
/spec-dtslint/observables/dom/animationFrames-spec.ts:
--------------------------------------------------------------------------------
1 | import { animationFrames } from 'rxjs';
2 |
3 | it('should just be an observable of numbers', () => {
4 | const o$ = animationFrames(); // $ExpectType Observable
5 | });
6 |
7 | it('should allow the passing of a timestampProvider', () => {
8 | const o$ = animationFrames(performance); // $ExpectType Observable
9 | });
10 |
11 | it('should not allow the passing of an invalid timestamp provider', () => {
12 | const o$ = animationFrames({ now() { return 'wee' } }); // $ExpectError
13 | });
--------------------------------------------------------------------------------
/spec-dtslint/observables/empty-spec.ts:
--------------------------------------------------------------------------------
1 | import { of, empty, animationFrameScheduler, EMPTY } from 'rxjs';
2 |
3 | it('should infer correctly with no parameter', () => {
4 | const a = empty(); // $ExpectType Observable
5 | });
6 |
7 | it('should support scheduler parameter', () => {
8 | const a = empty(animationFrameScheduler); // $ExpectType Observable
9 | });
10 |
11 | it('should always infer empty observable', () => {
12 | // Empty Observable that replace empty static function
13 | const a = EMPTY; // $ExpectType Observable
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/observables/interval-spec.ts:
--------------------------------------------------------------------------------
1 | import { interval, animationFrameScheduler } from 'rxjs';
2 |
3 | it('should infer correctly with number param', () => {
4 | const a = interval(1); // $ExpectType Observable
5 | });
6 |
7 | it('should infer correctly with no param', () => {
8 | const a = interval(); // $ExpectType Observable
9 | });
10 |
11 | it('should support scheduler', () => {
12 | const a = interval(1, animationFrameScheduler); // $ExpectType Observable
13 | });
14 |
--------------------------------------------------------------------------------
/spec-dtslint/observables/never-spec.ts:
--------------------------------------------------------------------------------
1 | import { never } from 'rxjs';
2 |
3 | it('should not support any parameter', () => {
4 | const a = never(1); // $ExpectError
5 | });
6 |
7 | it('should infer never', () => {
8 | const a = never(); // $ExpectType Observable
9 | });
10 |
--------------------------------------------------------------------------------
/spec-dtslint/observables/range-spec.ts:
--------------------------------------------------------------------------------
1 | import { range, animationFrameScheduler } from 'rxjs';
2 |
3 | it('should infer correctly with number parameters', () => {
4 | const a = range(1, 2); // $ExpectType Observable
5 | });
6 |
7 | it('should accept only number parameters', () => {
8 | const a = range('a', 1); // $ExpectError
9 | });
10 |
11 | it('should allow 1 parameter', () => {
12 | const a = range(1); // $ExpectType Observable
13 | });
14 |
15 | it('should support scheduler', () => {
16 | const a = range(1, 2, animationFrameScheduler); // $ExpectType Observable
17 | });
18 |
--------------------------------------------------------------------------------
/spec-dtslint/observables/throwError-spec.ts:
--------------------------------------------------------------------------------
1 | import { throwError, animationFrameScheduler } from 'rxjs';
2 |
3 | it('should accept any type and return never observable', () => {
4 | const a = throwError(1); // $ExpectType Observable
5 | const b = throwError('a'); // $ExpectType Observable
6 | const c = throwError({a: 1}); // $ExpectType Observable
7 | });
8 |
9 | it('should support scheduler', () => {
10 | const a = throwError(1, animationFrameScheduler); // $ExpectType Observable
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/buffer-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { buffer } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(buffer(of('foo'))); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(buffer()); // $ExpectError
10 | const p = of(1, 2, 3).pipe(buffer(6)); // $ExpectError
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/bufferWhen-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { bufferWhen } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(bufferWhen(() => of('a', 'b', 'c'))); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(bufferWhen()); // $ExpectError
10 | });
11 |
12 | it('should enforce type of closingSelector', () => {
13 | const o = of(1, 2, 3).pipe(bufferWhen(of('a', 'b', 'c'))); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/concatAll-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { concatAll } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(of(1, 2, 3)).pipe(concatAll()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(concatAll()); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/debounce-spec.ts:
--------------------------------------------------------------------------------
1 | import { of, timer } from 'rxjs';
2 | import { debounce } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(debounce(() => timer(47))); // $ExpectType Observable
6 | });
7 |
8 | it('should infer correctly with a Promise', () => {
9 | const o = of(1, 2, 3).pipe(debounce(() => new Promise(() => {}))); // $ExpectType Observable
10 | });
11 |
12 | it('should enforce types', () => {
13 | const o = of(1, 2, 3).pipe(debounce()); // $ExpectError
14 | const p = of(1, 2, 3).pipe(debounce(() => {})); // $ExpectError
15 | });
16 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/dematerialize-spec.ts:
--------------------------------------------------------------------------------
1 | import { of, Notification } from 'rxjs';
2 | import { dematerialize } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(Notification.createNext('foo')).pipe(dematerialize()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(Notification.createNext('foo')).pipe(dematerialize(() => {})); // $ExpectError
10 | });
11 |
12 | it('should enforce Notification source', () => {
13 | const o = of('foo').pipe(dematerialize()); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/finalize-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { finalize } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(finalize(() => {})); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(finalize()); // $ExpectError
10 | const p = of(1, 2, 3).pipe(finalize((value => {}))); // $ExpectError
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/ignoreElements-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { ignoreElements } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(ignoreElements()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(ignoreElements('nope')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/isEmpty-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { isEmpty } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(isEmpty()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(isEmpty('nope')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/mapTo-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { mapTo } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(mapTo(47)); // $ExpectType Observable
6 | });
7 |
8 | it('should infer correctly when returning a different type', () => {
9 | const o = of(1, 2, 3).pipe(mapTo('carrot')); // $ExpectType Observable
10 | });
11 |
12 | it('should enforce types', () => {
13 | const o = of(1, 2, 3).pipe(mapTo()); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/materialize-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { materialize } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('foo').pipe(materialize()); // $ExpectType Observable>
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of('foo').pipe(materialize(() => {})); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/mergeAll-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { mergeAll } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(of(1, 2, 3)).pipe(mergeAll()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(mergeAll()); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/pairwise-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { pairwise } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('apple', 'banana', 'peach').pipe(pairwise()); // $ExpectType Observable<[string, string]>
6 | });
7 |
8 | it('should infer correctly with multiple types', () => {
9 | const o = of('apple', 4, 'peach', 7).pipe(pairwise()); // $ExpectType Observable<[string | number, string | number]>
10 | });
11 |
12 | it('should enforce types', () => {
13 | const o = of('apple', 'banana', 'peach').pipe(pairwise('lemon')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/publishBehavior-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { publishBehavior } from 'rxjs/operators';
3 |
4 | it('should enforce parameter', () => {
5 | const a = of(1, 2, 3).pipe(publishBehavior()); // $ExpectError
6 | });
7 |
8 | it('should infer correctly with parameter', () => {
9 | const a = of(1, 2, 3).pipe(publishBehavior(4)); // $ExpectType Observable
10 | });
11 |
12 | it('should enforce type on parameter', () => {
13 | const a = of(1, 2, 3).pipe(publishBehavior('a')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/publishLast-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { publishLast } from 'rxjs/operators';
3 |
4 | it('should accept empty parameter', () => {
5 | const a = of(1, 2, 3).pipe(publishLast()); // $ExpectType Observable
6 | });
7 |
8 | it('should infer when type is specified', () => {
9 | const a = of(1, 2, 3).pipe(publishLast()); // $ExpectType Observable
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/refCount-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { refCount } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const a = of(1, 2, 3).pipe(refCount()); // $ExpectType Observable
6 | });
7 |
8 | it('should not accept any parameters', () => {
9 | const a = of(1, 2, 3).pipe(refCount(1)); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/repeat-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { repeat } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('a', 'b', 'c').pipe(repeat()); // $ExpectType Observable
6 | });
7 |
8 | it('should accept a count parameter', () => {
9 | const o = of('a', 'b', 'c').pipe(repeat(47)); // $ExpectType Observable
10 | });
11 |
12 | it('should enforce types', () => {
13 | const o = of('a', 'b', 'c').pipe(repeat('aa')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/retry-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { retry } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(retry()); // $ExpectType Observable
6 | });
7 |
8 | it('should accept a count parameter', () => {
9 | const o = of(1, 2, 3).pipe(retry(47)); // $ExpectType Observable
10 | });
11 |
12 | it('should enforce types', () => {
13 | const o = of(1, 2, 3).pipe(retry('aa')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/sample-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { sample } from 'rxjs/operators';
3 |
4 | it('should enforce parameter', () => {
5 | const a = of(1, 2, 3).pipe(sample()); // $ExpectError
6 | });
7 |
8 | it('should accept observable as notifier parameter', () => {
9 | const a = of(1, 2, 3).pipe(sample(of(4))); // $ExpectType Observable
10 | const b = of(1, 2, 3).pipe(sample(of('a'))); // $ExpectType Observable
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/sampleTime-spec.ts:
--------------------------------------------------------------------------------
1 | import { of, asyncScheduler } from 'rxjs';
2 | import { sampleTime } from 'rxjs/operators';
3 |
4 | it('should enforce period parameter', () => {
5 | const a = of(1, 2, 3).pipe(sampleTime()); // $ExpectError
6 | });
7 |
8 | it('should infer correctly', () => {
9 | const a = of(1, 2, 3).pipe(sampleTime(1000)); // $ExpectType Observable
10 | });
11 |
12 | it('should accept scheduler parameter', () => {
13 | const a = of(1, 2, 3).pipe(sampleTime(1000, asyncScheduler)); // $ExpectType Observable
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/share-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { share } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('foo', 'bar', 'baz').pipe(share()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of('foo', 'bar', 'baz').pipe(share('abc')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/skip-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { skip } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('foo', 'bar', 'baz').pipe(skip(7)); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of('foo', 'bar', 'baz').pipe(skip()); // $ExpectError
10 | const p = of('foo', 'bar', 'baz').pipe(skip('7')); // $ExpectError
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/skipLast-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { skipLast } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('foo', 'bar', 'baz').pipe(skipLast(7)); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of('foo', 'bar', 'baz').pipe(skipLast()); // $ExpectError
10 | const p = of('foo', 'bar', 'baz').pipe(skipLast('7')); // $ExpectError
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/skipUntil-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { skipUntil } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('foo', 'bar', 'baz').pipe(skipUntil(of(4, 'RxJS', 7))); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of('foo', 'bar', 'baz').pipe(skipUntil()); // $ExpectError
10 | const p = of('foo', 'bar', 'baz').pipe(skipUntil('7')); // $ExpectError
11 | });
12 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/switchAll-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { switchAll } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(of(1, 2, 3)).pipe(switchAll()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(switchAll()); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/take-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { take } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(take(7)); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(take('7')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/takeLast-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { takeLast } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(takeLast(7)); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(takeLast('7')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/takeUntil-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { takeUntil } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(takeUntil(of(1, 2, 3))); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1, 2, 3).pipe(takeUntil(value => value < 3)); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/throwIfEmpty-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { throwIfEmpty } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('a', 'b', 'c').pipe(throwIfEmpty()); // $ExpectType Observable
6 | });
7 |
8 | it('should support an errorFactory', () => {
9 | const o = of('a', 'b', 'c').pipe(throwIfEmpty(() => 47)); // $ExpectType Observable
10 | });
11 |
12 | it('should enforce errorFactory type', () => {
13 | const o = of('a', 'b', 'c').pipe(throwIfEmpty('nope')); // $ExpectError
14 | const p = of('a', 'b', 'c').pipe(throwIfEmpty(x => 47)); // $ExpectError
15 | });
16 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/timeInterval-spec.ts:
--------------------------------------------------------------------------------
1 | import { of, asyncScheduler } from 'rxjs';
2 | import { timeInterval } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('a', 'b', 'c').pipe(timeInterval()); // $ExpectType Observable>
6 | });
7 |
8 | it('should support a scheduler', () => {
9 | const o = of('a', 'b', 'c').pipe(timeInterval(asyncScheduler)); // $ExpectType Observable>
10 | });
11 |
12 | it('should enforce scheduler type', () => {
13 | const o = of('a', 'b', 'c').pipe(timeInterval('nope')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/timestamp-spec.ts:
--------------------------------------------------------------------------------
1 | import { of, asyncScheduler } from 'rxjs';
2 | import { timestamp } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('a', 'b', 'c').pipe(timestamp()); // $ExpectType Observable>
6 | });
7 |
8 | it('should support a scheduler', () => {
9 | const o = of('a', 'b', 'c').pipe(timestamp(asyncScheduler)); // $ExpectType Observable>
10 | });
11 |
12 | it('should enforce scheduler type', () => {
13 | const o = of('a', 'b', 'c').pipe(timestamp('nope')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/toArray-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { toArray } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of(1, 2, 3).pipe(toArray()); // $ExpectType Observable
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of(1).pipe(toArray('')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/window-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { window } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | of(1).pipe(window(of('1'))); // $ExpectType Observable>
6 | });
7 |
8 | it('should enforce types', () => {
9 | of(1).pipe(window('')); // $ExpectError
10 | });
11 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/windowCount-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { windowCount } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | of('test').pipe(windowCount(1)); // $ExpectType Observable>
6 | of('test').pipe(windowCount(1, 2)); // $ExpectType Observable>
7 | });
8 |
9 | it('should enforce windowSize type', () => {
10 | of(1).pipe(windowCount()); // $ExpectError
11 | of(1).pipe(windowCount('1')); // $ExpectError
12 | });
13 |
14 | it('should enforce startEveryWindow type', () => {
15 | of(1).pipe(windowCount(1, '2')); // $ExpectError
16 | });
17 |
--------------------------------------------------------------------------------
/spec-dtslint/operators/windowWhen-spec.ts:
--------------------------------------------------------------------------------
1 | import { of } from 'rxjs';
2 | import { windowWhen } from 'rxjs/operators';
3 |
4 | it('should infer correctly', () => {
5 | const o = of('a', 'b', 'c').pipe(windowWhen(() => of(1, 2, 3))); // $ExpectType Observable>
6 | });
7 |
8 | it('should enforce types', () => {
9 | const o = of('a', 'b', 'c').pipe(windowWhen()); // $ExpectError
10 | });
11 |
12 | it('should enforce closingSelector type', () => {
13 | const o = of('a', 'b', 'c').pipe(windowWhen('nope')); // $ExpectError
14 | });
15 |
--------------------------------------------------------------------------------
/spec-dtslint/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "lib": ["esnext", "dom"],
5 | "module": "commonjs",
6 | "noEmit": true,
7 | "paths": {
8 | "rxjs": ["../dist/types"],
9 | "rxjs/operators": ["../dist/types/operators"]
10 | },
11 | "skipLibCheck": true,
12 | "strict": true,
13 | "target": "esnext"
14 | }
15 | }
--------------------------------------------------------------------------------
/spec-dtslint/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "rulesDirectory": ["../node_modules/tslint-etc/dist/rules"],
3 | "rules": {
4 | "expect-deprecation": true,
5 | "expect-type": true,
6 | "no-dtslint-typo": true
7 | }
8 | }
--------------------------------------------------------------------------------
/spec/ajax/index-spec.ts:
--------------------------------------------------------------------------------
1 | import * as index from 'rxjs/ajax';
2 | import { expect } from 'chai';
3 |
4 | describe('index', () => {
5 | it('should export static ajax observable creator functions', () => {
6 | expect(index.ajax).to.exist;
7 | });
8 |
9 | it('should export Ajax data classes', () => {
10 | expect(index.AjaxResponse).to.exist;
11 | expect(index.AjaxError).to.exist;
12 | expect(index.AjaxTimeoutError).to.exist;
13 | // Interfaces can be checked by creating a variable of that type
14 | let ajaxRequest: index.AjaxRequest;
15 | });
16 | });
17 |
--------------------------------------------------------------------------------
/spec/config-spec.ts:
--------------------------------------------------------------------------------
1 | import { config } from '../src/internal/config';
2 | import { expect } from 'chai';
3 |
4 | describe('config', () => {
5 | it('should have a Promise property that defaults to nothing', () => {
6 | expect(config).to.have.property('Promise');
7 | expect(config.Promise).to.be.undefined;
8 | });
9 | });
--------------------------------------------------------------------------------
/spec/helpers/polyfills.ts:
--------------------------------------------------------------------------------
1 | if (typeof Symbol !== 'function') {
2 | let id = 0;
3 | const symbolFn: any = (description: string) =>
4 | `Symbol_${id++} ${description} (RxJS Testing Polyfill)`;
5 |
6 | Symbol = symbolFn;
7 | }
8 |
9 | if (!(Symbol as any).observable) {
10 | (Symbol as any).observable = Symbol('Symbol.observable polyfill from RxJS Testing');
11 | }
12 |
--------------------------------------------------------------------------------
/spec/observables/never-spec.ts:
--------------------------------------------------------------------------------
1 | import { NEVER } from 'rxjs';
2 | import { expect } from 'chai';
3 | import { expectObservable } from '../helpers/marble-testing';
4 |
5 | declare const asDiagram: any;
6 |
7 | /** @test {NEVER} */
8 | describe('NEVER', () => {
9 | asDiagram('NEVER')('should create a cold observable that never emits', () => {
10 | const expected = '-';
11 | const e1 = NEVER;
12 | expectObservable(e1).toBe(expected);
13 | });
14 |
15 | it('should return the same instance every time', () => {
16 | expect(NEVER).to.equal(NEVER);
17 | });
18 | });
19 |
--------------------------------------------------------------------------------
/spec/support/default.opts:
--------------------------------------------------------------------------------
1 | --require spec/support/mocha-path-mappings.js
2 | --require dist/spec/helpers/polyfills.js
3 | --require dist/spec/helpers/testScheduler-ui.js
4 | --ui dist/spec/helpers/testScheduler-ui.js
5 |
6 | --reporter dot
7 |
8 | --check-leaks
9 | --globals WebSocket,FormData,XDomainRequest,ActiveXObject,fetch,AbortController
10 |
11 | --recursive
12 | --timeout 5000
13 |
--------------------------------------------------------------------------------
/spec/support/tests2png.opts:
--------------------------------------------------------------------------------
1 | --require ts-node/register
2 | --require tsconfig-paths/register
3 | --require spec/helpers/polyfills.ts
4 | --require source-map-support/register
5 | --require spec/helpers/tests2png/diagram-test-runner.ts
6 | --require spec/helpers/testScheduler-ui.ts
7 | --ui spec/helpers/testScheduler-ui.ts
8 |
9 | --reporter dot
10 |
11 | --recursive
12 | --timeout 5000
13 |
--------------------------------------------------------------------------------
/spec/testing/index-spec.ts:
--------------------------------------------------------------------------------
1 | import * as index from 'rxjs/testing';
2 | import { expect } from 'chai';
3 |
4 | describe('index', () => {
5 | it('should export TestScheduler', () => {
6 | expect(index.TestScheduler).to.exist;
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/spec/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "outDir": "../dist/spec",
6 | "target": "es5",
7 | "module": "commonjs"
8 | },
9 | "references": [
10 | {
11 | "path": "../src/tsconfig.types.json"
12 | }
13 | ]
14 | }
--------------------------------------------------------------------------------
/spec/util/ArgumentOutOfRangeError-spec.ts:
--------------------------------------------------------------------------------
1 | import { expect } from 'chai';
2 | import { ArgumentOutOfRangeError } from 'rxjs';
3 |
4 | /** @test {ArgumentOutOfRangeError} */
5 | describe('ArgumentOutOfRangeError', () => {
6 | const error = new ArgumentOutOfRangeError();
7 | it('Should have a name', () => {
8 | expect(error.name).to.be.equal('ArgumentOutOfRangeError');
9 | });
10 | it('Should have a message', () => {
11 | expect(error.message).to.be.equal('argument out of range');
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/spec/util/EmptyError-spec.ts:
--------------------------------------------------------------------------------
1 | import { expect } from 'chai';
2 | import { EmptyError } from 'rxjs';
3 |
4 | /** @test {EmptyError} */
5 | describe('EmptyError', () => {
6 | const error = new EmptyError();
7 | it('Should have a name', () => {
8 | expect(error.name).to.be.equal('EmptyError');
9 | });
10 | it('Should have a message', () => {
11 | expect(error.message).to.be.equal('no elements in sequence');
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/spec/util/ObjectUnsubscribedError-spec.ts:
--------------------------------------------------------------------------------
1 | import { expect } from 'chai';
2 | import { ObjectUnsubscribedError } from 'rxjs';
3 |
4 | /** @test {ObjectUnsubscribedError} */
5 | describe('ObjectUnsubscribedError', () => {
6 | const error = new ObjectUnsubscribedError();
7 | it('Should have a name', () => {
8 | expect(error.name).to.be.equal('ObjectUnsubscribedError');
9 | });
10 | it('Should have a message', () => {
11 | expect(error.message).to.be.equal('object unsubscribed');
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/spec/util/TimeoutError-spec.ts:
--------------------------------------------------------------------------------
1 | import { expect } from 'chai';
2 | import { TimeoutError } from 'rxjs';
3 |
4 | /** @test {TimeoutError} */
5 | describe('TimeoutError', () => {
6 | const error = new TimeoutError();
7 | it('Should have a name', () => {
8 | expect(error.name).to.be.equal('TimeoutError');
9 | });
10 | it('Should have a message', () => {
11 | expect(error.message).to.be.equal('Timeout has occurred');
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/spec/websocket/index-spec.ts:
--------------------------------------------------------------------------------
1 | import * as index from 'rxjs/webSocket';
2 | import { expect } from 'chai';
3 |
4 | describe('index', () => {
5 | it('should export static websocket subject creator functions', () => {
6 | expect(index.webSocket).to.exist;
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/src/Rx.global.js:
--------------------------------------------------------------------------------
1 | (function (root, factory) {
2 | root.Rx = factory();
3 | })(window || global || this, function () {
4 | return require('../dist/package/Rx');
5 | });
--------------------------------------------------------------------------------
/src/ajax/index.ts:
--------------------------------------------------------------------------------
1 | export { ajax } from '../internal/observable/dom/ajax';
2 | export { AjaxRequest, AjaxResponse, AjaxError, AjaxTimeoutError } from '../internal/observable/dom/AjaxObservable';
3 |
--------------------------------------------------------------------------------
/src/fetch/index.ts:
--------------------------------------------------------------------------------
1 | export { fromFetch } from '../internal/observable/dom/fetch';
2 |
--------------------------------------------------------------------------------
/src/internal/Observer.ts:
--------------------------------------------------------------------------------
1 | import { Observer } from './types';
2 | import { config } from './config';
3 | import { hostReportError } from './util/hostReportError';
4 |
5 | export const empty: Observer = {
6 | closed: true,
7 | next(value: any): void { /* noop */},
8 | error(err: any): void {
9 | if (config.useDeprecatedSynchronousErrorHandling) {
10 | throw err;
11 | } else {
12 | hostReportError(err);
13 | }
14 | },
15 | complete(): void { /*noop*/ }
16 | };
17 |
--------------------------------------------------------------------------------
/src/internal/Operator.ts:
--------------------------------------------------------------------------------
1 | import { Subscriber } from './Subscriber';
2 | import { TeardownLogic } from './types';
3 |
4 | export interface Operator {
5 | call(subscriber: Subscriber, source: any): TeardownLogic;
6 | }
7 |
--------------------------------------------------------------------------------
/src/internal/observable/fromArray.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from '../Observable';
2 | import { SchedulerLike } from '../types';
3 | import { subscribeToArray } from '../util/subscribeToArray';
4 | import { scheduleArray } from '../scheduled/scheduleArray';
5 |
6 | export function fromArray(input: ArrayLike, scheduler?: SchedulerLike) {
7 | if (!scheduler) {
8 | return new Observable(subscribeToArray(input));
9 | } else {
10 | return scheduleArray(input, scheduler);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/internal/observable/fromIterable.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from '../Observable';
2 | import { SchedulerLike } from '../types';
3 | import { subscribeToIterable } from '../util/subscribeToIterable';
4 | import { scheduleIterable } from '../scheduled/scheduleIterable';
5 |
6 | export function fromIterable(input: Iterable, scheduler?: SchedulerLike) {
7 | if (!input) {
8 | throw new Error('Iterable cannot be null');
9 | }
10 | if (!scheduler) {
11 | return new Observable(subscribeToIterable(input));
12 | } else {
13 | return scheduleIterable(input, scheduler);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/internal/observable/fromObservable.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from '../Observable';
2 | import { subscribeToObservable } from '../util/subscribeToObservable';
3 | import { InteropObservable, SchedulerLike } from '../types';
4 | import { scheduleObservable } from '../scheduled/scheduleObservable';
5 |
6 | export function fromObservable(input: InteropObservable, scheduler?: SchedulerLike) {
7 | if (!scheduler) {
8 | return new Observable(subscribeToObservable(input));
9 | } else {
10 | return scheduleObservable(input, scheduler);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/internal/observable/fromPromise.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from '../Observable';
2 | import { SchedulerLike } from '../types';
3 | import { subscribeToPromise } from '../util/subscribeToPromise';
4 | import { schedulePromise } from '../scheduled/schedulePromise';
5 |
6 | export function fromPromise(input: PromiseLike, scheduler?: SchedulerLike) {
7 | if (!scheduler) {
8 | return new Observable(subscribeToPromise(input));
9 | } else {
10 | return schedulePromise(input, scheduler);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/internal/operators/publishBehavior.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from '../Observable';
2 | import { BehaviorSubject } from '../BehaviorSubject';
3 | import { multicast } from './multicast';
4 | import { ConnectableObservable } from '../observable/ConnectableObservable';
5 | import { UnaryFunction } from '../types';
6 |
7 | /**
8 | * @param value
9 | * @return {ConnectableObservable}
10 | * @name publishBehavior
11 | */
12 | export function publishBehavior(value: T): UnaryFunction, ConnectableObservable> {
13 | return (source: Observable) => multicast(new BehaviorSubject(value))(source) as ConnectableObservable;
14 | }
15 |
--------------------------------------------------------------------------------
/src/internal/scheduler/QueueScheduler.ts:
--------------------------------------------------------------------------------
1 | import { AsyncScheduler } from './AsyncScheduler';
2 |
3 | export class QueueScheduler extends AsyncScheduler {
4 | }
5 |
--------------------------------------------------------------------------------
/src/internal/symbol/iterator.ts:
--------------------------------------------------------------------------------
1 | export function getSymbolIterator(): symbol {
2 | if (typeof Symbol !== 'function' || !Symbol.iterator) {
3 | return '@@iterator' as any;
4 | }
5 |
6 | return Symbol.iterator;
7 | }
8 |
9 | export const iterator = getSymbolIterator();
10 |
11 | /**
12 | * @deprecated use {@link iterator} instead
13 | */
14 | export const $$iterator = iterator;
15 |
--------------------------------------------------------------------------------
/src/internal/symbol/observable.ts:
--------------------------------------------------------------------------------
1 | /** Symbol.observable addition */
2 | /* Note: This will add Symbol.observable globally for all TypeScript users,
3 | however, we are no longer polyfilling Symbol.observable */
4 | declare global {
5 | interface SymbolConstructor {
6 | readonly observable: symbol;
7 | }
8 | }
9 |
10 | /** Symbol.observable or a string "@@observable". Used for interop */
11 | export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();
12 |
--------------------------------------------------------------------------------
/src/internal/symbol/rxSubscriber.ts:
--------------------------------------------------------------------------------
1 | /** @deprecated do not use, this is no longer checked by RxJS internals */
2 | export const rxSubscriber = (() =>
3 | typeof Symbol === 'function'
4 | ? Symbol('rxSubscriber')
5 | : '@@rxSubscriber_' + Math.random())();
6 |
7 | /**
8 | * @deprecated use rxSubscriber instead
9 | */
10 | export const $$rxSubscriber = rxSubscriber;
11 |
--------------------------------------------------------------------------------
/src/internal/testing/SubscriptionLog.ts:
--------------------------------------------------------------------------------
1 | export class SubscriptionLog {
2 | constructor(public subscribedFrame: number,
3 | public unsubscribedFrame: number = Number.POSITIVE_INFINITY) {
4 | }
5 | }
--------------------------------------------------------------------------------
/src/internal/testing/TestMessage.ts:
--------------------------------------------------------------------------------
1 | import { Notification } from '../Notification';
2 |
3 | export interface TestMessage {
4 | frame: number;
5 | notification: Notification;
6 | isGhost?: boolean;
7 | }
8 |
--------------------------------------------------------------------------------
/src/internal/util/applyMixins.ts:
--------------------------------------------------------------------------------
1 | export function applyMixins(derivedCtor: any, baseCtors: any[]) {
2 | for (let i = 0, len = baseCtors.length; i < len; i++) {
3 | const baseCtor = baseCtors[i];
4 | const propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);
5 | for (let j = 0, len2 = propertyKeys.length; j < len2; j++) {
6 | const name = propertyKeys[j];
7 | derivedCtor.prototype[name] = baseCtor.prototype[name];
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/src/internal/util/errorObject.ts:
--------------------------------------------------------------------------------
1 | // typeof any so that it we don't have to cast when comparing a result to the error object
2 | export const errorObject: any = { e: {} };
--------------------------------------------------------------------------------
/src/internal/util/hostReportError.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Throws an error on another job so that it's picked up by the runtime's
3 | * uncaught error handling mechanism.
4 | * @param err the error to throw
5 | */
6 | export function hostReportError(err: any) {
7 | setTimeout(() => { throw err; }, 0);
8 | }
--------------------------------------------------------------------------------
/src/internal/util/identity.ts:
--------------------------------------------------------------------------------
1 | export function identity(x: T): T {
2 | return x;
3 | }
4 |
--------------------------------------------------------------------------------
/src/internal/util/isArray.ts:
--------------------------------------------------------------------------------
1 | export const isArray = (() => Array.isArray || ((x: any): x is T[] => x && typeof x.length === 'number'))();
2 |
--------------------------------------------------------------------------------
/src/internal/util/isArrayLike.ts:
--------------------------------------------------------------------------------
1 | export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');
--------------------------------------------------------------------------------
/src/internal/util/isDate.ts:
--------------------------------------------------------------------------------
1 | export function isDate(value: any): value is Date {
2 | return value instanceof Date && !isNaN(+value);
3 | }
4 |
--------------------------------------------------------------------------------
/src/internal/util/isFunction.ts:
--------------------------------------------------------------------------------
1 | export function isFunction(x: any): x is Function {
2 | return typeof x === 'function';
3 | }
4 |
--------------------------------------------------------------------------------
/src/internal/util/isInteropObservable.ts:
--------------------------------------------------------------------------------
1 | import { InteropObservable } from '../types';
2 | import { observable as Symbol_observable } from '../symbol/observable';
3 |
4 | /** Identifies an input as being Observable (but not necessary an Rx Observable) */
5 | export function isInteropObservable(input: any): input is InteropObservable {
6 | return input && typeof input[Symbol_observable] === 'function';
7 | }
8 |
--------------------------------------------------------------------------------
/src/internal/util/isIterable.ts:
--------------------------------------------------------------------------------
1 | import { iterator as Symbol_iterator } from '../symbol/iterator';
2 |
3 | /** Identifies an input as being an Iterable */
4 | export function isIterable(input: any): input is Iterable {
5 | return input && typeof input[Symbol_iterator] === 'function';
6 | }
7 |
--------------------------------------------------------------------------------
/src/internal/util/isNumeric.ts:
--------------------------------------------------------------------------------
1 | import { isArray } from './isArray';
2 |
3 | export function isNumeric(val: any): val is number | string {
4 | // parseFloat NaNs numeric-cast false positives (null|true|false|"")
5 | // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
6 | // subtraction forces infinities to NaN
7 | // adding 1 corrects loss of precision from parseFloat (#15100)
8 | return !isArray(val) && (val - parseFloat(val) + 1) >= 0;
9 | }
10 |
--------------------------------------------------------------------------------
/src/internal/util/isObject.ts:
--------------------------------------------------------------------------------
1 | export function isObject(x: any): x is Object {
2 | return x !== null && typeof x === 'object';
3 | }
4 |
--------------------------------------------------------------------------------
/src/internal/util/isObservable.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from '../Observable';
2 |
3 | /**
4 | * Tests to see if the object is an RxJS {@link Observable}
5 | * @param obj the object to test
6 | */
7 | export function isObservable(obj: any): obj is Observable {
8 | return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));
9 | }
10 |
--------------------------------------------------------------------------------
/src/internal/util/isPromise.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Tests to see if the object is an ES2015 (ES6) Promise
3 | * @see {@link https://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects}
4 | * @param value the object to test
5 | */
6 | export function isPromise(value: any): value is PromiseLike {
7 | return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';
8 | }
9 |
--------------------------------------------------------------------------------
/src/internal/util/isScheduler.ts:
--------------------------------------------------------------------------------
1 | import { SchedulerLike } from '../types';
2 |
3 | export function isScheduler(value: any): value is SchedulerLike {
4 | return value && typeof (value).schedule === 'function';
5 | }
6 |
--------------------------------------------------------------------------------
/src/internal/util/noop.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable:no-empty */
2 | export function noop() { }
3 |
--------------------------------------------------------------------------------
/src/internal/util/not.ts:
--------------------------------------------------------------------------------
1 | export function not(pred: Function, thisArg: any): Function {
2 | function notPred(): any {
3 | return !(( notPred).pred.apply(( notPred).thisArg, arguments));
4 | }
5 | ( notPred).pred = pred;
6 | ( notPred).thisArg = thisArg;
7 | return notPred;
8 | }
--------------------------------------------------------------------------------
/src/internal/util/subscribeToArray.ts:
--------------------------------------------------------------------------------
1 | import { Subscriber } from '../Subscriber';
2 |
3 | /**
4 | * Subscribes to an ArrayLike with a subscriber
5 | * @param array The array or array-like to subscribe to
6 | */
7 | export const subscribeToArray = (array: ArrayLike) => (subscriber: Subscriber) => {
8 | for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {
9 | subscriber.next(array[i]);
10 | }
11 | subscriber.complete();
12 | };
13 |
--------------------------------------------------------------------------------
/src/internal/util/subscribeToPromise.ts:
--------------------------------------------------------------------------------
1 | import { Subscriber } from '../Subscriber';
2 | import { hostReportError } from './hostReportError';
3 |
4 | export const subscribeToPromise = (promise: PromiseLike) => (subscriber: Subscriber) => {
5 | promise.then(
6 | (value) => {
7 | if (!subscriber.closed) {
8 | subscriber.next(value);
9 | subscriber.complete();
10 | }
11 | },
12 | (err: any) => subscriber.error(err)
13 | )
14 | .then(null, hostReportError);
15 | return subscriber;
16 | };
17 |
--------------------------------------------------------------------------------
/src/internal/util/tryCatch.ts:
--------------------------------------------------------------------------------
1 | import { errorObject } from './errorObject';
2 |
3 | let tryCatchTarget: Function | undefined;
4 |
5 | function tryCatcher(this: any): any {
6 | errorObject.e = undefined;
7 | try {
8 | return tryCatchTarget!.apply(this, arguments);
9 | } catch (e) {
10 | errorObject.e = e;
11 | return errorObject;
12 | } finally {
13 | tryCatchTarget = undefined;
14 | }
15 | }
16 |
17 | export function tryCatch(fn: T): T {
18 | tryCatchTarget = fn;
19 | return tryCatcher as Function as T;
20 | }
21 |
--------------------------------------------------------------------------------
/src/testing/index.ts:
--------------------------------------------------------------------------------
1 | export { TestScheduler } from '../internal/testing/TestScheduler';
2 |
--------------------------------------------------------------------------------
/src/tsconfig.base.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "baseUrl": ".",
6 | "paths": {
7 | "rxjs": ["./"],
8 | "rxjs/*": ["./*"]
9 | }
10 | },
11 | "include": [
12 | "./**/*.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/src/tsconfig.cjs.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "target": "es5",
6 | "outDir": "../dist/cjs"
7 | },
8 | "exclude": [
9 | "./internal/umd.ts"
10 | ]
11 | }
--------------------------------------------------------------------------------
/src/tsconfig.cjs.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.cjs.json",
3 | /**
4 | * this is pseudo config for test case's relative path resolution to `../src`, runs
5 | * cjs config once more instead of manual copying to utilize incremental build.
6 | */
7 | "compilerOptions": {
8 | "outDir": "../dist/src"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/tsconfig.esm.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "compilerOptions": {
4 | "module": "esnext",
5 | "importHelpers": true,
6 | "target": "es2015",
7 | "outDir": "../dist/esm"
8 | }
9 | }
--------------------------------------------------------------------------------
/src/tsconfig.esm5.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "compilerOptions": {
4 | "module": "esnext",
5 | "importHelpers": true,
6 | "target": "es5",
7 | "outDir": "../dist/esm5"
8 | },
9 | "exclude": [
10 | "./internal/umd.ts"
11 | ]
12 | }
--------------------------------------------------------------------------------
/src/tsconfig.esm5.rollup.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.esm5.json",
3 | "compilerOptions": {
4 | "outDir": "../dist/esm5_for_rollup",
5 | "noEmitHelpers": true
6 | },
7 | "exclude": []
8 | }
--------------------------------------------------------------------------------
/src/tsconfig.types.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.esm.json",
3 | "compilerOptions": {
4 | "composite": true,
5 | "module": "es2015",
6 | "target": "esnext",
7 | "removeComments": false,
8 | "declaration": true,
9 | "declarationMap": true,
10 | "declarationDir": "../dist/types",
11 | "emitDeclarationOnly": true
12 | },
13 | "exclude": [
14 | "./internal/umd.ts"
15 | ]
16 | }
--------------------------------------------------------------------------------
/src/webSocket/index.ts:
--------------------------------------------------------------------------------
1 | export { webSocket as webSocket } from '../internal/observable/dom/webSocket';
2 | export { WebSocketSubject, WebSocketSubjectConfig } from '../internal/observable/dom/WebSocketSubject';
3 |
--------------------------------------------------------------------------------
/tools/make-closure-core.js:
--------------------------------------------------------------------------------
1 | var makeClosure = require('./make-closure');
2 |
3 | makeClosure('dist/global/rxjs.umd.js');
4 |
--------------------------------------------------------------------------------
/tools/make-umd-bundle.js:
--------------------------------------------------------------------------------
1 | const rollupBundle = require('./rollup-bundle');
2 | const fs = require('fs-extra');
3 |
4 | fs.ensureDirSync('dist/global');
5 |
6 | rollupBundle({
7 | input: 'dist/esm5_for_rollup/internal/umd.js',
8 | dest: 'dist/global/rxjs.umd.js',
9 | });
10 |
--------------------------------------------------------------------------------