0.4.3-rc.1 • Published 2 months ago

@kodadot1/minipfs v0.4.3-rc.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@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.

0.4.2-rc.1

2 months ago

0.4.3-rc.0

2 months ago

0.4.3-rc.1

2 months ago

0.4.1-rc.0

8 months ago

0.4.0-rc.0

10 months ago

0.4.2-rc.0

6 months ago

0.3.1-rc.0

1 year ago

0.2.1-rc.0

1 year ago

0.3.0-rc.0

1 year ago

0.1.1-rc.3

1 year ago

0.2.0-rc.0

1 year ago

0.1.1-rc.4

1 year ago

0.1.1-rc.2

1 year ago

0.1.1-rc.1

2 years ago

0.1.1-rc.0

2 years ago

0.1.0-rc.0

2 years ago

0.0.1-rc.2

2 years ago

0.0.1-rc.1

2 years ago

0.0.1-rc.0

2 years ago