A simple class that helps to handle bot conversation context.
const Context = require('conv-context');
const context = new Context(contextData, thread);
// resolver - optional resolver function
const resolvedContext = await context.resolve(resolver=defaultResolver);
const resolver = async function (output, store) {
// your code here
// ...
};
// get context for the 'name' entity. The path is also accepted: 'path.to.data'
context.get('name', data, defaultValue);
// get context from step with Id === stepId
context.getStepContext(stepId)
// find step context by some filter criteria
context.findStepContext(query={})
// find step Id by some filter criteria
context.findStepId(query={})
// get step contexts by some filter criteria
context.filterStepContext(query={})
// set context for the 'name' entity. The path is also accepted: 'path.to.data'
context.set('name', data);
// set step context
context.setStepContext(data)
// save context data to session and shared (optional) storage
await context.save(shared=true, ttl=null)
// save session data
context.setSession();
// save shared session data
await context.setShared(ttl);