controllers.mjs (615B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 // Simple controller wrapper that binds a controller and runs cleanup function 6 // https://lit.dev/docs/composition/controllers/ 7 export const withSimpleController = (host, functionToBind, ...args) => 8 class { 9 constructor() { 10 host.addController(this); 11 } 12 hostConnected() { 13 this.cleanup = functionToBind?.(host, ...args); 14 } 15 hostDisconnected() { 16 this.cleanup?.(); 17 } 18 };