oja-context-provider
Provides a folder based resolution of domain and actions for oja/context. It assumes the app already have oja installed and available via a simple require resolution or can be provided as a createContext option.
Install
$ npm install oja-context-provider -S
Usage
const createProvider = ; // create provider one time or many timesconst createContext = await ; // create context and inject some properties or actions that will be merged with the ones discovered.// NOTE: in-line options will override any discovered ones to allow easy mockingconst context = await ; // or with propertiesconst context = await ; console;console; // >> foov
Using in-line actions to override discovered ones
const context = await ; const fooVal = await contextdomain1;
Configuration
The resolution of actions are done via initial initialization of the provider, while an actual action load is delayed till context.domain. is accessed.
const createProvider = ; // create provider one time or many times// one should use it only once to avoid re-reading the same folder structureconst provider = ;
Or a simpler way when no filter is needed
const createProvider = ; // create provider one time or many times// one should use it only once to avoid re-reading the same folder structureconst provider = ;
Where:
- baseDir is the location from where the path: shortstop handler will start path resolution
- filter is a function that allows a user to decide if the given file is action (true) or not (false)
- contextFactory is oja/context implementation injection
File filter API
async true|flase;
Note that the function is async and one can do async action before returning.