remove unused code
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "haxework",
|
"name": "haxework",
|
||||||
"url": "https://bitbucket.org/shmyga/haxework",
|
"url": "https://bitbucket.org/shmyga/haxework",
|
||||||
"license": "BSD",
|
"license": "MIT",
|
||||||
"tags": [
|
"tags": [
|
||||||
"flash",
|
"gui",
|
||||||
"openfl"
|
"layout",
|
||||||
|
"template"
|
||||||
],
|
],
|
||||||
"description": "Framework.",
|
"description": "Framework.",
|
||||||
"version": "0.9.0",
|
"version": "0.9.0",
|
||||||
@@ -15,7 +16,6 @@
|
|||||||
"classPath": "src/main",
|
"classPath": "src/main",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"promhx": "1.1.0",
|
"promhx": "1.1.0",
|
||||||
"openfl": "8.5.1",
|
|
||||||
"yaml": "1.3.0"
|
"yaml": "1.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package haxework.animate;
|
package haxework.animate;
|
||||||
|
|
||||||
import openfl.events.Event;
|
import flash.events.Event;
|
||||||
import flash.display.Stage;
|
import flash.display.Stage;
|
||||||
|
|
||||||
class Animate implements IAnimate {
|
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}")';
|
var bindExpr = 'haxework.provider.Provider.get(haxework.resources.IResources).${a[1]}.bind("${a[2]}", ${name}, "${key}")';
|
||||||
exprs.push(Context.parse(bindExpr, getPosition(position)));
|
exprs.push(Context.parse(bindExpr, getPosition(position)));
|
||||||
null;
|
null;
|
||||||
case "locale":
|
|
||||||
'new haxework.locale.LString("${[1]}")';
|
|
||||||
case "code":
|
case "code":
|
||||||
a[1];
|
a[1];
|
||||||
case "this":
|
case "this":
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package haxework.net;
|
|||||||
|
|
||||||
import promhx.Deferred;
|
import promhx.Deferred;
|
||||||
import promhx.Promise;
|
import promhx.Promise;
|
||||||
import haxe.Json;
|
|
||||||
import haxe.Timer;
|
import haxe.Timer;
|
||||||
import flash.net.URLRequestMethod;
|
import flash.net.URLRequestMethod;
|
||||||
import flash.events.ProgressEvent;
|
import flash.events.ProgressEvent;
|
||||||
@@ -79,41 +78,7 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
|||||||
return this.promise();
|
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> {
|
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);
|
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