remove unused code
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package haxework.animate;
|
||||
|
||||
import openfl.events.Event;
|
||||
import flash.events.Event;
|
||||
import flash.display.Stage;
|
||||
|
||||
class Animate implements IAnimate {
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
package haxework.asset;
|
||||
|
||||
import haxe.Json;
|
||||
import flash.utils.ByteArray;
|
||||
|
||||
class JsonAsset extends ByteArray {
|
||||
|
||||
public var value(default, null):Dynamic;
|
||||
|
||||
public function new() {
|
||||
super();
|
||||
value = Json.parse(readUTFBytes(bytesAvailable));
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package haxework.asset;
|
||||
|
||||
import flash.utils.ByteArray;
|
||||
|
||||
class StringAsset extends ByteArray {
|
||||
|
||||
public var value(default, null):String;
|
||||
|
||||
public function new() {
|
||||
super();
|
||||
value = readUTFBytes(bytesAvailable);
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package haxework.core;
|
||||
|
||||
class Const {
|
||||
#if flash
|
||||
public static var UINT_MAX_VALUE:UInt = untyped __global__["uint"].MAX_VALUE;
|
||||
public static var UINT_MIN_VALUE:UInt = untyped __global__["uint"].MIN_VALUE;
|
||||
public static var INT_MAX_VALUE:Int = untyped __global__["int"].MAX_VALUE;
|
||||
public static var INT_MIN_VALUE:Int = untyped __global__["int"].MIN_VALUE;
|
||||
#else
|
||||
public static var UINT_MAX_VALUE:UInt = 0xffffffff;
|
||||
public static var UINT_MIN_VALUE:UInt = 0;
|
||||
public static var INT_MAX_VALUE:Int = 0xffffffff;
|
||||
public static var INT_MIN_VALUE:Int = -0xffffffff;
|
||||
#end
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
package haxework.core;
|
||||
|
||||
import haxe.ds.ObjectMap;
|
||||
import Map.IMap;
|
||||
|
||||
class Set<T:{}> {
|
||||
|
||||
private static var O:Dynamic = {};
|
||||
|
||||
private var map:ObjectMap<T, Dynamic>;
|
||||
|
||||
public function new() {
|
||||
map = new ObjectMap<T, Dynamic>();
|
||||
}
|
||||
|
||||
public inline function iterator():Iterator<T> {
|
||||
return map.keys();
|
||||
}
|
||||
|
||||
public inline function set(value:T):Void {
|
||||
map.set(value, O);
|
||||
}
|
||||
|
||||
public inline function exists(value:T):Bool {
|
||||
return map.exists(value);
|
||||
}
|
||||
|
||||
public inline inline function remove(value:T):Bool {
|
||||
return map.remove(value);
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
package haxework.dispath;
|
||||
|
||||
import haxe.ds.ObjectMap;
|
||||
|
||||
class Dispatcher<L:{}> implements IDispatcher<L> {
|
||||
|
||||
private var listeners(null, null):ObjectMap<L, Bool>;
|
||||
|
||||
public function new() {
|
||||
listeners = new ObjectMap<L, Bool>();
|
||||
}
|
||||
|
||||
public function addListener(listener:L, once:Bool = false):Void {
|
||||
listeners.set(listener, once);
|
||||
}
|
||||
|
||||
public function removeListener(listener:L):Bool {
|
||||
return listeners.remove(listener);
|
||||
}
|
||||
|
||||
public function removeAllListeners():Void {
|
||||
var i:Iterator<L> = listeners.keys();
|
||||
while (i.hasNext()) listeners.remove(i.next());
|
||||
}
|
||||
|
||||
public function dispatch(caller:L->Void):Void {
|
||||
var i:Iterator<L> = listeners.keys();
|
||||
var r:Array<L> = [];
|
||||
while (i.hasNext()) {
|
||||
var l = i.next();
|
||||
caller(l);
|
||||
if (listeners.get(l)) r.push(l);
|
||||
};
|
||||
for (l in r) listeners.remove(l);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package haxework.dispath;
|
||||
|
||||
import haxe.ds.ObjectMap;
|
||||
|
||||
interface IDispatcher<L:{}> {
|
||||
|
||||
private var listeners(null, null):ObjectMap<L, Bool>;
|
||||
|
||||
public function addListener(listener:L, once:Bool = false):Void;
|
||||
public function removeListener(listener:L):Bool;
|
||||
public function removeAllListeners():Void;
|
||||
public function dispatch(caller:L->Void):Void;
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
package haxework.format;
|
||||
|
||||
import haxework.provider.Provider;
|
||||
import haxework.locale.ILocale;
|
||||
|
||||
class Formatter implements IFormatter {
|
||||
|
||||
public function formatDate(date:Date, format:String):String {
|
||||
var locale:ILocale = Provider.get(ILocale);
|
||||
var r:EReg = ~/\{(\w+)\}/g;
|
||||
return r.map(format, function(r:EReg):String {
|
||||
return switch(r.matched(1)) {
|
||||
case "ss": doubleDigit(date.getSeconds());
|
||||
case "nn": doubleDigit(date.getMinutes());
|
||||
case "hh": doubleDigit(date.getHours());
|
||||
case "dd": doubleDigit(date.getDate());
|
||||
case "d": Std.string(date.getDate());
|
||||
case "mm": doubleDigit(date.getMonth() + 1);
|
||||
case "yyyy": date.getFullYear() + "";
|
||||
case "month": locale.getArray("month")[date.getMonth()];
|
||||
case "Month": firstLetterUp(locale.getArray("month")[date.getMonth()]);
|
||||
case "month_r": locale.getArray("month_r")[date.getMonth()];
|
||||
case "Month_r": firstLetterUp(locale.getArray("month_r")[date.getMonth()]);
|
||||
default: r.matched(0);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function formatTime(time:Int):String {
|
||||
time = Math.round(time / 1000);
|
||||
var mm:Int = Math.floor(time / 60);
|
||||
var ss:Int = time - mm * 60;
|
||||
return doubleDigit(mm) + ":" + doubleDigit(ss);
|
||||
}
|
||||
|
||||
private static function doubleDigit(num:Int):String {
|
||||
return ((num < 10) ? "0" : "") + num;
|
||||
}
|
||||
|
||||
private static function firstLetterUp(s:String):String {
|
||||
return s.charAt(0).toUpperCase() + s.substring(1);
|
||||
}
|
||||
|
||||
public function formatDateFloat(date:Float, format:String):String {
|
||||
return formatDate(Date.fromTime(date), format);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package haxework.format;
|
||||
|
||||
interface IFormatter {
|
||||
public function formatDate(date:Date, format:String):String;
|
||||
public function formatDateFloat(date:Float, format:String):String;
|
||||
public function formatTime(time:Int):String;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package haxework.locale;
|
||||
|
||||
interface ILocale {
|
||||
public function getString(key:String):String;
|
||||
public function formatString(key:String, args:Array<Dynamic>):String;
|
||||
public function formatPlurar(key:String, num:Int, args:Array<Dynamic>):String;
|
||||
public function getArray(key:String):Array<String>;
|
||||
public function getPlural(key:String, num:Int):String;
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package haxework.locale;
|
||||
|
||||
import haxework.provider.Provider;
|
||||
|
||||
abstract LString(String) from String to String {
|
||||
|
||||
inline public function new(value:String) {
|
||||
this = Provider.get(ILocale).getString(value);
|
||||
}
|
||||
}
|
||||
|
||||
abstract LAString(String) from String to String {
|
||||
|
||||
inline public function new(value:String, index:Int) {
|
||||
this = Provider.get(ILocale).getArray(value)[index];
|
||||
}
|
||||
}
|
||||
|
||||
abstract LPString(String) from String to String {
|
||||
|
||||
inline public function new(value:String, num:Int) {
|
||||
this = Provider.get(ILocale).getPlural(value, num);
|
||||
}
|
||||
}
|
||||
|
||||
abstract LFString(String) from String to String {
|
||||
|
||||
inline public function new(value:String, args:Array<Dynamic>) {
|
||||
this = Provider.get(ILocale).formatString(value, args);
|
||||
}
|
||||
}
|
||||
|
||||
abstract LPFString(String) from String to String {
|
||||
|
||||
inline public function new(value:String, num:Int, args:Array<Dynamic>) {
|
||||
this = Provider.get(ILocale).formatPlurar(value, num, args);
|
||||
}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
package haxework.locale;
|
||||
|
||||
class Locale implements ILocale {
|
||||
|
||||
private var data:Dynamic;
|
||||
private var lang:String;
|
||||
|
||||
public function new(lang:String, data:Dynamic) {
|
||||
this.lang = lang;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public function formatString(key:String, args:Array<Dynamic>):String {
|
||||
var string:String = getString(key);
|
||||
for (i in 0...args.length) {
|
||||
var arg:Dynamic = args[i];
|
||||
string = StringTools.replace(string, "{" + i + "}", arg);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
public function formatPlurar(key:String, num:Int, args:Array<Dynamic>):String {
|
||||
var string:String = getPlural(key, num);
|
||||
for (i in 0...args.length) {
|
||||
var arg:Dynamic = args[i];
|
||||
string = StringTools.replace(string, "{" + i + "}", arg);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
public function getString(key:String):String {
|
||||
return getObject(key);
|
||||
}
|
||||
|
||||
public function getArray(key:String):Array<String> {
|
||||
return getObject(key);
|
||||
}
|
||||
|
||||
|
||||
public function getPlural(key:String, num:Int):String {
|
||||
var array:Array<String> = getArray(key);
|
||||
switch (lang) {
|
||||
case "ru": return plurarRU(array, num);
|
||||
default: return plurarDefault(array, num);
|
||||
}
|
||||
}
|
||||
|
||||
private function getObject(key:String):Dynamic {
|
||||
var path:Array<String> = key.split(".");
|
||||
var tmp:Dynamic = data;
|
||||
for (i in 0...path.length) {
|
||||
if (Reflect.hasField(tmp, path[i])) {
|
||||
tmp = Reflect.field(tmp, path[i]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
private function plurarRU(strings:Array<String>, num:Int):String {
|
||||
if (num > 10 && num < 20) return strings[2];
|
||||
var n:Int = num % 10;
|
||||
switch (n) {
|
||||
case 1: return strings[0];
|
||||
case 2: return strings[1];
|
||||
case 3: return strings[1];
|
||||
case 4: return strings[1];
|
||||
default: return strings[2];
|
||||
}
|
||||
}
|
||||
|
||||
private function plurarDefault(strings:Array<String>, num:Int):String {
|
||||
var n:Int = num % 10;
|
||||
switch (n) {
|
||||
case 1: return strings[0];
|
||||
default: return strings[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -75,8 +75,6 @@ class TemplateMacro {
|
||||
var bindExpr = 'haxework.provider.Provider.get(haxework.resources.IResources).${a[1]}.bind("${a[2]}", ${name}, "${key}")';
|
||||
exprs.push(Context.parse(bindExpr, getPosition(position)));
|
||||
null;
|
||||
case "locale":
|
||||
'new haxework.locale.LString("${[1]}")';
|
||||
case "code":
|
||||
a[1];
|
||||
case "this":
|
||||
|
||||
@@ -2,7 +2,6 @@ package haxework.net;
|
||||
|
||||
import promhx.Deferred;
|
||||
import promhx.Promise;
|
||||
import haxe.Json;
|
||||
import haxe.Timer;
|
||||
import flash.net.URLRequestMethod;
|
||||
import flash.events.ProgressEvent;
|
||||
@@ -79,41 +78,7 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
||||
return this.promise();
|
||||
}
|
||||
|
||||
#if (openfl && lime)
|
||||
private function fromAssets(url:String):Promise<T> {
|
||||
try {
|
||||
var path:String = url.substring(9);
|
||||
// ToDo: get text resources with getText method
|
||||
var extension:String = path.substring(path.lastIndexOf(".")+1, path.length);
|
||||
if (extension == "json" || extension == "txt") {
|
||||
var data:T = cast Json.parse(openfl.Assets.getText(path));
|
||||
resolve(data);
|
||||
return this.promise();
|
||||
} else if (extension == "png" || extension == "jpg" || extension == "jpeg") {
|
||||
var data:T = cast openfl.Assets.getBitmapData(path);
|
||||
resolve(data);
|
||||
return this.promise();
|
||||
}
|
||||
var bytes:ByteArray = openfl.Assets.getBytes(path);
|
||||
if (bytes == null) {
|
||||
throwError("Bytes is null for asset: " + path);
|
||||
return this.promise();
|
||||
} else {
|
||||
return fromBytes(bytes);
|
||||
}
|
||||
} catch (error:Dynamic) {
|
||||
throwError(error);
|
||||
return this.promise();
|
||||
}
|
||||
}
|
||||
#end
|
||||
|
||||
public function GET(url:String, data:Dynamic = null):Promise<T> {
|
||||
#if (openfl && lime)
|
||||
if (StringTools.startsWith(url, "%assets%")) {
|
||||
return fromAssets(url);
|
||||
}
|
||||
#end
|
||||
return request(url, URLRequestMethod.GET, data);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
package haxework.utils;
|
||||
|
||||
class Builder {
|
||||
|
||||
public static function build<T>(type:String, data:Array<Dynamic> = null):Null<T> {
|
||||
var clazz:Class<Dynamic> = Type.resolveClass(type);
|
||||
if (clazz != null) {
|
||||
var recipe:Dynamic = Type.createInstance(clazz, data == null ? [] : data);
|
||||
return cast recipe;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package haxework.utils;
|
||||
|
||||
class UrlUtil {
|
||||
|
||||
public static function parseParams(url:String):Map<String, String> {
|
||||
var result:Map<String, String> = new Map<String, String>();
|
||||
var tmp:String = url == null ? null : url.split("?")[1];
|
||||
if (tmp != null) {
|
||||
var tmpArr:Array<String> = tmp.split("&");
|
||||
for (item in tmpArr) {
|
||||
var itemArr:Array<String> = item.split("=");
|
||||
result.set(itemArr[0], itemArr[1]);
|
||||
}
|
||||
result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static function parseParamsDynamic(url:String, ?delimiter:String = "?"):Dynamic {
|
||||
var result:Dynamic = {}
|
||||
var tmp:String = url == null ? null : delimiter == "" ? url : url.split(delimiter)[1];
|
||||
if (tmp != null) {
|
||||
var tmpArr:Array<String> = tmp.split("&");
|
||||
for (item in tmpArr) {
|
||||
var itemArr:Array<String> = item.split("=");
|
||||
Reflect.setField(result, itemArr[0], itemArr[1]);
|
||||
}
|
||||
result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static function mergeParams(params1:Map<String, String>, params2:Map<String, String>):Void {
|
||||
for (key in params2.keys()) {
|
||||
params1.set(key, params2.get(key));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user