Merge pull request #1526 from player-03/validation-types

Reduce clutter by merging related files.
This commit is contained in:
Josh Tynjala
2022-04-28 15:04:42 -07:00
committed by GitHub
8 changed files with 76 additions and 97 deletions

View File

@@ -1,7 +1,7 @@
package lime.tools;
typedef ApplicationData =
{
@:forward
abstract ApplicationData({
@:optional var file:String;
@:optional var init:String;
@:optional var main:String;
@@ -9,4 +9,16 @@ typedef ApplicationData =
@:optional var preloader:String;
@:optional var swfVersion:Float;
@:optional var url:String;
}) from Dynamic
{
@:noCompletion
public static var expectedFields:ApplicationData = {
file: "",
init: "",
main: "",
path: "",
preloader: "",
swfVersion: 0.0,
url: ""
};
}

View File

@@ -1,7 +1,7 @@
package lime.tools;
typedef MetaData =
{
@:forward
abstract MetaData({
@:optional var buildNumber:String;
@:optional var company:String;
@:optional var companyId:String;
@@ -10,4 +10,17 @@ typedef MetaData =
@:optional var packageName:String;
@:optional var title:String;
@:optional var version:String;
}) from Dynamic
{
@:noCompletion
public static var expectedFields:MetaData = {
buildNumber: "",
company: "",
companyId: "",
companyUrl: "",
description: "",
packageName: "",
title: "",
version: ""
};
}

View File

@@ -7,9 +7,6 @@ import lime.tools.Asset;
import lime.tools.AssetType;
import lime.tools.Dependency;
import lime.tools.HXProject;
import lime.tools._types.ApplicationDataType;
import lime.tools._types.MetaDataType;
import lime.tools._types.WindowDataType;
#if lime
import lime.utils.AssetManifest;
#end
@@ -442,11 +439,11 @@ class ProjectXMLParser extends HXProject
name = "packageName";
}
if (Reflect.hasField(ApplicationDataType.fields, name))
if (Reflect.hasField(ApplicationData.expectedFields, name))
{
Reflect.setField(app, name, value);
}
else if (Reflect.hasField(MetaDataType.fields, name))
else if (Reflect.hasField(MetaData.expectedFields, name))
{
Reflect.setField(meta, name, value);
}
@@ -859,7 +856,7 @@ class ProjectXMLParser extends HXProject
name = "packageName";
}
if (Reflect.hasField(MetaDataType.fields, name))
if (Reflect.hasField(MetaData.expectedFields, name))
{
Reflect.setField(meta, name, value);
}
@@ -2009,11 +2006,11 @@ class ProjectXMLParser extends HXProject
Reflect.setField(windows[id], "colorDepth", Std.parseInt(value));
default:
if (Reflect.hasField(WindowDataType.fields, name))
if (Reflect.hasField(WindowData.expectedFields, name))
{
Reflect.setField(windows[id], name, value == "true");
}
else if (Reflect.hasField(WindowDataType.fields, formatAttributeName(name)))
else if (Reflect.hasField(WindowData.expectedFields, formatAttributeName(name)))
{
Reflect.setField(windows[id], formatAttributeName(name), value == "true");
}

View File

@@ -1,7 +1,7 @@
package lime.tools;
typedef WindowData =
{
@:forward
abstract WindowData({
@:optional var width:Int;
@:optional var height:Int;
@:optional var x:Float;
@@ -31,4 +31,38 @@ typedef WindowData =
@:optional var minimized:Bool;
@:optional var maximized:Bool;
@:optional var hidden:Bool;
}) from Dynamic
{
@:noCompletion
public static var expectedFields:WindowData = {
width: 0,
height: 0,
x: 0.0,
y: 0.0,
background: 0,
parameters: "",
fps: 0,
hardware: false,
display: 0,
resizable: false,
borderless: false,
vsync: false,
fullscreen: false,
allowHighDPI: false,
alwaysOnTop: false,
antialiasing: 0,
orientation: Orientation.AUTO,
allowShaders: false,
requireShaders: false,
depthBuffer: false,
stencilBuffer: false,
title: "",
#if (js && html5)
element: null,
#end
colorDepth: 0,
minimized: false,
maximized: false,
hidden: false
};
}

View File

@@ -1,17 +0,0 @@
package lime.tools._types;
import lime.tools.ApplicationData;
class ApplicationDataType
{
public static var fields:ApplicationData =
{
file: "",
init: "",
main: "",
path: "",
preloader: "",
swfVersion: 0.0,
url: ""
}
}

View File

@@ -1,18 +0,0 @@
package lime.tools._types;
import lime.tools.MetaData;
class MetaDataType
{
public static var fields:MetaData =
{
buildNumber: "",
company: "",
companyId: "",
companyUrl: "",
description: "",
packageName: "",
title: "",
version: ""
}
}

View File

@@ -1,39 +0,0 @@
package lime.tools._types;
import lime.tools.WindowData;
class WindowDataType
{
public static var fields:WindowData =
{
width: 0,
height: 0,
x: 0.0,
y: 0.0,
background: 0,
parameters: "",
fps: 0,
hardware: false,
display: 0,
resizable: false,
borderless: false,
vsync: false,
fullscreen: false,
allowHighDPI: false,
alwaysOnTop: false,
antialiasing: 0,
orientation: Orientation.AUTO,
allowShaders: false,
requireShaders: false,
depthBuffer: false,
stencilBuffer: false,
title: "",
#if (js && html5)
element: null,
#end
colorDepth: 0,
minimized: false,
maximized: false,
hidden: false
}
}

View File

@@ -10,9 +10,6 @@ import hxp.*;
import lime.system.CFFI;
import lime.tools.HXProject;
import lime.tools.*;
import lime.tools._types.ApplicationDataType;
import lime.tools._types.MetaDataType;
import lime.tools._types.WindowDataType;
import sys.io.File;
import sys.io.Process;
import sys.FileSystem;
@@ -1863,9 +1860,9 @@ class CommandLineTools
var fieldValue = Reflect.field(project, field);
var typeValue:Dynamic = switch (field)
{
case "app": ApplicationDataType.fields;
case "meta": MetaDataType.fields;
case "window": WindowDataType.fields;
case "app": ApplicationData.expectedFields;
case "meta": MetaData.expectedFields;
case "window": WindowData.expectedFields;
default: fieldValue;
};
@@ -2133,9 +2130,9 @@ class CommandLineTools
var fieldReference = Reflect.field(overrides, fieldName);
var typeValue:Dynamic = switch (fieldName)
{
case "app": ApplicationDataType.fields;
case "meta": MetaDataType.fields;
case "window": WindowDataType.fields;
case "app": ApplicationData.expectedFields;
case "meta": MetaData.expectedFields;
case "window": WindowData.expectedFields;
default: fieldReference;
};