package funkin.util.tools; /** * A static extension which provides utility functions for Maps. * * For example, add `using MapTools` then call `map.values()`. * * @see https://haxe.org/manual/lf-static-extension.html */ class MapTools { /** * Return the quantity of keys in the map. */ public static function size(map:Map):Int { return map.keys().array().length; } /** * Return a list of values from the map, as an array. */ public static function values(map:Map):Array { return [for (i in map.iterator()) i]; } /** * Return a list of keys from the map (as an array, rather than an iterator). * TODO: Rename this? */ public static function keyValues(map:Map):Array { return map.keys().array(); } }