Skip to content

restorer/zame-haxe-miscutils

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Misc utils for Haxe

  • DynamicExt - pure haxe
  • DynamicTools - pure haxe
  • JavaRandom - pure haxe
  • LambdaExt - pure haxe
  • SignalExt - for msignal
  • UrlLoaderExt - for openfl
  • XmlExt - pure haxe
  • ds.* - pure haxe

About

Installation

haxelib git zame-miscutils https://github.com/restorer/zame-haxe-miscutils.git

DynamicExt

Allow use Dynamic values like Map.

var node = new DynamicExt();

node["foo"] = "bar";
trace(node["foo"]);

trace(node.exists("foo"));
trace(node.exists("bar"));

node["bar"] = "baz";
trace(node.keys());

node.remove("foo");
trace(node.keys());

DynamicTools

Along with DynamicExt allows to parse json in a safe manner.

import org.zamedev.lib.DynamicExt;
using org.zamedev.lib.DynamicTools;

var node : DynamicExt = haxe.Json.parse('{"a":{"b":"c"},"stringval":"haxe","arrayval":["haxe","cool"],"intval":42,"floatval":24.42,"boolval":true}');
trace(node["stringval"].asString());
trace(node["arrayval"].asArray());
trace(node["intval"].asInt());
trace(node["floatval"].asFloat());
trace(node["boolval"].asBool());
trace(node["nonexisting"].asString("defaultvalue"));
trace(node["nonexisting"].asNullInt());
trace(node["nonexisting"].asNullFloat());
trace(node["nonexisting"].asDynamic());
trace(node.byPath(["a", "b"]).asString()); // Returns "c"

LambdaExt

Can be used as drop-in replacement of Lambda when you need to work with an Iterator (you should still use original Lambda for an Iterable).

var map = new Map<String, String>();
map["foo"] = "bar";
map["bar"] = "baz";

var result1 : Array<String> = map.keys().array();
trace(result1);

var result2 : Array<String> = map.keys().map(function(v) { return v.toUpperCase(); });
trace(result2);

XmlExt

Allows to get inner text from xml node in an easy way.

var root = Xml.parse("<root><node>inner value</node><node /></root>");

for (node in root.firstElement().elements()) {
    trace(node.innerText("defaultvalue"));
}

UrlLoaderExt (for openfl)

Simplify work with json-based server API.

var loader = new UrlLoaderExt(function(loader : UrlLoaderExt) {
    trace("success");
    trace(loader.data);
}, function(_) {
    trace("error happened");
});

loader.load(UrlLoaderExt.createJsonRequest("http://domain.tld", { foo:"bar" }));

Product support

This library is finished. Later I have plant to merge several smaller libraries into bigger one.

Feature Support status
New features No
Non-critical bugfixes No
Critical bugfixes Yes
Pull requests Accepted (after review)
Issues Monitored, but if you want to change something - submit a pull request
OpenFL version planned to support Up to 4.x, and probably later
Estimated end-of-life Up to 2017 (new library will be created later)

About

Misc utils for haxe

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published