@kodadot1/minipfs
TypeScript icon, indicating that this package has built-in type declarations

0.5.1-rc.1 • Public • Published

@kodadot1/minipfs

A set of tools to work with IPFS URIs.

npm version npm downloads Github Actions Codecov

minimark pokemon

🚀 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 path
  • isDefaultPinataProvider - check if URI is default HTTPS Pinata gateway
  • canBeIPFS - check if URI can be IPFS path or IPFS CID
  • extractIPFS - convert ipfs:// prefixed URI to IPFS path

✔️ Gateways

  • IPFSProviders - named list of IPFS gateways
  • AvailableProviders - IPFSProviders Array
  • ipfsProviders: - Record of IPFSProviders and their URLs
  • getProviderList - 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 error
  • obtainFast - Same as obtain but throws Error after 8 seconds
  • obtainMedia - use for fetching media files
  • obtainMimeType - 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.

Dependents (1)

Package Sidebar

Install

npm i @kodadot1/minipfs

Weekly Downloads

160

Version

0.5.1-rc.1

License

MIT

Unpacked Size

23.7 kB

Total Files

6

Last publish

Collaborators

  • yangwao
  • vikiival