Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@onflow/sdk-decode

Package Overview
Dependencies
Maintainers
8
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@onflow/sdk-decode

Flow JS SDK -- Configurable Decoder for Access Node Responses

  • 0.0.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
8
Weekly downloads
 
Created
Source

sdk-decode

The decode function takes the return value (response) of a send function and returns the information you probably want, in the formats you probably want.

It understands how to transform cadence values into javascript and allows you to overload those transformations for your own if you want with custom decoders.

Examples

For the following examples these are the imports

import * as fcl from "@onflow/fcl"
import {config} from "@onflow/config"
import {decode} from "@onflow/sdk-decode"

Decode script return value

var v1 = await fcl.send([
  fcl.script`
    pub fun main(): Int {
      return 5 + 6
    }
  `
]).then(decode)

console.assert(v1 === 11)

Cast script return value to application domain type at edge

Somewhere central in your application you can configure the decode function with custom decoders. It only needs to exist once and needs to happen before your script is called.

class Point {
  constructor({x, y}) {
    this.x = x
    this.y = y
  }
}

config()
  .put("decoder.Point", async point => new Point(point))

Then your script can be something like this.

var v2 = await fcl.send([
  fcl.script`
    pub struct Point {
      pub var x: Int
      pub var y: Int

      init(x: Int, y: Int) {
        self.x = x
        self.y = y
      }
    }

    pub fun main(): Point {
      return Point(x: 5, y: 8)
    }
  `
]).then(decode)

console.assert(v2 instanceof Point)
console.assert(v2.x === 5)
console.assert(v2.y === 8)

FAQs

Package last updated on 11 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc