tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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  };