JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 15
  • Score
    100M100P100Q79564F
  • License Apache-2.0

Flow SDK Decoder

Package Exports

  • @onflow/decode

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@onflow/decode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

NOTE: Requires a Buffer polyfill

@onflow/bytes

This package provides methods that can decode a JSON-CDC payload from the Access API into JavaScript friendly types.

Install

npm install --save @onflow/decode

Usage

Decoding a Response

import { decodeResponse } from "@onflow/decode"
const decoded = await decodeResponse(myResponse)

Decoding a Response, with a Custom Decoder

A Custom Decoder is a way for users to define how to decode certain encoded types from the Access API

import { decodeResponse } from "@onflow/decode"
const decoded = await decodeResponse(myResponse, {
    "UInt8": (data) => Number(data)
})

Decoding a Response, with a Custom Decoder for a Resource

A Custom Decoder is a way for users to additionally define how to decode Resources.

import { decodeResponse } from "@onflow/decode"
const decoded = await decodeResponse(myResponse, {
    "CryptoKitty": (cryptoKitty) => ({
        name: cryptoKitty.kittyName || "Lil BUB The Magical Space Cat",
    })
})

Decoding a Response, with a Custom Decoder using Regex Lookup

You can specify Custom Decoders to be executed on types tested against with a regular expression. To denote a regular expression, write the key for that custom decoder between two slashes. Note that only global search is suppoted at this time.

import { decodeResponse } from "@onflow/decode"
const decoded = await decodeResponse(myResponse, {
    "/.CryptoKitty$/": myCryptoKittyDecoder
})

Decoding a JSON-CDC payload

You can additionally directly decode a JSON-CDC payload.

import { decode } from "@onflow/decode"

const jsonCDC = { type: "String", value: "https://discordapp.com/invite/WgAQhtB" }

const decoded = await deocde(jsonCDC)

expect(decoded).toStrictEqual("https://discordapp.com/invite/WgAQhtB")