@openlens/feature-core
TypeScript icon, indicating that this package has built-in type declarations

6.5.0 • Public • Published

@openlens/feature-core

Feature is set of injectables that are registered and deregistered simultaneously.

Install

$ npm install @openlens/feature-core

Usage

import { createContainer } from "@ogre-tools/injectable"
import { getFeature, registerFeature, deregisterFeature } from "@openlens/feature-core"

// Notice that this Feature is usually exported from another NPM package.
const someFeature = getFeature({
  id: "some-feature",
  
  register: (di) => {
    di.register(someInjectable, someOtherInjectable);
  },
  
  // Feature dependencies are automatically registered and 
  // deregistered when necessary.
  dependencies: [someOtherFeature] 
});

const di = createContainer("some-container");

registerFeature(di, someFeature);

// Or perhaps you want to deregister?
deregisterFeature(di, someFeature);

Need to know

NPM packages exporting a Feature

  • Prefer peerDependencies since they are installed from the application and are not allowed to be in the built bundle.
  • Prefer exporting injectionToken instead of injectable for not allowing other features to access technical details like the injectable

Readme

Keywords

none

Package Sidebar

Install

npm i @openlens/feature-core

Weekly Downloads

0

Version

6.5.0

License

MIT

Unpacked Size

4.67 kB

Total Files

7

Last publish

Collaborators

  • fbaldo