Files: 900fe8bfeb1dfdd31a733c35e0b6ceb6952c51a6 / create.js
982 bytesRaw
1 | var ref = require('ssb-ref') |
2 | |
3 | function isId (id) { |
4 | return ref.isFeed(id) || ref.isMsg(id) |
5 | } |
6 | |
7 | //creating a list doesn't need any special properties |
8 | exports.create = function (opts) { |
9 | return Object.assign({}, opts, { |
10 | type: 'list/create' |
11 | }) |
12 | } |
13 | |
14 | exports.contact = function (opts) { |
15 | if(!isId(opts.contact)) |
16 | throw new Error('must have contact property, a feed or msg id') |
17 | if(!ref.isMsg(opts.list)) |
18 | throw new Error('must have list property, a msg id') |
19 | if(!(opts.blocking === true || opts.following === true || opts.following == false)) |
20 | throw new Error('must be blocking following, or unfollowing') |
21 | return Object.assign({}, opts, { |
22 | type: 'list/contact' |
23 | }) |
24 | } |
25 | |
26 | exports.subscribe = function (opts) { |
27 | if(!ref.isMsg(opts.list)) |
28 | throw new Error('must have list property, a msg id') |
29 | if('boolean' !== typeof opts.subscribe) |
30 | throw new Error('must have boolean subscribe property') |
31 | return Object.assign({}, opts, { |
32 | type: 'list/subscribe' |
33 | }) |
34 | } |
35 | |
36 | |
37 |
Built with git-ssb-web