Files: 1071bfd3ef35fb108626276bc967d1478e72f702 / lib.js
1009 bytesRaw
1 | var uri = require('urijs'); |
2 | var fs = require('fs'); |
3 | var pull = require('pull-stream'); |
4 | |
5 | const isIPFS = require('is-ipfs') |
6 | var self = module.exports = { |
7 | |
8 | hasIpfsLink(msg) { |
9 | return typeof msg.value == "object" && typeof msg.value.content == |
10 | "object" && |
11 | msg.value.content.type == 'post' && |
12 | (typeof msg.value.content.text) == "string" && |
13 | ( |
14 | msg.value.content.text.indexOf("ipfs://") != -1 || |
15 | msg.value.content.text.indexOf("/ipfs/") != -1 |
16 | ) |
17 | }, |
18 | extractHashes(msg) { |
19 | if (typeof msg.value !== 'object') { |
20 | return []; |
21 | } |
22 | if (typeof msg.value.content !== 'object') { |
23 | return []; |
24 | } |
25 | if (typeof msg.value.content.text !== 'string') { |
26 | return []; |
27 | } |
28 | let parts = []; |
29 | uri.withinString(msg.value.content.text, (ipfsLink) => { |
30 | parts = ipfsLink.split('/'); |
31 | //get multiHash |
32 | parts = parts.filter((x) => isIPFS.multihash(x)); |
33 | }); |
34 | return parts; |
35 | } |
36 | } |
37 |
Built with git-ssb-web