Buckets:
| /** | |
| * @license | |
| * Copyright 2021 Google LLC | |
| * SPDX-License-Identifier: BSD-3-Clause | |
| */ | |
| /** | |
| * Chooses and evaluates a template function from a list based on matching | |
| * the given `value` to a case. | |
| * | |
| * Cases are structured as `[caseValue, func]`. `value` is matched to | |
| * `caseValue` by strict equality. The first match is selected. Case values | |
| * can be of any type including primitives, objects, and symbols. | |
| * | |
| * This is similar to a switch statement, but as an expression and without | |
| * fallthrough. | |
| * | |
| * @example | |
| * | |
| * ```ts | |
| * render() { | |
| * return html` | |
| * ${choose(this.section, [ | |
| * ['home', () => html`<h1>Home</h1>`], | |
| * ['about', () => html`<h1>About</h1>`] | |
| * ], | |
| * () => html`<h1>Error</h1>`)} | |
| * `; | |
| * } | |
| * ``` | |
| */ | |
| const choose = (value, cases, defaultCase) => { | |
| for (const c of cases) { | |
| const caseValue = c[0]; | |
| if (caseValue === value) { | |
| const fn = c[1]; | |
| return fn(); | |
| } | |
| } | |
| return defaultCase?.(); | |
| }; | |
| export { choose }; | |
| //# sourceMappingURL=choose.js.map | |
Xet Storage Details
- Size:
- 1.06 kB
- Xet hash:
- 219780eb8f50e298d750f8ecb83d076ace7d06c89db9e23b8bac9708842f3662
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.