Module Relude_StringMap

include { ... };
type key = Relude_String.Ord.t;
module Comparable: { ... };
type t('value) = Belt.Map.t(Comparable.t'valueComparable.identity);
let make: unit => t('value);
let set: key => 'value => t('value) => t('value);
let singleton: key => 'value => t('value);
let isEmpty: t('value) => bool;
let contains: key => t('value) => bool;
let compareInt: ('value => 'value => int) => t('value) => t('value) => int;
let compareBy: ('value => 'value => BsBastet.Interface.ordering) => t('value) => t('value) => BsBastet.Interface.ordering;
let eqBy: ('value => 'value => bool) => t('value) => t('value) => bool;
let find: (key => 'value => bool) => t('value) => option((key, 'value));
let forEach: (key => 'value => unit) => t('value) => unit;
let foldLeft: ('acc => key => 'value => 'acc) => 'acc => t('value) => 'acc;
let all: (key => 'value => bool) => t('value) => bool;
let any: (key => 'value => bool) => t('value) => bool;
let length: t('value) => int;
let toArray: t('value) => array((key, 'value));
let fromArray: array((key, 'value)) => t('value);
let fromValueArray: ('value => key) => array('value) => t('value);
let toList: t('value) => list((key, 'value));
let fromList: list((key, 'value)) => t('value);
let fromValueList: ('value => key) => list('value) => t('value);
let keys: t('value) => list(key);
let keyArray: t('value) => array(key);
let values: t('value) => list('value);
let valueArray: t('value) => array('value);
let minKey: t('value) => option(key);
let maxKey: t('value) => option(key);
let min: t('value) => option((key, 'value));
let max: t('value) => option((key, 'value));
let get: key => t('value) => option('value);
let getOrElse: key => 'value => t('value) => 'value;
let remove: key => t('value) => t('value);
let removeMany: array(key) => t('value) => t('value);
let update: key => (option('value) => option('value)) => t('value) => t('value);
let merge: (key => option('value) => option('value) => option('value)) => t('value) => t('value) => t('value);
let mergeMany: array((key, 'value)) => t('value) => t('value);
let filter: (key => 'value => bool) => t('value) => t('value);
let keep: (key => 'value => bool) => t('value) => t('value);
let filterNot: (key => 'value => bool) => t('value) => t('value);
let reject: (key => 'value => bool) => t('value) => t('value);
let partition: (key => 'value => bool) => t('value) => (t('value), t('value));
let map: ('v1 => 'v2) => t('v1) => t('v2);
let mapWithKey: (key => 'v1 => 'v2) => t('v1) => t('v2);
let groupListBy: ('a => key) => list('a) => t(list('a));
let groupArrayBy: ('a => key) => array('a) => t(array('a));