| /** |
| * @license |
| * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. |
| * This code may only be used under the BSD style license found at |
| * http://polymer.github.io/LICENSE.txt |
| * The complete set of authors may be found at |
| * http://polymer.github.io/AUTHORS.txt |
| * The complete set of contributors may be found at |
| * http://polymer.github.io/CONTRIBUTORS.txt |
| * Code distributed by Google as part of the polymer project is also |
| * subject to an additional IP rights grant found at |
| * http://polymer.github.io/PATENTS.txt |
| */ |
| |
| /** |
| * The Part interface represents a dynamic part of a template instance rendered |
| * by lit-html. |
| */ |
| export interface Part { |
| readonly value: unknown; |
| |
| /** |
| * Sets the current part value, but does not write it to the DOM. |
| * @param value The value that will be committed. |
| */ |
| setValue(value: unknown): void; |
| |
| /** |
| * Commits the current part value, causing it to actually be written to the |
| * DOM. |
| * |
| * Directives are run at the start of `commit`, so that if they call |
| * `part.setValue(...)` synchronously that value will be used in the current |
| * commit, and there's no need to call `part.commit()` within the directive. |
| * If directives set a part value asynchronously, then they must call |
| * `part.commit()` manually. |
| */ |
| commit(): void; |
| } |
| |
| /** |
| * A sentinel value that signals that a value was handled by a directive and |
| * should not be written to the DOM. |
| */ |
| export const noChange = {}; |
| |
| /** |
| * A sentinel value that signals a NodePart to fully clear its content. |
| */ |
| export const nothing = {}; |