package Ġcom . ree va js . ree va . runtime . iter ators Ċ Ċ import Ġcom . ree va js . ree va . core . Agent Ċ import Ġcom . ree va js . ree va . core . realm . Realm Ċ import Ġcom . ree va js . ree va . runtime . collections . JS Map Object Ċ import Ġcom . ree va js . ree va . runtime . objects . JS Object Ċ Ċ class ĠJS Map Iterator Ġprivate Ġconstructor ( ĊĠĠĠ Ġrealm : ĠRealm , ĊĠĠĠ Ġdata : ĠJS Map Object . Map Data , ĊĠĠĠ Ġval Ġiteration Kind : ĠProperty Kind , Ċ ) Ġ: ĠJS Object ( realm , Ġrealm . map Iterator Proto ) Ġ{ ĊĠĠĠ Ġvar Ġiter ated Map : ĠJS Map Object . Map Data ? Ġ= Ġdata ĊĠĠĠ Ġvar Ġnext Index Ġ= Ġ 0 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . iteration Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( data : ĠJS Map Object . Map Data , Ġkind : ĠProperty Kind , Ġrealm : ĠRealm Ġ= ĠAgent . active Agent . getActive Realm ()) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJS Map Iterator ( realm , Ġdata , Ġkind ). initialize () ĊĠĠĠ Ġ} Ċ } Ċ