@kodadot1/minipfs
v0.5.0-rc.0
Published
A set of tools to work with IPFS URIs.
Downloads
227
Readme
@kodadot1/minipfs
A set of tools to work with IPFS URIs.
🚀 Quick Start
Install package:
# npm
npm install @kodadot1/minipfs
# yarn
yarn install @kodadot1/minipfs
# pnpm
pnpm install @kodadot1/minipfs
Import:
// ESM
import { $obtain } from '@kodadot1/minipfs'
// CommonJS
const { $obtain } = require('@kodadot1/minipfs')
⚓️ Exported functions
✔️ Arweave
toArweavePath
- Convert AR URI to Arweave HTTP URI
✔️ CID
isCID
- is URI CID?isHTTP
- is URI HTTP?isPath
- is URI IPFS path?toIPFSPath
- Convert IPFS something to IPFS pathisDefaultPinataProvider
- check if URI is default HTTPS Pinata gatewaycanBeIPFS
- check if URI can be IPFS path or IPFS CIDextractIPFS
- convertipfs://
prefixed URI to IPFS path
✔️ Gateways
IPFSProviders
- named list of IPFS gatewaysAvailableProviders
- IPFSProviders ArrayipfsProviders:
- Record of IPFSProviders and their URLsgetProviderList
- convert IPFSProviders Array to URL Array
✔️ Magic
$obtain<T>
- put any URI and get back your T (Put your Metadata type here)$purify
- put any URI and get sanitized HTTP URI
✔️ Obtain
obtain:
- Wrapper around$fetch
fromofetch
obtainSafe
- Same asobtain
but returns empty object if errorobtainFast
- Same asobtain
but throws Error after 8 secondsobtainMedia
- use for fetching media filesobtainMimeType
- use for fetching mime type of file
✔️ Race
competition
- put IPFS path, provider list and get back fastest response
✔️ Sanitize
sanitize
- convert any URI into usable URI to fetch
...Rest
types
and constants
were exported as well, but omitted here.
💻 Development
- Clone this repository
- Enable Corepack using
corepack enable
(usenpm i -g corepack
for Node.js < 16.10) - Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
License
Made with 💖
Published under MIT License.