New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

botmaster-session-ware

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

botmaster-session-ware - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

2

coverage/coverage.json

@@ -1,1 +0,1 @@

{"/Users/jonathanwickens/dev/botmaster-session-ware/dist/index.js":{"path":"/Users/jonathanwickens/dev/botmaster-session-ware/dist/index.js","s":{"1":1,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":0,"9":0,"10":3,"11":3,"12":3,"13":3,"14":3,"15":0,"16":1,"17":1,"18":1,"19":1},"b":{"1":[3,2],"2":[2,1],"3":[3,0],"4":[0,0],"5":[0,0]},"f":{"1":3,"2":3,"3":3,"4":0,"5":1,"6":1},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":71},"end":{"line":1,"column":82}}},"2":{"name":"f","line":1,"loc":{"start":{"line":1,"column":430},"end":{"line":1,"column":447}}},"3":{"name":"(anonymous_3)","line":1,"loc":{"start":{"line":1,"column":472},"end":{"line":1,"column":483}}},"4":{"name":"(anonymous_4)","line":1,"loc":{"start":{"line":1,"column":615},"end":{"line":1,"column":626}}},"5":{"name":"g","line":1,"loc":{"start":{"line":1,"column":700},"end":{"line":1,"column":717}}},"6":{"name":"(anonymous_6)","line":1,"loc":{"start":{"line":1,"column":778},"end":{"line":1,"column":788}}}},"statementMap":{"1":{"start":{"line":1,"column":13},"end":{"line":1,"column":887}},"2":{"start":{"line":1,"column":83},"end":{"line":1,"column":202}},"3":{"start":{"line":1,"column":202},"end":{"line":1,"column":217}},"4":{"start":{"line":1,"column":217},"end":{"line":1,"column":223}},"5":{"start":{"line":1,"column":223},"end":{"line":1,"column":414}},"6":{"start":{"line":1,"column":230},"end":{"line":1,"column":270}},"7":{"start":{"line":1,"column":270},"end":{"line":1,"column":277}},"8":{"start":{"line":1,"column":283},"end":{"line":1,"column":414}},"9":{"start":{"line":1,"column":341},"end":{"line":1,"column":414}},"10":{"start":{"line":1,"column":414},"end":{"line":1,"column":885}},"11":{"start":{"line":1,"column":448},"end":{"line":1,"column":689}},"12":{"start":{"line":1,"column":484},"end":{"line":1,"column":552}},"13":{"start":{"line":1,"column":552},"end":{"line":1,"column":582}},"14":{"start":{"line":1,"column":582},"end":{"line":1,"column":606}},"15":{"start":{"line":1,"column":627},"end":{"line":1,"column":687}},"16":{"start":{"line":1,"column":718},"end":{"line":1,"column":752}},"17":{"start":{"line":1,"column":752},"end":{"line":1,"column":883}},"18":{"start":{"line":1,"column":789},"end":{"line":1,"column":881}},"19":{"start":{"line":1,"column":887},"end":{"line":1,"column":914}}},"branchMap":{"1":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":92},"end":{"line":1,"column":93}},{"start":{"line":1,"column":95},"end":{"line":1,"column":97}}]},"2":{"line":1,"type":"cond-expr","locations":[{"start":{"line":1,"column":160},"end":{"line":1,"column":169}},{"start":{"line":1,"column":170},"end":{"line":1,"column":186}}]},"3":{"line":1,"type":"if","locations":[{"start":{"line":1,"column":223},"end":{"line":1,"column":223}},{"start":{"line":1,"column":223},"end":{"line":1,"column":223}}]},"4":{"line":1,"type":"if","locations":[{"start":{"line":1,"column":283},"end":{"line":1,"column":283}},{"start":{"line":1,"column":283},"end":{"line":1,"column":283}}]},"5":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":290},"end":{"line":1,"column":314}},{"start":{"line":1,"column":316},"end":{"line":1,"column":340}}]}}},"/Users/jonathanwickens/dev/botmaster-session-ware/dist/adapters/MemoryStore.js":{"path":"/Users/jonathanwickens/dev/botmaster-session-ware/dist/adapters/MemoryStore.js","s":{"1":1,"2":1,"3":1,"4":2,"5":1,"6":1,"7":1,"8":3,"9":0,"10":1,"11":1,"12":3,"13":1,"14":3,"15":1,"16":1},"b":{"1":[2,2],"2":[2,2],"3":[1,1],"4":[1,0],"5":[0,3],"6":[3,2]},"f":{"1":1,"2":1,"3":1,"4":3,"5":1,"6":3,"7":3,"8":1},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":30},"end":{"line":1,"column":40}}},"2":{"name":"a","line":1,"loc":{"start":{"line":1,"column":41},"end":{"line":1,"column":56}}},"3":{"name":"(anonymous_3)","line":1,"loc":{"start":{"line":1,"column":210},"end":{"line":1,"column":225}}},"4":{"name":"_classCallCheck","line":1,"loc":{"start":{"line":1,"column":269},"end":{"line":1,"column":298}}},"5":{"name":"(anonymous_5)","line":1,"loc":{"start":{"line":1,"column":393},"end":{"line":1,"column":403}}},"6":{"name":"a","line":1,"loc":{"start":{"line":1,"column":404},"end":{"line":1,"column":416}}},"7":{"name":"get","line":1,"loc":{"start":{"line":1,"column":495},"end":{"line":1,"column":510}}},"8":{"name":"set","line":1,"loc":{"start":{"line":1,"column":572},"end":{"line":1,"column":589}}}},"statementMap":{"1":{"start":{"line":1,"column":13},"end":{"line":1,"column":269}},"2":{"start":{"line":1,"column":41},"end":{"line":1,"column":203}},"3":{"start":{"line":1,"column":57},"end":{"line":1,"column":202}},"4":{"start":{"line":1,"column":86},"end":{"line":1,"column":202}},"5":{"start":{"line":1,"column":203},"end":{"line":1,"column":265}},"6":{"start":{"line":1,"column":226},"end":{"line":1,"column":264}},"7":{"start":{"line":1,"column":269},"end":{"line":1,"column":377}},"8":{"start":{"line":1,"column":299},"end":{"line":1,"column":376}},"9":{"start":{"line":1,"column":320},"end":{"line":1,"column":376}},"10":{"start":{"line":1,"column":377},"end":{"line":1,"column":640}},"11":{"start":{"line":1,"column":404},"end":{"line":1,"column":455}},"12":{"start":{"line":1,"column":417},"end":{"line":1,"column":454}},"13":{"start":{"line":1,"column":455},"end":{"line":1,"column":636}},"14":{"start":{"line":1,"column":511},"end":{"line":1,"column":552}},"15":{"start":{"line":1,"column":590},"end":{"line":1,"column":630}},"16":{"start":{"line":1,"column":640},"end":{"line":1,"column":667}}},"branchMap":{"1":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":106},"end":{"line":1,"column":118}},{"start":{"line":1,"column":120},"end":{"line":1,"column":122}}]},"2":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":141},"end":{"line":1,"column":152}},{"start":{"line":1,"column":155},"end":{"line":1,"column":168}}]},"3":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":233},"end":{"line":1,"column":234}},{"start":{"line":1,"column":236},"end":{"line":1,"column":252}}]},"4":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":253},"end":{"line":1,"column":254}},{"start":{"line":1,"column":256},"end":{"line":1,"column":262}}]},"5":{"line":1,"type":"if","locations":[{"start":{"line":1,"column":299},"end":{"line":1,"column":299}},{"start":{"line":1,"column":299},"end":{"line":1,"column":299}}]},"6":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":534},"end":{"line":1,"column":547}},{"start":{"line":1,"column":549},"end":{"line":1,"column":551}}]}}}}
{"/Users/jonathanwickens/dev/botmaster-session-ware/dist/index.js":{"path":"/Users/jonathanwickens/dev/botmaster-session-ware/dist/index.js","s":{"1":1,"2":8,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":0,"10":0,"11":3,"12":3,"13":3,"14":3,"15":3,"16":0,"17":1,"18":1,"19":1,"20":1},"b":{"1":[3,2],"2":[2,1],"3":[3,0],"4":[0,0],"5":[0,0]},"f":{"1":8,"2":3,"3":3,"4":3,"5":0,"6":1,"7":1},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":140},"end":{"line":1,"column":151}}},"2":{"name":"(anonymous_2)","line":1,"loc":{"start":{"line":1,"column":218},"end":{"line":1,"column":229}}},"3":{"name":"f","line":1,"loc":{"start":{"line":1,"column":577},"end":{"line":1,"column":594}}},"4":{"name":"(anonymous_4)","line":1,"loc":{"start":{"line":1,"column":623},"end":{"line":1,"column":634}}},"5":{"name":"(anonymous_5)","line":1,"loc":{"start":{"line":1,"column":770},"end":{"line":1,"column":781}}},"6":{"name":"g","line":1,"loc":{"start":{"line":1,"column":855},"end":{"line":1,"column":874}}},"7":{"name":"(anonymous_7)","line":1,"loc":{"start":{"line":1,"column":939},"end":{"line":1,"column":949}}}},"statementMap":{"1":{"start":{"line":1,"column":13},"end":{"line":1,"column":1035}},"2":{"start":{"line":1,"column":152},"end":{"line":1,"column":204}},"3":{"start":{"line":1,"column":230},"end":{"line":1,"column":349}},"4":{"start":{"line":1,"column":349},"end":{"line":1,"column":364}},"5":{"start":{"line":1,"column":364},"end":{"line":1,"column":370}},"6":{"start":{"line":1,"column":370},"end":{"line":1,"column":561}},"7":{"start":{"line":1,"column":377},"end":{"line":1,"column":417}},"8":{"start":{"line":1,"column":417},"end":{"line":1,"column":424}},"9":{"start":{"line":1,"column":430},"end":{"line":1,"column":561}},"10":{"start":{"line":1,"column":488},"end":{"line":1,"column":561}},"11":{"start":{"line":1,"column":561},"end":{"line":1,"column":1033}},"12":{"start":{"line":1,"column":595},"end":{"line":1,"column":844}},"13":{"start":{"line":1,"column":635},"end":{"line":1,"column":707}},"14":{"start":{"line":1,"column":707},"end":{"line":1,"column":737}},"15":{"start":{"line":1,"column":737},"end":{"line":1,"column":761}},"16":{"start":{"line":1,"column":782},"end":{"line":1,"column":842}},"17":{"start":{"line":1,"column":875},"end":{"line":1,"column":909}},"18":{"start":{"line":1,"column":909},"end":{"line":1,"column":1031}},"19":{"start":{"line":1,"column":950},"end":{"line":1,"column":1029}},"20":{"start":{"line":1,"column":1035},"end":{"line":1,"column":1062}}},"branchMap":{"1":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":239},"end":{"line":1,"column":240}},{"start":{"line":1,"column":242},"end":{"line":1,"column":244}}]},"2":{"line":1,"type":"cond-expr","locations":[{"start":{"line":1,"column":307},"end":{"line":1,"column":316}},{"start":{"line":1,"column":317},"end":{"line":1,"column":333}}]},"3":{"line":1,"type":"if","locations":[{"start":{"line":1,"column":370},"end":{"line":1,"column":370}},{"start":{"line":1,"column":370},"end":{"line":1,"column":370}}]},"4":{"line":1,"type":"if","locations":[{"start":{"line":1,"column":430},"end":{"line":1,"column":430}},{"start":{"line":1,"column":430},"end":{"line":1,"column":430}}]},"5":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":437},"end":{"line":1,"column":461}},{"start":{"line":1,"column":463},"end":{"line":1,"column":487}}]}}},"/Users/jonathanwickens/dev/botmaster-session-ware/dist/adapters/MemoryStore.js":{"path":"/Users/jonathanwickens/dev/botmaster-session-ware/dist/adapters/MemoryStore.js","s":{"1":1,"2":1,"3":1,"4":2,"5":1,"6":1,"7":1,"8":3,"9":0,"10":1,"11":1,"12":3,"13":1,"14":3,"15":1,"16":1},"b":{"1":[2,2],"2":[2,2],"3":[1,1],"4":[1,0],"5":[0,3],"6":[3,2]},"f":{"1":1,"2":1,"3":1,"4":3,"5":1,"6":3,"7":3,"8":1},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":30},"end":{"line":1,"column":40}}},"2":{"name":"a","line":1,"loc":{"start":{"line":1,"column":41},"end":{"line":1,"column":56}}},"3":{"name":"(anonymous_3)","line":1,"loc":{"start":{"line":1,"column":210},"end":{"line":1,"column":225}}},"4":{"name":"_classCallCheck","line":1,"loc":{"start":{"line":1,"column":269},"end":{"line":1,"column":298}}},"5":{"name":"(anonymous_5)","line":1,"loc":{"start":{"line":1,"column":393},"end":{"line":1,"column":403}}},"6":{"name":"a","line":1,"loc":{"start":{"line":1,"column":404},"end":{"line":1,"column":416}}},"7":{"name":"get","line":1,"loc":{"start":{"line":1,"column":495},"end":{"line":1,"column":510}}},"8":{"name":"set","line":1,"loc":{"start":{"line":1,"column":572},"end":{"line":1,"column":589}}}},"statementMap":{"1":{"start":{"line":1,"column":13},"end":{"line":1,"column":269}},"2":{"start":{"line":1,"column":41},"end":{"line":1,"column":203}},"3":{"start":{"line":1,"column":57},"end":{"line":1,"column":202}},"4":{"start":{"line":1,"column":86},"end":{"line":1,"column":202}},"5":{"start":{"line":1,"column":203},"end":{"line":1,"column":265}},"6":{"start":{"line":1,"column":226},"end":{"line":1,"column":264}},"7":{"start":{"line":1,"column":269},"end":{"line":1,"column":377}},"8":{"start":{"line":1,"column":299},"end":{"line":1,"column":376}},"9":{"start":{"line":1,"column":320},"end":{"line":1,"column":376}},"10":{"start":{"line":1,"column":377},"end":{"line":1,"column":640}},"11":{"start":{"line":1,"column":404},"end":{"line":1,"column":455}},"12":{"start":{"line":1,"column":417},"end":{"line":1,"column":454}},"13":{"start":{"line":1,"column":455},"end":{"line":1,"column":636}},"14":{"start":{"line":1,"column":511},"end":{"line":1,"column":552}},"15":{"start":{"line":1,"column":590},"end":{"line":1,"column":630}},"16":{"start":{"line":1,"column":640},"end":{"line":1,"column":667}}},"branchMap":{"1":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":106},"end":{"line":1,"column":118}},{"start":{"line":1,"column":120},"end":{"line":1,"column":122}}]},"2":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":141},"end":{"line":1,"column":152}},{"start":{"line":1,"column":155},"end":{"line":1,"column":168}}]},"3":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":233},"end":{"line":1,"column":234}},{"start":{"line":1,"column":236},"end":{"line":1,"column":252}}]},"4":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":253},"end":{"line":1,"column":254}},{"start":{"line":1,"column":256},"end":{"line":1,"column":262}}]},"5":{"line":1,"type":"if","locations":[{"start":{"line":1,"column":299},"end":{"line":1,"column":299}},{"start":{"line":1,"column":299},"end":{"line":1,"column":299}}]},"6":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":534},"end":{"line":1,"column":547}},{"start":{"line":1,"column":549},"end":{"line":1,"column":551}}]}}}}

@@ -1,1 +0,49 @@

"use strict";var _createClass=function(){function a(b,c){for(var e,d=0;d<c.length;d++)e=c[d],e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(b,e.key,e)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var MemoryStore=function(){function a(){_classCallCheck(this,a),this.store={}}return _createClass(a,[{key:"get",value:function get(b){return Promise.resolve(this.store[b]||{})}},{key:"set",value:function set(b,c){return this.store[b]=c,Promise.resolve()}}]),a}();module.exports=MemoryStore;
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* The most basic adapter ever for SessionWare
* @class
*/
var MemoryStore = function () {
function MemoryStore() {
_classCallCheck(this, MemoryStore);
this.store = {};
}
/**
* Get or create a session with the id.
* @param {String} id a unique id for the session
* @returns {Promise} evaluates to an object that is the session
*/
_createClass(MemoryStore, [{
key: "get",
value: function get(id) {
return Promise.resolve(this.store[id] || {});
}
/**
* Update a session in the storage.
* @param {String} id a unique id for the session
* @param {Object} value the new value for the session
* @return {Promise} resolves when the session has been saved
*/
}, {
key: "set",
value: function set(id, value) {
this.store[id] = value;
return Promise.resolve();
}
}]);
return MemoryStore;
}();
module.exports = MemoryStore;

@@ -1,1 +0,59 @@

'use strict';var R=require('ramda'),Debug=require('debug'),SessionWare=function(a){var _ref=a||{},_ref$sessionPath=_ref.sessionPath,c=_ref$sessionPath===void 0?'session':_ref$sessionPath,b=_ref.adapter;c=c.split('.');var d;if(!b){var e=require('./adapters/MemoryStore');d=new e}else if(d=b,'function'!=typeof d.get||'function'!=typeof d.set)throw new Error('Adapter does not have required methods get and/or set');return{incoming:function f(h,i,j){d.get(i.sender.id).then(function(k){Debug('botmaster:session:incoming')('got session for '+i.sender.id);var l=R.lensPath(c.splice(1));i[c[0]]=R.set(l,k,i),j()}).catch(function(k){Debug('botmaster:session:incoming')('error '+k.message),j(k)})},outgoing:function g(h,i,j){var k=R.lensPath(c),l=R.view(k,i);d.set(i.sender.id,l).then(function(){Debug('botmaster:session:outgoing')('updated session for '+i.sender.id),delete i.context,j()})}}};module.exports=SessionWare;
'use strict';
var R = require('ramda');
var Debug = require('debug');
var recipient = R.path(['recipient', 'id']);
var sender = R.path(['sender', 'id']);
var idFromUpdate = function idFromUpdate(update) {
return 'recipient:' + recipient(update) + '-sender:' + sender(update);
};
/**
* Create an object providing incoming and outgoing middleware
* @param {Object} [options] options object for generated sessionWare
* @param {Object} [options.adapter] an object implementing the adapter api. defaults to in memory.
* @param {String} [options.sessionPath] dot denoted path to where to store the context in the update. defaults to 'session'
* @return {Object} an object that contains two functions 'incoming' and 'outgoing'. The incoming should be placed before any middleware that requires it and the outgoing should be placed after all middleware have used it.
*/
var SessionWare = function SessionWare(options) {
var _ref = options || {},
_ref$sessionPath = _ref.sessionPath,
sessionPath = _ref$sessionPath === undefined ? 'session' : _ref$sessionPath,
adapter = _ref.adapter;
sessionPath = sessionPath.split('.');
var store = void 0;
if (adapter) {
store = adapter;
if (typeof store.get !== 'function' || typeof store.set !== 'function') throw new Error('Adapter does not have required methods get and/or set');
} else {
var MemoryStore = require('./adapters/MemoryStore');
store = new MemoryStore();
}
var incoming = function incoming(bot, update, next) {
store.get(idFromUpdate(update)).then(function (session) {
Debug('botmaster:session:incoming')('got session for ' + idFromUpdate(update));
var sessionPathLens = R.lensPath(sessionPath.splice(1));
update[sessionPath[0]] = R.set(sessionPathLens, session, update);
next();
}).catch(function (err) {
Debug('botmaster:session:incoming')('error ' + err.message);
next(err);
});
};
var outgoing = function outgoing(bot, update, messsage, next) {
assert(typeof next == 'function', 'please ensure you have the correct version of botmaster');
var sessionPathLens = R.lensPath(sessionPath);
var session = R.view(sessionPathLens, update);
store.set(idFromUpdate(update), session).then(function () {
Debug('botmaster:session:outgoing')('updated session for ' + idFromUpdate(update));
next();
});
};
return { incoming: incoming, outgoing: outgoing };
};
module.exports = SessionWare;
{
"name": "botmaster-session-ware",
"version": "0.1.0",
"version": "0.1.1",
"description": "botmaster session ware for storing context",

@@ -11,3 +11,3 @@ "main": "dist/index.js",

"coveralls": "cat ./coverage/lcov.info | coveralls",
"build": "mkdir -p dist && babel --presets=es2015,babili src --out-dir dist",
"build": "mkdir -p dist && babel --presets=es2015 src --out-dir dist",
"docs": "documentation readme src/index.js --section=\"API Usage\"",

@@ -32,6 +32,8 @@ "prepublish": "npm run build"

},
"peerDependencies": {
"botmaster": ">3.0.0"
},
"homepage": "https://github.com/botmasterai/botmaster-mem-session-ware#readme",
"devDependencies": {
"babel-cli": "^6.22.2",
"babel-preset-babili": "0.0.10",
"babel-preset-es2015": "^6.22.0",

@@ -38,0 +40,0 @@ "documentation": "^4.0.0-beta.18",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc