conv-context

0.0.14 • Public • Published

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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.14
    3,681
    • latest

Version History

Package Sidebar

Install

npm i conv-context

Weekly Downloads

3,681

Version

0.0.14

License

ISC

Unpacked Size

7.01 kB

Total Files

3

Last publish

Collaborators

  • zdendyak