UNPKG

lit-html

Version:

HTML templates literals in JavaScript

32 lines 941 B
/** * @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>`)} * `; * } * ``` */ export declare const choose: <T, V, K extends T = T>(value: T, cases: [K, () => V][], defaultCase?: (() => V) | undefined) => V | undefined; //# sourceMappingURL=choose.d.ts.map