miso
Copyright(C) 2016-2025 David M. Johnson (@dmjio)
LicenseBSD3-style (see the file LICENSE)
MaintainerDavid M. Johnson <code@dmj.io>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Miso.Data.Map

Description

Mutable Map data structure in IO.

A JavaScript Map. This is a convenience for manipulating JavaScript data structures from Haskell.

We recommend using this module qualified.

import qualified Miso.Data.Map as M
Synopsis

Type

data Map key value Source #

Instances

Instances details
FromJSVal (Map key value) Source # 
Instance details

Defined in Miso.Data.Map

Methods

fromJSVal :: JSVal -> IO (Maybe (Map key value)) Source #

fromJSValUnchecked :: JSVal -> IO (Map key value) Source #

ToJSVal (Map key value) Source # 
Instance details

Defined in Miso.Data.Map

Methods

toJSVal :: Map key value -> IO JSVal Source #

Construction

new :: IO (Map key value) Source #

Constructs a new JS Map in IO.

fromList :: (ToJSVal key, ToJSVal value) => [(key, value)] -> IO (Map key value) Source #

Construct a Map from a list of key value pairs.

Operations

insert :: (ToJSVal key, ToJSVal value) => key -> value -> Map key value -> IO () Source #

Inserts a value into the Map by key.

lookup :: (ToJSVal key, FromJSVal value) => key -> Map key value -> IO (Maybe value) Source #

Finds a value in the Map by key.

clear :: Map key value -> IO () Source #

Empties the Map.

size :: Map key value -> IO Int Source #

Return the size of Map.

has :: ToJSVal key => key -> Map key value -> IO Bool Source #

Checks existence of a value by key, returns t'Bool.

delete :: ToJSVal key => key -> Map key value -> IO Bool Source #

Removes an entry from a list, returns if the value was removed as Bool.