1.0.0 • Published 8 years ago
dweb-path v1.0.0
dweb-path
Utility for parsing, validating and inspecting dweb paths
Currently supported path types:
Install
npm install dweb-pathUsage
With IPFS path
const dwebPath = require('dweb-path')
console.log(dwebPath.ipfs('/ipfs/zdpuArHMUAYi3VtD3f7iSkXxYK9xo687SoNf5stAQNCMzd77k/gif'))
// {
// ns: 'ipfs',
// hash: 'zdpuArHMUAYi3VtD3f7iSkXxYK9xo687SoNf5stAQNCMzd77k',
// path: '/gif'
// }API
dwebPath.ipfs(input): { ns, hash, path, toString }
Parse an input as an IPFS path and return an object of it's component parts.
Where input can be:
String- an IPFS path like
/ipfs/Qmf1JJkBEk7nSdYZJqumJVREE1bMZS7uMm6DQFxRxWShwD/file.txt - an IPNS path like
/ipns/yourdomain.name/file.txt - a CID like
Qmf1JJkBEk7nSdYZJqumJVREE1bMZS7uMm6DQFxRxWShwD - a CID and path like
Qmf1JJkBEk7nSdYZJqumJVREE1bMZS7uMm6DQFxRxWShwD/file.txt
- an IPFS path like
CID- a CID instanceBuffer- a Buffer CID
Note that for string values, a missing leading forward slash and/or namespace are also accepted as valid paths.
The return value is an object with the following properties:
ns: String- the namespace of the path e.g. "ipfs" or "ipns"hash: String- the content identifier (the bit after the namespace)path: String- the path component of the dweb path (the bit after the hash)toString: Function- (non-enumerable) call this to get the normalized dweb path (missing namespace added and trailing slash removed) as a stringtoJSON: Function- (non-enumerable) same return value astoString
Notes
- When passing a CID instance or a buffer,
hashwill be encoded as "base58btc" andnsset to "ipfs" - When passing an IPNS path with a domain name,
hashwill be the domain name
Contribute
Feel free to dive in! Open an issue or submit PRs.
License
MIT © Alan Shaw
1.0.0
8 years ago