/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const PartType = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6, }; /** * Creates a user-facing directive function from a Directive class. This * function has the same parameters as the directive's render() method. */ const directive = (c) => (...values) => ({ // This property needs to remain unminified. ['_$litDirective$']: c, values, }); /** * Base class for creating custom directives. Users should extend this class, * implement `render` and/or `update`, and then pass their subclass to * `directive`. */ class Directive { constructor(_partInfo) { } // See comment in Disconnectable interface for why this is a getter get _$isConnected() { return this._$parent._$isConnected; } /** @internal */ _$initialize(part, parent, attributeIndex) { this.__part = part; this._$parent = parent; this.__attributeIndex = attributeIndex; } /** @internal */ _$resolve(part, props) { return this.update(part, props); } update(_part, props) { return this.render(...props); } } export { Directive, PartType, directive }; //# sourceMappingURL=directive.js.map