conv-context
v0.0.14
Published
Conversation context manager
Downloads
12,125
Readme
Conversation Context
A simple class that helps to handle bot conversation context.
Getting started
const Context = require('conv-context');
const context = new Context(contextData, thread);
Resolve context from contextData
// resolver - optional resolver function
const resolvedContext = await context.resolve(resolver=defaultResolver, data);
Custom resolver (binded to the step's 'this')
const resolver = async function (output, store) {
// your code here
// ...
};
Get context data
// 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 data
// 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 in the session and shared storage
// save context data to session and shared (optional) storage
await context.save(shared=true, ttl=null)
helper methods for each storage
// save session data
context.setSession();
// save shared session data
await context.setShared(ttl);