timepiece/node_modules/lit-html/directives/choose.d.ts

32 lines
924 B
TypeScript
Raw Normal View History

2024-05-14 14:54:12 +00:00
/**
* @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>(value: T, cases: [T, () => V][], defaultCase?: (() => V) | undefined) => V | undefined;
//# sourceMappingURL=choose.d.ts.map