Options
All
  • Public
  • Public/Protected
  • All
Menu
description

Michelson Map is an abstraction over the michelson native map. It supports complex Pair as key

Type parameters

Hierarchy

  • MichelsonMap

Index

Constructors

constructor

  • new MichelsonMap<K, T>(mapType?: MichelsonV1ExpressionBase | MichelsonV1ExpressionExtended | MichelsonV1Expression[]): MichelsonMap<K, T>
  • example

    new MichelsonMap({ prim: "map", args: [{prim: "string"}, {prim: "int"}]})

    Type parameters

    • K: MichelsonMapKey

    • T

    Parameters

    • Optional mapType: MichelsonV1ExpressionBase | MichelsonV1ExpressionExtended | MichelsonV1Expression[]

      If specified key and value will be type-checked before being added to the map

    Returns MichelsonMap<K, T>

Properties

[michelsonMapTypeSymbol]

[michelsonMapTypeSymbol]: boolean = true

Accessors

size

  • get size(): number

Methods

clear

  • clear(): void

delete

  • delete(key: K): void

entries

  • entries(): Generator<[K, T], any, unknown>

forEach

  • forEach(cb: (value: T, key: K, map: MichelsonMap<K, T>) => void): void

get

  • get(key: K): undefined | T

has

  • has(key: K): boolean

keys

  • keys(): Generator<K, any, unknown>

removeType

  • removeType(): void

set

  • set(key: K, value: T): void
  • description

    Set a key and a value in the MichelsonMap. If the key already exists, override the current value.

    example

    map.set("myKey", "myValue") // Using a string as key

    example

    map.set({0: "test", 1: "test1"}, "myValue") // Using a pair as key

    warn

    The same key can be represented in multiple ways, depending on the type of the key. This duplicate key situation will cause a runtime error (duplicate key) when sending the map data to the Tezos RPC node.

    For example, consider a contract with a map whose key is of type boolean. If you set the following values in MichelsonMap: map.set(false, "myValue") and map.set(null, "myValue").

    You will get two unique entries in the MichelsonMap. These values will both be evaluated as falsy by the MichelsonEncoder and ultimately rejected by the Tezos RPC.

    Parameters

    • key: K
    • value: T

    Returns void

setType

  • setType(mapType: MichelsonV1Expression): void

values

  • values(): Generator<T, any, unknown>

Static fromLiteral

  • fromLiteral(obj: {}, mapType?: MichelsonV1ExpressionBase | MichelsonV1ExpressionExtended | MichelsonV1Expression[]): MichelsonMap<MichelsonMapKey, unknown>

Static isMichelsonMap

Generated using TypeDoc