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

@ligolang/ligo-snippets

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ligolang/ligo-snippets

A React component for embedding Ligo code snippets on a page.

  • 1.1.1
  • latest
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

A React component for embedding Ligo code snippets on a page.

Quick start

  1. Install package yarn add @ligolang/ligo-snippets
  2. Add LigoSnippet component to a page
import { LigoSnippet } from "@ligolang/ligo-snippets";

const App = () => {
    const code = `type storage is int
type parameter is
  Increment of int
| Decrement of int
| Reset
type return is list (operation) * storage
// Two entrypoints
function add (const store : storage; const delta : int) : storage is 
  store + delta
function sub (const store : storage; const delta : int) : storage is 
  store - delta
(* Main access point that dispatches to the entrypoints according to
   the smart contract parameter. *)
function main (const action : parameter; const store : storage) : return is
 ((nil : list (operation)),    // No operations
  case action of
    Increment (n) -> add (store, n)
  | Decrement (n) -> sub (store, n)
  | Reset         -> 0
  end)`

    const snippetData = {
        "language": "pascaligo", // Required - Takes a string value of a Ligo language (e.g. "pascaligo", "reasonligo" or "cameligo").
        "code": code, // Required - Takes a string value of your code snippet.
        "name": "PascaLigo Code Snippet Example", // Optional - Takes a string value to display as your snippet's title on the Ligo Web IDE.
        "theme": "dark", // Optional - Takes a string value of either "dark" or "light".
        "height": "" // Optional - Takes a string value of a CSS height (e.g. "100px").
    }
    
    return <LigoSnippet data={snippetData} />
}

render(<App />, document.getElementById("root"));

The snippetData values of language and code are required. These values determine the code displayed and the syntax highlighting. The name value is optional and will be used as the title of your code when sent to the Ligo Web IDE.

Ligo Web IDE

Ligo Snippets can be opened in the Ligo Web IDE (https://ide.ligolang.org/) by clicking the IDE button at the bottom of the snippet. The Ligo Web IDE can take in preset configurations for the available features.

Available Configurations

"name": string,      
"language": string,
"compile": {
    "entrypoint": string
},
"dryRun": {
    "entrypoint": string,
    "parameters": string,
    "storage": string,
},
"deploy": {
    "entrypoint": string,
    "storage": string,
},
"evaluateValue": {
    "entrypoint": string
},
"evaluateFunction": {
    "entrypoint": string,
    "parameters": string
},
"generateDeployScript": {
    "entrypoint": string,
    "storage": string
}

Setting Configurations

When using the configurations to set preset default values for the Ligo Web IDE, please note that the name and language values are required. When present, these values will replace the name and language values from your snippetData. Everything else is optional.

Add the configuration in a yaml format at the top of your the code you are trying to display.

(*_*
  name: PascaLIGO Contract
  language: pascaligo
  compile:
    entrypoint: main
  dryRun:
    entrypoint: main
    parameters: Increment (1)
    storage: 0
  deploy:
    entrypoint: main
    storage: 0
  evaluateValue:
    entrypoint: ""
  evaluateFunction:
    entrypoint: add
    parameters: (5, 6)
  generateDeployScript:
    entrypoint: main
    storage: 0
*_*)

type action is
| Increment of int
| Decrement of int

function add (const a : int ; const b : int) : int is
  block { skip } with a + b

function subtract (const a : int ; const b : int) : int is
  block { skip } with a - b

function main (const p : action ; const s : int) :
  (list(operation) * int) is
  block { skip } with ((nil : list(operation)),
  case p of
  | Increment(n) -> add(s, n)
  | Decrement(n) -> subtract(s, n)
  end)

FAQs

Package last updated on 30 Nov 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