JSPM

ipfs-uri-utils

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 5
    • Score
      100M100P100Q41271F
    • License GPL-3.0-only

    Utilities for working with IPFS links

    Package Exports

    • ipfs-uri-utils

    Readme

    ipfs-utils

    Set of utilities for IPFS URIs

    Install

    npm install ipfs-uri-utils

    Usage

    function breakdownIpfs(ipfsUri: string): { cid: string; path: string; }

    Breakdown given IPFS URI into CID and path. IPFS URI can be a native IPFS URI, subdomain URI or path gateway URI.

    import { breakdownIpfs } from "ipfs-uri-utils";
    
    breakdownIpfs("https://soundxyz.mypinata.cloud/ipfs/QmXHfjwQ1MKmZLmzMNWc51brBTxFRWyjXKtLLysj2e5FcU")
    // => {cid: QmXHfjwQ1MKmZLmzMNWc51brBTxFRWyjXKtLLysj2e5FcU, path: ""}
    
    breakdownIpfs("ipfs://bafybeihehacot7c5dj7y5qhwgaj7q6gdxfrjfmxcltl6wmtrjxzcn6cs7e/path/to/")
    // => {cid: bafybeihehacot7c5dj7y5qhwgaj7q6gdxfrjfmxcltl6wmtrjxzcn6cs7e, path: "/path/to/"}

    function anyIpfsToNativeIpfs(ipfsUri: string): string

    Given any IPFS URI convert it into native IPFS URI. IPFS URI can be of type subdomain or path gateway.

    Note: Will throw an error if the given URI isn't a valid IPFS URI.

    import { anyIpfsToNativeIpfs } from "ipfs-uri-utils";
    
    anyIpfsToNativeIpfs("https://soundxyz.mypinata.cloud/ipfs/QmXHfjwQ1MKmZLmzMNWc51brBTxFRWyjXKtLLysj2e5FcU")
    // => ipfs://QmXHfjwQ1MKmZLmzMNWc51brBTxFRWyjXKtLLysj2e5FcU
    
    anyIpfsToNativeIpfs("https://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq.ipfs.cf-ipfs.com/wiki/Vincent_van_Gogh.html/#1850")
    // => ipfs://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq/wiki/Vincent_van_Gogh.html/#1850

    function ifIpfsConvertToNativeIpfs(uri: string): string

    If given URI is a valid IPFS URI, try convert it into native IPFS URI.

    Unlike anyIpfsToNativeIpfs this function doesn't throw an error. It will return the given URI if it can't be converted.

    import { ifIpfsConvertToNativeIpfs } from "ipfs-uri-utils";
    
    ifIpfsConvertToNativeIpfs("https://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq.ipfs.cf-ipfs.com/wiki/Vincent_van_Gogh.html/#1850")
    // => ipfs://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq/wiki/Vincent_van_Gogh.html/#1850
    
    ifIpfsConvertToNativeIpfs("https://ipfs.io")
    // => https://ipfs.io

    For more examples, check out the test file.