@kodadot1/minipfs
A set of tools to work with IPFS URIs.
🚀 Quick Start
Install package:
npm install @kodadot1/minipfs
yarn install @kodadot1/minipfs
pnpm install @kodadot1/minipfs
Import:
import { $obtain } from '@kodadot1/minipfs'
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
- convert ipfs://
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
from ofetch
obtainSafe
- Same as obtain
but returns empty object if errorobtainFast
- Same as obtain
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
(use npm 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.