<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://miniscript.org/w/index.php?action=history&amp;feed=atom&amp;title=MapUtil</id>
	<title>MapUtil - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://miniscript.org/w/index.php?action=history&amp;feed=atom&amp;title=MapUtil"/>
	<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=MapUtil&amp;action=history"/>
	<updated>2026-05-13T09:18:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://miniscript.org/w/index.php?title=MapUtil&amp;diff=1396&amp;oldid=prev</id>
		<title>Redspark at 00:50, 5 April 2025</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=MapUtil&amp;diff=1396&amp;oldid=prev"/>
		<updated>2025-04-05T00:50:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 00:50, 5 April 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l49&quot; &gt;Line 49:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 49:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/ms&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/ms&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Sys Modules]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Mini Micro]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Mini Micro]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Sys Modules&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Command-Line_MiniScript&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Redspark</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=MapUtil&amp;diff=1386&amp;oldid=prev</id>
		<title>Redspark: Added to Sys Modules Category</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=MapUtil&amp;diff=1386&amp;oldid=prev"/>
		<updated>2025-03-31T16:07:52Z</updated>

		<summary type="html">&lt;p&gt;Added to Sys Modules Category&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:07, 31 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot; &gt;Line 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Mini Micro]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Mini Micro]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Sys Modules]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Redspark</name></author>
		
	</entry>
	<entry>
		<id>http://miniscript.org/w/index.php?title=MapUtil&amp;diff=1129&amp;oldid=prev</id>
		<title>Unknown: Create mapUtil page</title>
		<link rel="alternate" type="text/html" href="http://miniscript.org/w/index.php?title=MapUtil&amp;diff=1129&amp;oldid=prev"/>
		<updated>2023-10-16T03:31:01Z</updated>

		<summary type="html">&lt;p&gt;Create mapUtil page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[Mini Micro]], &amp;lt;c&amp;gt;mapUtil&amp;lt;/c&amp;gt; is an [[import]] module in the &amp;lt;c&amp;gt;/sys/lib&amp;lt;/c&amp;gt; directory.  It provides various additional [[map]]-related functions, directly extending the [[map]] datatype.&lt;br /&gt;
&lt;br /&gt;
Like all the modules in &amp;lt;c&amp;gt;/sys/lib&amp;lt;/c&amp;gt;, the best documentation for mapUtil is the source code (&amp;lt;c&amp;gt;/sys/lib/mapUtil.ms&amp;lt;/c&amp;gt;) itself.  But this page summarizes the content in more concise form.&lt;br /&gt;
&lt;br /&gt;
=== Constants ===&lt;br /&gt;
The following values should be normally be prefixed with &amp;lt;c&amp;gt;mapUtil&amp;lt;/c&amp;gt;, e.g., &amp;lt;c&amp;gt;mapUtil.fromTo&amp;lt;/c&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Value / Purpose&lt;br /&gt;
|-&lt;br /&gt;
| fromTo || generate a map from one sequence (list or string) to another.  The two sequences must be the same length.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Added map methods ===&lt;br /&gt;
The following methods are added to the [[map]] type, and so are accessed using dot syntax after any map, for example: &amp;lt;c&amp;gt;{&amp;quot;Hello&amp;quot;: &amp;quot;World&amp;quot;}.inverse&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method !! Returns&lt;br /&gt;
|-&lt;br /&gt;
| get(''key'', ''defaultValue=null'') || look up the value for an index in this map, but if the given index is not found, return a default value instead. Works with inherited values, too.&lt;br /&gt;
|-&lt;br /&gt;
| hasValue(''v'', ''includeInherited=false'') || return true if this map contains the given value as a value (compare with built-in function .hasIndex, which checks whether this map has a given value as a key).  By default this&lt;br /&gt;
does not walk the inheritance chain (just like .hasIndex), but&lt;br /&gt;
if you pass ''true'' as the second parameter, then it does.&lt;br /&gt;
|-&lt;br /&gt;
| sortedIndexes || get the indexes of this map, but in sorted order (rather than undefined order as .indexes gives you).&lt;br /&gt;
|-&lt;br /&gt;
| inverse || return a new map that has the keys and values swapped (keys of this map become values of the result map, and vice versa).&lt;br /&gt;
|- &lt;br /&gt;
| filterIndexes(''func'') || remove any indexes for which the given function does not return true.&lt;br /&gt;
|-&lt;br /&gt;
| filterValues(''func'') || remove any key/value pairs for which the function, applied to the value, does not return true.&lt;br /&gt;
|-&lt;br /&gt;
| applyToValues(''func'') || apply the given function to all values.&lt;br /&gt;
|-&lt;br /&gt;
| pairs || get all key/value pairs as a list (in arbitrary order) of little maps with &amp;quot;key&amp;quot; and &amp;quot;value&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| swap(''key1'', ''key2'') || swap the values of two keys.  Note that this may be applied to locals (or globals), enabling you to swap the values of two variables.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ms&amp;gt;import &amp;quot;mapUtil&amp;quot;&lt;br /&gt;
print {&amp;quot;Hello&amp;quot;: &amp;quot;World&amp;quot;}.inverse //prints {&amp;quot;World&amp;quot;: &amp;quot;Hello&amp;quot;}&lt;br /&gt;
&amp;lt;/ms&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Micro]]&lt;/div&gt;</summary>
		<author><name>Unknown</name></author>
		
	</entry>
</feed>