Nurturing Pluto's Martians

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

    Install

    npm i conv-context

    DownloadsWeekly Downloads

    4,497

    Version

    0.0.14

    License

    ISC

    Unpacked Size

    7.01 kB

    Total Files

    3

    Last publish

    Collaborators

    • zdendyak