JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2964
  • Score
    100M100P100Q111267F
  • License ISC

Conversation context manager

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (conv-context) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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

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