Skip to content

Commit

Permalink
Removed unnecessary share replays
Browse files Browse the repository at this point in the history
  • Loading branch information
squidfunk committed Aug 22, 2020
1 parent c7d770b commit e9795f3
Show file tree
Hide file tree
Showing 26 changed files with 139 additions and 167 deletions.
2 changes: 0 additions & 2 deletions material/assets/javascripts/bundle.a8472eec.min.js

This file was deleted.

1 change: 0 additions & 1 deletion material/assets/javascripts/bundle.a8472eec.min.js.map

This file was deleted.

2 changes: 2 additions & 0 deletions material/assets/javascripts/bundle.d2ae5e32.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions material/assets/javascripts/bundle.d2ae5e32.min.js.map

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions material/assets/javascripts/vendor.9b93e5e7.min.js.map

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion material/assets/javascripts/vendor.d1f5a259.min.js.map

This file was deleted.

12 changes: 6 additions & 6 deletions material/assets/manifest.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"assets/javascripts/bundle.js": "assets/javascripts/bundle.a8472eec.min.js",
"assets/javascripts/bundle.js.map": "assets/javascripts/bundle.a8472eec.min.js.map",
"assets/javascripts/vendor.js": "assets/javascripts/vendor.d1f5a259.min.js",
"assets/javascripts/vendor.js.map": "assets/javascripts/vendor.d1f5a259.min.js.map",
"assets/javascripts/bundle.js": "assets/javascripts/bundle.d2ae5e32.min.js",
"assets/javascripts/bundle.js.map": "assets/javascripts/bundle.d2ae5e32.min.js.map",
"assets/javascripts/vendor.js": "assets/javascripts/vendor.9b93e5e7.min.js",
"assets/javascripts/vendor.js.map": "assets/javascripts/vendor.9b93e5e7.min.js.map",
"assets/javascripts/worker/search.js": "assets/javascripts/worker/search.fae956e7.min.js",
"assets/javascripts/worker/search.js.map": "assets/javascripts/worker/search.fae956e7.min.js.map",
"assets/stylesheets/main.css": "assets/stylesheets/main.2c939256.min.css",
"assets/stylesheets/main.css.map": "assets/stylesheets/main.2c939256.min.css.map",
"assets/stylesheets/main.css": "assets/stylesheets/main.c1355826.min.css",
"assets/stylesheets/main.css.map": "assets/stylesheets/main.c1355826.min.css.map",
"assets/stylesheets/overrides.css": "assets/stylesheets/overrides.011ebae6.min.css",
"assets/stylesheets/overrides.css.map": "assets/stylesheets/overrides.011ebae6.min.css.map",
"assets/stylesheets/palette.css": "assets/stylesheets/palette.2c2767bb.min.css",
Expand Down
3 changes: 0 additions & 3 deletions material/assets/stylesheets/main.2c939256.min.css

This file was deleted.

1 change: 0 additions & 1 deletion material/assets/stylesheets/main.2c939256.min.css.map

This file was deleted.

3 changes: 3 additions & 0 deletions material/assets/stylesheets/main.c1355826.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions material/assets/stylesheets/main.c1355826.min.css.map

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions material/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
{% endif %}
{% endblock %}
{% block styles %}
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.2c939256.min.css' | url }}">
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.c1355826.min.css' | url }}">
{% if palette.scheme or palette.primary or palette.accent %}
<link rel="stylesheet" href="{{ 'assets/stylesheets/palette.2c2767bb.min.css' | url }}">
{% endif %}
Expand Down Expand Up @@ -182,8 +182,8 @@ <h1>{{ page.title | default(config.site_name, true)}}</h1>
{% endblock %}
</div>
{% block scripts %}
<script src="{{ 'assets/javascripts/vendor.d1f5a259.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.a8472eec.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/vendor.9b93e5e7.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.d2ae5e32.min.js' | url }}"></script>
{%- set translations = {} -%}
{%- for key in [
"clipboard.copy",
Expand Down
2 changes: 1 addition & 1 deletion src/assets/javascripts/components/_/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ export function setupComponents(
}),

/* Convert to hot observable */
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)
}

Expand Down
4 changes: 1 addition & 3 deletions src/assets/javascripts/components/header/_/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import {
distinctUntilChanged,
filter,
map,
shareReplay,
startWith,
switchMap,
withLatestFrom
Expand Down Expand Up @@ -116,8 +115,7 @@ export function mountHeader(
/* Combine into single observable */
return combineLatest([header$, type$])
.pipe(
map(([header, type]): Header => ({ type, ...header })),
shareReplay(1)
map(([header, type]): Header => ({ type, ...header }))
)
})
)
Expand Down
2 changes: 1 addition & 1 deletion src/assets/javascripts/components/header/react/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ export function watchHeader(
})
}
}),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)
}

Expand Down
11 changes: 4 additions & 7 deletions src/assets/javascripts/components/main/react/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import {
map,
observeOn,
pluck,
shareReplay,
switchMap,
tap
} from "rxjs/operators"
Expand Down Expand Up @@ -84,8 +83,7 @@ export function watchMain(
const adjust$ = header$
.pipe(
pluck("height"),
distinctUntilChanged(),
shareReplay(1)
distinctUntilChanged()
)

/* Compute the main area's top and bottom borders */
Expand All @@ -96,11 +94,10 @@ export function watchMain(
map(({ height }) => ({
top: el.offsetTop,
bottom: el.offsetTop + height
}))
})),
distinctUntilKeyChanged("bottom")
)
),
distinctUntilKeyChanged("bottom"),
shareReplay(1)
)
)

/* Compute the main area's offset, visible height and if we scrolled past */
Expand Down
110 changes: 0 additions & 110 deletions src/assets/javascripts/components/navigation/_/index.ts

This file was deleted.

89 changes: 88 additions & 1 deletion src/assets/javascripts/components/navigation/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,91 @@
* IN THE SOFTWARE.
*/

export * from "./_"
import { Observable, OperatorFunction, of, pipe } from "rxjs"
import { map, switchMap } from "rxjs/operators"

import { Viewport } from "browser"

import { Header } from "../header"
import { Main } from "../main"
import {
Sidebar,
applySidebar,
watchSidebar
} from "../shared"

/* ----------------------------------------------------------------------------
* Types
* ------------------------------------------------------------------------- */

/**
* Navigation for [screen -]
*/
interface NavigationBelowScreen {} // tslint:disable-line

/**
* Navigation for [screen +]
*/
interface NavigationAboveScreen {
sidebar: Sidebar /* Sidebar */
}

/* ------------------------------------------------------------------------- */

/**
* Navigation
*/
export type Navigation =
| NavigationBelowScreen
| NavigationAboveScreen

/* ----------------------------------------------------------------------------
* Helper types
* ------------------------------------------------------------------------- */

/**
* Mount options
*/
interface MountOptions {
header$: Observable<Header> /* Header observable */
main$: Observable<Main> /* Main area observable */
viewport$: Observable<Viewport> /* Viewport observable */
screen$: Observable<boolean> /* Screen media observable */
}

/* ----------------------------------------------------------------------------
* Functions
* ------------------------------------------------------------------------- */

/**
* Mount navigation from source observable
*
* @param options - Options
*
* @return Operator function
*/
export function mountNavigation(
{ header$, main$, viewport$, screen$ }: MountOptions
): OperatorFunction<HTMLElement, Navigation> {
return pipe(
switchMap(el => screen$
.pipe(
switchMap(screen => {

/* [screen +]: Mount navigation in sidebar */
if (screen) {
return watchSidebar(el, { main$, viewport$ })
.pipe(
applySidebar(el, { header$ }),
map(sidebar => ({ sidebar }))
)

/* [screen -]: Mount navigation in drawer */
} else {
return of({})
}
})
)
)
)
}
20 changes: 10 additions & 10 deletions src/assets/javascripts/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -200,39 +200,39 @@ export function initialize(config: unknown) {
const header$ = useComponent("header")
.pipe(
mountHeader({ document$, viewport$ }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

const main$ = useComponent("main")
.pipe(
mountMain({ header$, viewport$ }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

/* ----------------------------------------------------------------------- */

const navigation$ = useComponent("navigation")
.pipe(
mountNavigation({ header$, main$, viewport$, screen$ }),
shareReplay(1) // shareReplay because there might be late subscribers
shareReplay({ bufferSize: 1, refCount: true }) // shareReplay because there might be late subscribers
)

const toc$ = useComponent("toc")
.pipe(
mountTableOfContents({ header$, main$, viewport$, tablet$ }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

const tabs$ = useComponent("tabs")
.pipe(
mountTabs({ header$, viewport$, screen$ }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

const hero$ = useComponent("hero")
.pipe(
mountHero({ header$, viewport$ }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

/* ----------------------------------------------------------------------- */
Expand Down Expand Up @@ -277,21 +277,21 @@ export function initialize(config: unknown) {
const query$ = useComponent("search-query")
.pipe(
mountSearchQuery(worker, { transform: config.search.transform }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

/* Mount search reset */
const reset$ = useComponent("search-reset")
.pipe(
mountSearchReset(),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

/* Mount search result */
const result$ = useComponent("search-result")
.pipe(
mountSearchResult(worker, { query$ }),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

return useComponent("search")
Expand All @@ -304,7 +304,7 @@ export function initialize(config: unknown) {
.subscribe(el => el.hidden = true) // TODO: Hack
return NEVER
}),
shareReplay(1)
shareReplay({ bufferSize: 1, refCount: true })
)

/* ----------------------------------------------------------------------- */
Expand Down

0 comments on commit e9795f3

Please sign in to comment.